Перейти к основному содержимому

Многофакторная аутентификация

Что такое многофакторная аутентификация (MFA)?​


Многофакторная аутентификация (MFA) — то метод защиты, при котором пользователь должен подтвердить свою личность с помощью двух или более факторов аутентификации. Этими факторами могут быть:

  • что-то, что пользователь знает (например, пароль),
  • что-то, что у него есть (например, телефон или токен),
  • или что-то, что является его биометрической особенностью (например, отпечаток пальца).

MFA повышает безопасность вашего сайта YooLearn, поскольку злоумышленнику сложнее одновременно скомпрометировать несколько факторов доступа.

Управление многофакторной аутентификацией​


В разделе "Администрирование" → "Плагины" → "Инструменты администрирования" → "Управление МФА" вы можете включить MFA, установив флажок "Плагин МФА включен".

Если вы настраиваете MFA для своего сайта впервые, рекомендуем ознакомиться с разделом Рекомендациями и примерами настроек, чтобы упростить процесс для пользователей.

Веса и факторы​

В разделе "Администрирование" → "Плагины" → "Инструменты администрирования" → "Управление МФА" вы можете увидеть список доступных факторов и выбрать те, которые будут использоваться для MFA на вашем сайте.

Каждому фактору присвоены баллы (вес), и пользователи должны набрать в сумме 100 баллов, чтобы получить возможность входа. Настраивая несколько факторов и регулируя их вес, вы можете создавать сложные и гибкие правила многофакторной аутентификации.

Например, вы можете задать два фактора по 100 баллов каждый, если хотите предоставить пользователям выбор метода аутентификации. Или же можно установить два фактора по 50 баллов — в этом случае пользователи должны будут пройти оба этапа проверки для входа.

Во время процесса входа сначала проверяются факторы, не требующие действий пользователя (например, IP-адрес или роль). Затем оставшиеся факторы оцениваются в порядке убывания их веса до тех пор, пока либо сумма баллов не достигнет порога входа (100), либо пока не будут проверены все факторы (в этом случае доступ будет запрещён).

Доступные факторы аутентификации​

Стандартные факторы аутентификации​

Это хорошо известные, привычные факторы аутентификации, используемые во многих продуктах и программном обеспечении:

Электронная почта
Этот фактор требует от пользователей ввода кода, полученного по электронной почте в процессе входа. При попытке входа система генерирует уникальный временный код и отправляет его на зарегистрированный email пользователя. Затем пользователь должен ввести этот код вместе с паролем для успешного завершения входа. Срок действия кода ограничен и настраивается, что предотвращает его использование для несанкционированного доступа.

Приложение для аутентификации
Этот фактор использует мобильное приложение для генерации временного кода. Во время входа система запрашивает у пользователя код, сгенерированный в приложении, в дополнение к паролю. Код периодически меняется, исключая возможность его повторного использования. Пользователь должен самостоятельно установить приложение и настроить этот фактор.

Аппаратный ключ безопасности
Этот фактор использует физические устройства, такие как USB/NFC-ключи или биометрические данные (например, отпечатки пальцев). При входе пользователь должен подтвердить свою личность с помощью ключа. Настройка этого фактора выполняется пользователем вручную.

Диапазон IP-адресов
Этот фактор проверяет IP-адрес пользователя, обеспечивая повышенную безопасность при доступе с доверенной сети. Не требует предварительной настройки со стороны пользователя — администратор может разрешить полный доступ для определённой сети.

SMS на мобильный телефон
Этот фактор требует наличия телефона с возможностью получения SMS. При входе система отправляет одноразовый код на зарегистрированный номер, который нужно ввести вместе с паролем. Пользователь должен самостоятельно настроить этот метод. Подробнее о СМС-шлюзов можно узнать отдельно.

Факторы фильтрации пользователей​

Эти факторы позволяют легко создавать группы пользователей, для которых многофакторная аутентификация (MFA) будет обязательной или необязательной.

Не администратор
Этот фактор требует MFA только для администраторов, не затрагивая остальных пользователей. Он присваивает баллы всем, кто не является администратором.

Тип аутентификации
Позволяет определённым пользователям пропускать дополнительные шаги аутентификации в зависимости от метода входа (например, SAML через ADFS, который уже обеспечивает высокий уровень защиты).

Роль
Должен использоваться в сочетании с другими факторами. Позволяет указать, какие роли (например, администраторы или менеджеры) обязаны проходить MFA, в то время как другие (студенты) могут её избежать.

Глобальные группы Аналогично роли, но применяется к заранее определённым группам пользователей. Требует комбинации с другими факторами.

Возможности пользователя Проверяет наличие у пользователя системной возможности factor/capability:cannotpassfactor. Если возможность отсутствует — пользователь получает баллы и может пропустить MFA. Например:

  • Менеджерам назначается эта возможность, и при включённом Email-факторе они обязаны использовать его.
  • Студенты без этой возможности могут войти без MFA.

Администраторы по умолчанию имеют все возможности, включая factor/capability:cannotpassfactor, но дополнительная настройка может разрешить им получать баллы для обхода MFA.

Другие факторы​

Эти факторы обеспечивают дополнительную гибкость и контроль над процессом аутентификации.

Доверенное устройство: Этот фактор позволяет пользователям отмечать устройство как доверенное при входе с MFA. Как только устройство помечено как доверенное, пользователи могут пропускать MFA в течение указанного периода времени при входе с этого устройства.

Для эффективной реализации этой функции присвойте данному фактору 100 баллов.

Льготный период: Этот фактор особенно важен при включении факторов, требующих предварительной настройки со стороны пользователя, таких как приложение-аутентификатор или security-ключ. Он позволяет пользователям входить в систему без прохождения многофакторной аутентификации (MFA) в течение определенного времени, предоставляя буферный период для настройки дополнительных факторов аутентификации. Если пользователь все еще находится в льготном периоде при переходе на первую страницу после входа (независимо от того, использовал ли он льготный режим как фактор входа), уведомление проинформирует его о продолжительности оставшегося льготного периода и возможной необходимости настроить дополнительные факторы, чтобы избежать блокировки аккаунта после его окончания.

Для эффективной реализации этой функции присвойте данному фактору 100 баллов. Чтобы получить баллы за этот фактор, в процессе входа не должно быть других факторов, требующих взаимодействия с пользователем. Разместите этот фактор в конце списка, чтобы сначала учитывались все остальные.

Если льготный период истекает, а пользователи не настроили свои методы аутентификации, они не смогут войти на ваш сайт. Вы можете продлить льготный период, чтобы разрешить им вход, или временно включить другие факторы, например, диапазон IP-адресов или роль.

Отсутствие других факторов: Этот фактор позволяет пользователям входить в систему, если они не настроили никакие другие факторы MFA. Например, если вы хотите предложить MFA пользователям, но не делать его обязательным, присвойте 100 баллов фактору «отсутствие других факторов», чтобы разрешить вход тем, кто не хочет использовать MFA. Как только для пользователя будет настроен другой фактор, он больше не будет получать баллы за этот.

Настройки пользователя​

Если вы включите факторы "Приложение-аутентификатор" и "Ключ безопасности", ваши пользователи должны будут самостоятельно настроить многофакторную аутентификацию (MFA). Настройки аутентификации доступны через меню пользователя: "Администрирование" → "Плагины" → "Инструменты администрирования" → "Управление МФА". Там они смогут добавить и управлять своими приложениями-аутентификаторами или ключами безопасности, а также отозвать доступ к любым ранее настроенным факторам.

Важно: пользователь не сможет отозвать фактор, если у него не настроен хотя бы один другой. Это снижает риск блокировки пользователя без возможности аутентификации.


Оригинал: https://docs.moodle.org/502/en/Multi-factor_authentication