Установка модуля PAM Radius в Ubuntu 22.04 LTS
Содержание:
- Предварительные требования
- Установка и настройка модуля PAM
- Включение PAM в SSH
- Настройка 2FA в SSH
- Настройка 1FA в SSH
- Включение 2FA для локального входа в Ubuntu
- Включение 2FA (PUSH) для RDP подключения
- Устранение проблем и проверка работы
Предварительные требования:
1. Ubuntu 22.04 в домене Active Directory.
2. Выданные на доменного пользователя (администратора) права входа под root и доступ по SSH. Обученные аутентификаторы (OTP/PUSH) в uc/mc под данным пользователем.
3. Настроенные компоненты Indeed: Indeed AM Server и NPS Radius Extension.
4. Для использования аутентификации с помощью PUSH, требуется предварительно настроенный Indeed Key сервер.
5. Выполнена установка и настройка роли Служба политики сети и доступа (Network Policy and Access Services (NPS)), возможна установка роли на сервере Indeed AM.
6. Создана сетевая политика, политика запросов на подключение, определен метод аутентификации по-умолчанию.
7. Задан IP-адрес клиента, либо указана подсеть (например ip/24) для диапазона клиентов Radius (Linux ПК) со стороны NPS Radius Server:

8. На сервере NPS, включена политика: Indeed ID > Radius > SoftwareTOTP > Challenge-Response: Сообщение пользователю "OTP "

Обновляем все компоненты на Ubuntu: apt-get update -y && apt-get upgrade -y && apt-get dist-upgrade -y
Версия релиза: lsb_release -a
No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 22.04.3 LTS Release: 22.04 Codename: jammy
Установка и настройка модуля PAM:
sudo apt install libpam-radius-auth

Настройте подключение к Radius серверу. Откройте и отредактируйте файл, где задается подключение к Radius серверу sudo nano /etc/pam_radius_auth.conf
Прописываем IP-адрес Radius-сервера, общий секрет и таймаут, обязательно удалив или закомментировав лишние строки, оставив целевой сервер:
10.10.10.12 secret 60

Включение PAM в SSH
Делаем резервную копию файла sshd_config: sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup
Откройте для редактирования файл с настройками SSH: sudo nano /etc/ssh/sshd_config
В файле включите следующие настройки: KbdInteractiveAuthentication yes (ChallengeResponseAuthentication yes – для версии Ubuntu 20.04) AuthenticationMethods keyboard-interactive UsePAM yes
Настройка 2FA в SSH:
Делаем резервную копию файла /etc/pam.d/sshd sudo cp /etc/pam.d/sshd /etc/pam.d/sshd.backup
Редактируем файл: sudo nano /etc/pam.d/sshd
Комментируем: #@include common-auth
Добавляем: # 2FA OTP/PUSH Auth Settings auth required pam_radius_auth.so
В результате получаем:

Перезапускаем службу ssh и проверяем статус: sudo systemctl restart ssh sudo systemctl status ssh
Подключаемся под доменными пользователями по ssh:
ssh admin-indeed@indeed.local@10.10.10.28 1. Вводим доменный пароль. 2. В приложение Indeed Key придет PUSH уведомление, после подтверждения успешно отрывается сессия.

Подключаемся под доменным пользователем по ssh: ssh user6@indeed.local@10.10.10.28 Вводим доменный пароль. Необходимо ввести OTP-код из приложения Indeed Key.

Настройка 1FA в SSH:
Редактируем файл: sudo nano /etc/pam.d/sshd
Комментируем: #@include common-auth
Добавляем (применяем) параметр skip_passwd для пропуска ввода пароля: # 1FA OTP/PUSH Auth Settings auth required pam_radius_auth.so skip_passwd
В результате получаем:

Перезапустите службу ssh. sudo systemctl restart ssh sudo systemctl status ssh
Для включения 1FA аутентификации, со стороны NPS: В политике запросов на подключение > Параметры > Проверка подлинности Включить опцию: Принимать пользователей без проверки учетных данных

Подключаемся под доменным пользователем по ssh:
ssh admin-indeed@indeed.local@10.10.10.28 Доменный пароль вводить не требуется. В приложение Indeed Key придет PUSH уведомление.

Подключаемся под доменным пользователем по ssh: ssh user6@indeed.local@10.10.10.28 Доменный пароль вводить не требуется. Необходимо ввести OTP-код из приложения Indeed Key.

|