Двухфакторная аутентификация для серверов Linux
Вход в Linux со вторым фактором обеспечивает PAM-адаптер Simple2FA. Он устанавливается на сервер или рабочую станцию и обращается к бэкенду локального инстанса по HTTPS. Где именно будет запрашиваться второй фактор, определяет то, в какие PAM-стеки добавлена строка адаптера: локальный вход, SSH, RDP (xRDP) или выполнение команд sudo.
Каждая инструкция раздела самодостаточна: ресурс в панели, установка адаптера, настройка PAM и проверка входа описаны на странице целиком. Выберите свою систему и пройдите инструкцию от начала до конца.
Общее для всех инструкций этого раздела:
- Ресурс в панели — с протоколом HTTPS. Его ключ указывается в файле конфигурации адаптера
/etc/simple2fa/s2fa_conf.toml, там же — адрес бэкенда локального инстанса (local-backend), а не панели администратора. Ключ RADIUS-ресурса и ключ организации для адаптера не подходят. - Установка — из комплекта поставки: архив с модулем под обе архитектуры и установщиком
install.sh, который сам находит каталог модулей PAM и создаёт каталоги конфигурации и журнала. Требования к хосту: x86_64 или aarch64, glibc 2.28 или новее. - Режим
SendPasswordопределяет, кто проверяет первый фактор. Приtrueпароль передаётся в Simple2FA и проверяется по каталогу организации; приfalseпароль проверяет ОС и на сервер не передаётся. От режима зависит и место строки адаптера в PAM-стеке: приfalseона идёт после штатной проверки пароля, приtrue— вместо неё. - Способ подтверждения задаётся параметром
Method—auto,push,telegram,maxилиotp. Для отдельного сервиса его перекрывает аргументmethod=в строке PAM: на одном хосте вход по SSH можно подтверждать уведомлением, аsudo— кодом. - Для проверки используется логин пользователя ОС, и пользователь с таким логином должен быть в Simple2FA. В каталоге организации он обязан быть только при
SendPassword = true; приfalseподойдёт и локальная учётная запись Linux, заведённая в панели вручную. - Общие стеки (
common-auth,system-auth,password-auth) подключаются к большинству сервисов системы: перед изменением делайте резервную копию файла и держите открытой активную root-сессию. - Вход по SSH-ключу выполняется в обход PAM-стека — чтобы требовать и ключ, и второй фактор, цепочка методов задаётся в конфигурации OpenSSH.
- Диагностика — журнал адаптера
/var/log/simple2fa/simple2fa.logи syslog с идентификаторомsimple2fa_pam, режимDebug = trueв конфигурации и журнал «Попытки авторизации».
Инструкции по системам
-
Локальный вход через Fly, SSH и xRDP.
-
Общие стеки
system-authиpassword-auth, SSH, xRDP иsudo. -
Локальные пароли
pam_tcb, SSH и вход по ключу, xRDP и группаtsusers. -
Общий стек
common-auth, SSH и xRDP. -
Общие стеки RHEL-семейства, SSH, вход по ключу и xRDP.
Инструкции по сценариям
-
Второй фактор при подключении по SSH.
-
Подтверждение при выполнении привилегированных команд.
-
Один ресурс для всех серверов, автоматизированная установка адаптера и схема с входным сервером (бастионом).
-
Подключение без PAM-адаптера — штатным модулем pam_radius к встроенному RADIUS-серверу.