Двухфакторная аутентификация в RELS
Настройка локальной двухфакторной аутентификации с использованием временных паролей в операционной системе ROSA Enterprise Linux Server 6.6
Многофакторная аутентификация (МФА, англ. multi-factor authentication, MFA) — расширенная аутентификация, метод контроля доступа к компьютеру, в котором пользователю для получения доступа к информации необходимо предъявить более одного «доказательства механизма аутентификации». К категориям таких доказательств относят:
- Знание — информация, которую знает субъект. Например, пароль, пин-код.
- Владение — вещь, которой обладает субъект. Например, электронная или магнитная карта, токен, флеш-память.
- Свойство, которым обладает субъект. Например, биометрия, природные уникальные отличия: лицо, отпечатки пальцев, радужная оболочка глаз, капиллярные узоры, последовательность ДНК.
В данная инструкция позволяет настроить двухфакторную аутентификацию, проверяющую как «знание», так и «владение». Для проверки «знания» используется обыкновенный пароль. Для проверки «владения» здесь используется механизм временных одноразовых паролей (TOTP - Time-based One-time Password Algorithm). В реализации, настраиваемой в этой инструкции механизм работает следующим образом:
- Пользователь, которому требуется такой механизм, генерирует некий секрет
- Секрет передаётся на внешнее устройство (в данном случае либо в виде QR-кода, либо перепечатывается в текстовом виде)
- На основе полученного секрета внешнее устройство генерирует одноразовые временные пароли, меняющиеся раз в 30 секунд.
После настройки, сначала будет запрашиваться пароль, затем будет запрашиваться временный одноразовый пароль в качестве дополнительного фактора.
Применимость
В инструкции описаны установка и конфигурирование утилит для аутентификации с использованием временных паролей, действующих в течение 30 секунд (TOTP) для ROSA Enterprise Linux Server 6.6.
Примечания
В инструкции приводятся базовые настройки, нацеленные только на задачу, состоящую в настройке модуля PAM для двухфакторной аутентификации в Gnome Desktop Manager. При блокировке экрана или при использовании терминала аутентификация с данными настройками работать не будет. Отдельно описана настройка того же механизма для удалённого доступа по SSH. Для корректной работы приложения время на телефоне и на хосте должно быть синхронизировано. В инструкции # - приглашение у пользователя «root», $ - приглашение у пользователей отличных от «root». При копировании приведённых ниже команд, копировать данные символы не нужно.
Установка требуемых компонентов (компьютер)
Требуются права администратора. В терминале:
$ su # yum groupinstall 'Desktop' # yum install google-authenticator qrencode
Теперь хост нужно перезагрузить.
Установка требуемых компонентов (телефон)
На телефоне надо установить приложение FreeOTP Authenticator.
Настройка google-authenticator для определённого пользователя
Открываем терминал, заходим за пользователя, для которого нужно настроить аутентификацию. В терминале:
$ su - <имя_пользователя>
Настраиваем для него работу google-authenticator (далее приведен снимок экрана для получения представления о возможных настройках). В терминале:
$ google-authenticator
После генерации приложением QR-кода, на телефоне следует зайти в приложение FreeOTP и сканировать код. После сканирования, заходя в приложение FreeOTP можно будет получать временные пароли путём нажатия на иконку с названием логина.