Настройка 2FA для Rosa Linux
Автор Kirill Osipov, Last modified by Kirill Osipov на 09 апреля 2024 02:37 PM
|
Оглавление
- Предварительные требования
- Настройка на стороне NPS сервера и Indeed AM
- Установка и настройка модуля PAM
- Включение PAM в SSH
- Настройка 2fa в SSH
- Настройка 1fa в SSH
- Включение PAM для локального входа
- Настройка 2fa для локального входа
- Настройка 1fa для локального входа
- Включение PAM для rdp подключения
- Настройка 2fa для rdp подключения
- Настройка 1fa для rdp подключения
- Возможные проблемы и пути решения
Предварительные требования
Настройка на стороне Indeed AM NPS RADIUS Extension
- В оснастке Network Policy Server необходимо создать новый RADIUS Client, указав имя RADIUS Client’а, IP-адрес и общий секрет:

- Нужно также создать сетевую политику с необходимыми для Вас условиями подключения:

- Создадим новое приложение. В MC консоли, во вкладке “Приложения” нажмите кнопку “Добавить приложение”, в появившемся окне выберите модуль интеграции NPS RADIUS Extension и дайте название, нажмите кнопку “Создать”:


- Откройте созданное приложение, укажите IP-адрес RADIUS Client’а (тот же самый IP-адрес, что мы указывали в оснастке NPS) и нажмите сохранить:

- Далее откройте в MC консоли вкладку “Политики”, выберите политику (либо, если её нет, то создайте, а затем выберите её), нажмите кнопку “Добавить приложение” и выберите созданное ранее приложение:


- Во вкладке “Область действия” добавьте пользователей (можно также добавить группу из AD), которые в дальнейшем будут аутентифицироваться через Indeed AM:

Установка и настройка модуля PAM
- Выполняем обновление списков пакетов (с удалением проблемных пакетов, которые не обновить):
sudo dnf distro-sync --allowerasing
- Выполняем команду (установка требуемых для сборки инструментов):
sudo dnf install gcc make automake autoconf libtool pam-devel pam -y
- Скачиваем pam-модуль нужной версии, в данной инструкции используется версия 1.4.0:
wget https://freeradius.org/ftp/pub/freeradius/pam_radius-1.4.0.tar.gz
- Распаковываем скачанный архив:
tar -xzvf pam_radius-1.4.0.tar.gz
- Переходим в распакованный каталог:
cd pam_radius-1.4.0 или cd /home/<user>/pam_radius-1.4.0
- Выполняем команду:
sudo ./configure
- Выполняем команду:
sudo make
- Скопируем pam_radius_auth.so файл в каталог security:
- Для 32-разрядной системы:
sudo cp pam_radius_auth.so /lib/security/
- Для 64-разрядной системы:
sudo cp pam_radius_auth.so /lib64/security/
- Создадим каталог raddb:
sudo mkdir /etc/raddb/
- Копируем конфигурационный файл: “pam_radius_auth.conf” в созданный выше каталог и переименуем его в server:
sudo cp pam_radius_auth.conf /etc/raddb/server
- Отредактируем конфигурационный файл server, добавив ip-адрес NPS сервера, общий секрет, который мы указывали ранее, и таймаут:
sudo nano /etc/raddb/server

Включение PAM в SSH
- Сделаем backup конфигурационного файла “sshd_config”:
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup
- Откроем конфигурационный файл “/etc/ssh/sshd_config” и раскомментируем строки:
KbdInteractiveAuthentication yes
UsePAM yes

Примечание: Чтобы локальные пользователи или определенные пользователи на машине могли выполнять подключение в обход PAM модуля, рекомендуется настроить исключения, например, для локальной группы пользователей. Исключения можно настроить с помощью модуля “pam_succeed_if.so”. В данной инструкции примером группы выступает wheel с локальными администраторами
Настройка 2fa в SSH
- Сделаем backup конфигурационного файла “sshd”:
sudo cp /etc/pam.d/sshd /etc/pam.d/sshd.backup
- Откроем конфигурационный файл “/etc/pam.d/sshd”:
- Добавим строки:
auth [success=2 default=ignore] pam_succeed_if.so user notingroup wheel
auth [success=ok default=ignore] pam_localuser.so auth [success=1 default=ignore] pam_unix.so nullok_secure try_first_pass
auth required pam_radius_auth.so
- Закомментируем строки:
auth required pam_listfile.so item=user sense-deny file=/etc/ssh/denyusers
auth include system-auth

- Перезапускаем службу sshd:
sudo systemctl restart sshd
- В MC консоли, во вкладке “Политики”, открываем политику, а затем созданное ранее приложение. В нём, во вкладке “Приложения”, выберите метод аутентификации “2FA: Windows Password + Software TOTP” (в данном сценарии у пользователя заранее должен быть зарегистрирован аутентификатор Software TOTP и настроена политика Challenge\Response: сообщение пользователю):

- В оснастке NPS должна быть включена настройка “Проверять подлинность запросов на этом сервере”:
 |