В системе предусмотрена защита формы входа административных пользователей от подбора или компрометации пароля: после ввода логина и пароля пользователю необходимо ввести код, полученный по электронной почте, в SMS или в приложении (двухфакторная аутентификация, 2FA).
Для отправки проверочного кода в SMS необходимо настроить модуль отправки SMS.
Управление двухфакторной аутентификацией производится в разделе панели администрирования «Настройки → Безопасность → Защита входа в систему → Двухфакторная аутентификация». По умолчанию она отключена.
Вы можете установить двухфакторную аутентификацию для следующих типов пользователей:
Установите эту настройку в зависимости от политики безопасности. Например, если в проекте будет много административных пользователей с разными полномочиями и потенциальные потери от компрометации пароля будут ощутимы — целесообразно выбрать последний вариант.
Далее установите следующие параметры:
Далее установите способ проверки (отправки кода).
При выборе этого способа подтверждения после каждого ввода логина и пароля каждым пользователем, подпадающим под установленную политику безопасности, система отправит на его почту проверочный код и выведет поле для его ввода.
SMS
При выборе этого способа система отправит проверочный код при помощи модуля отправки SMS-сообщений. Убедитесь, что в таблице пользователей есть текстовое поле с форматом «телефон». Также после сохранения формы на следующей странице вы увидите список пользователей, подпадающих под изменения, с пометкой об отсутствии телефона в их карточке. Всем пользователям необходимо будет ввести телефон, иначе они не смогут войти.
TOTP (Time-based One-time Password Algorithm, алгоритм создания одноразовых паролей)
Для этого способа аутентификации каждому пользователю необходимо будет установить на мобильный телефон приложение (например, Яндекс Ключ или Google Authenticator). При первом входе пользователю надо будет добавить аккаунт (отсканировать QR-код и ввести на сайте код с телефона), и при каждом последующем входе после ввода логина и пароля открывать приложение и вводить код из него.
Если в форме установлен какой-либо способ проверки, после отправки формы пользователю будет отправлен проверочный код этим же способом (электронная почта, SMS или приложение TOTP). В варианте TOTP при первом подключении пользователь сможет добавить аккаунт в приложение. Также на странице будут выведены все пользователи, которых затронет изменение. После ввода кода и проверки списка пользователей нажмите «Сохранить», чтобы изменения вступили в силу.
Если административный пользователь с правами директора или супервизора (роли, которым доступна настройка второго фактора) о какой-либо причине не может ввести второй фактор (смена телефона, его недоступность и пр.), но у него есть доступ к файловой системе проекта, он может добавить исключение применения проверки второго фактора для себя (или другого пользователя). Для этого в файл /netcat/modules/default/function.inc.php
необходимо добавить строчку:
nc_security_2fa::bypass('логин или идентификатор пользователя');
Для добавления исключений для нескольких пользователей их можно перечислить через запятую, либо вызвать метод nc_security_2fa::bypass()
несколько раз.
Для временного отключения двухфакторной аутентификации для всех пользователей передайте в метод строку '*'
:
nc_security_2fa::bypass('*');
Обязательно уберите вызов nc_security_2fa::bypass()
после того, как работа двухфакторной аутентификации будет налажена!
Заблокированного пользователя можно разблокировать на странице редактирования его профиля в панели управления («Пользователи → Список пользователей», нажмите на логин пользователя).