Настройка 2FA для Ubuntu
Автор Denis Prokopyev, Last modified by Denis Prokopyev на 30 июля 2026 04:26 PM

Предварительные требования:


Содержание:

  1. Установка РАМ модуля
  2. Настройка Radius для PAM модуля
  3. Настройка 2fa для ssh подключений
  4. Настройка 2fa для локального входа в Ubuntu
  5. Настройка 2fa для модуля xRDP
  6. Настройки со стороны агента FRA


Настройки со стороны Ubuntu:

1. Установка PAM модуля:

sudo apt install libpam-radius-auth

2. Настройка Radius для PAM модуля:


sudo  nano /etc/pam_radius_auth.conf

В файле необходимо указать адрес машины с агентом FRA, общий секрет и таймаут.

Таймаут рекомендуется выставить не менее 60 секунд, так как до момента прохождения 2fa FRA не вернёт ответ.
Неиспользуемые записи Radius серверов должны быть закомментированы.



3. Настройка 2fa для ssh подключений:

sudo nano /etc/ssh/sshd_config

В файле необходимо включить следующие настройки:

KbdInteractiveAuthentication yes  
(ChallengeResponseAuthentication yes – для версии Ubuntu 20.04)
AuthenticationMethods keyboard-interactive
UsePAM yes



Далее необходимо отредактировать файл конфигурации РАМ для SSHD:

sudo nano /etc/pam.d/sshd

В нём необходимо закомментировать настройку 

#@include common-auth

И указать следующее:

Для доменных пользователей:

auth required pam_radius_auth.so

Для локальных пользователей:


auth required pam_unix.so
auth required pam_radius_auth.so



Далее необходимо перезапустить SSHD и проверить статус службы, чтобы убедиться, что настройки выполнены корректно и служба успешно запустилась:

sudo systemctl restart ssh
sudo systemctl status ssh



4. Настройка 2fa для локального входа в Ubuntu:

sudo nano /etc/pam.d/common-auth

В нём необходимо указать аналогичные предыдущему пункту настройки, в зависимости от работы с локальными или доменными пользователями:


Для доменных пользователей:

auth required pam_radius_auth.so

Для локальных пользователей:


auth required pam_unix.so
auth required pam_radius_auth.so


Настройки отработают при следующем локальном входе в систему.

5. Настройка 2fa для модуля xRDP:

Модуль xRDP не поддерживает Challenge-Response, поэтому 2fa в этом сценарии реализуется только через PUSH технологию.

sudo nano /etc/pam.d/xrdp-sesman

Настройки аналогичны предыдущим пунктам, в зависимости от работы с доменными или локальными пользователями:

Для доменных пользователей:

auth required pam_radius_auth.so

Для локальных пользователей:

auth required pam_unix.so
auth required pam_radius_auth.so


Настройки отработают при следующем RDP подключении к системе.

6. Настройки со стороны агента FRA:

sudo nano <директория с файлами агента>/fra/clients.conf

В файле необходимо сделать запись Radius-клиента, IP адрес Ubuntu (или подсеть в формате CIDR) и общий секрет.



sudo nano <директория с файлами агента>/fra/config.ini

Необходимо добавить правило предварительной аутентификации c IP адресом Ubuntu, до записи rule[]=;;;;2.
В качестве примера указывается вход по PUSH.

Для доменных пользователей:

rule[]=<IP_адрес_Ubuntu>;;;p;2

Для локальных пользователей:

rule[]=<IP_адрес_Ubuntu>;;;p;0



Далее необходимо перезапустить агент FRA:

docker restart fra

В случае с правилами из примера выше, будет отправлен PUSH в приложение Indeed Key перед положительным ответом FRA агента, 
C PUSH можно предварительно убедиться в правильности настроек со стороны FRA, выполнив проверку и указав вместо OTP пароль пользователя.







(0 голос(а))
Эта статья полезна
Эта статья бесполезна