Конфігурація PAM
Налаштування спеціальної області
1.Створіть спеціальну область для користувачів, які входять через модуль PAM.
2.Під час налаштування клієнта RADIUS виберіть спеціальну область у розділі Users.
Настроювана область і поточний домен AD Якщо вибрано настроювану область і модуль PAM надсилає "домен\ім’я користувача" на сервер ESA RADIUS, у настроюваній області буде створено користувача з іменем "домен\ім’я користувача". Якщо замість настроюваної області вибрано Current AD domain або Current AD domain and domains in trust і модуль PAM надсилає "домен\ім’я користувача" на сервер ESA RADIUS, то в області "домен" буде створено користувача з іменем "ім’я користувача". |
Модуль автентифікації PAM
1.Завантажте пакет PAM RADIUS tar.gz із веб-сайту https://freeradius.org/sub_projects/.
2.Видобудьте завантажений пакет, виконавши у вікні термінала таку команду:
tar xzvf pam_radius-release_2_0_0.tar.gz
3.Зберіть бібліотеку .so. Для цього у вікні термінала виконайте такі команди:
cd pam_radius-release_2_0_0
./configure
make
У Linux (наприклад, OpenSuse) залежно від результату виконання команди configure, можливо, доведеться інсталювати залежності.
sudo zypper install gcc make pam-devel
4.Скопіюйте створену бібліотеку в розташування модулів PAM за замовчуванням
Linux:
cp pam_radius_auth.so /lib/security
АБО
cp pam_radius_auth.so /lib64/security
Mac:
cp pam_radius_auth.so /usr/lib/pam
У OS X El Capitan і новіших версій це розташування захищено System Integrity Protection. Необхідно вимкнути його для команди копіювання.
5.Створіть файл конфігурації сервера з назвою server у каталозі /etc/raddb/. У цьому файлі введіть дані сервера RADIUS в такій формі:
<radius server>:<port> <shared secret> <timeout in seconds>
Приклад:
1.1.1.1 test 60
У цьому прикладі:
•1.1.1.1 означає IP-адресу сервера RADIUS ESA
•test — це спільний секрет клієнта RADIUS, налаштованого на консолі ESA Web Console
•60 — час очікування (в секундах) підтвердження push-сповіщення
6.Застосуйте відповідні дозволи безпеки до файлу конфігурації
chown root /etc/raddb
chown root /etc/raddb/server
chmod 600 /etc/raddb
chmod 600 /etc/raddb/server
Рекомендації щодо безпеки файлу конфігурації див. в темі ІНСТАЛЯЦІЯ. Параметри, які можна передати в бібліотеку див. в темі ВИКОРИСТАННЯ. Наприклад, для ідентифікації потенційних проблем можна використовувати параметр "debug".
Застосування модуля PAM
Модулі PAM можна використовувати для різних типів входу, наприклад login, sshd, su, sudo тощо. Список типів входу доступний у файлі /etc/pam.d/.
•sshd: віддалений вхід через SSH
Переконайтеся, що атрибут ChallengeResponseAuthentication має значення yes у файлі /etc/ssh/sshd_config. |
•sudo
•su
•common-auth: OpenSUSE (усі автентифікації)
•login: OpenSUSE (вхід на консоль)
•authorization: екран входу macOS
Щоб увімкнути двофакторну автентифікацію для будь-якої зі служб, наведених вище, додайте вказаний нижче рядок у відповідний файл конфігурації в /etc/pam.d:
auth required pam_radius_auth.so use_first_pass
У команді вище pam_radius_auth.so — це шлях до раніше налаштованого модуля PAM (або буде використовуватися "pam_radius_auth.so"). use_first_pass гарантує те, що модуль PAM не буде вимагати додаткового пароля (OTP), якщо RADIUS ESA не вимагає другого фактору. Наприклад, якщо для користувача із захистом 2FA увімкнено автентифікацію з використанням push-сповіщень, модуль PAM очікує тільки підтвердження push-сповіщення й не буде запитувати OTP.
Щоб не вимагати 2FA після помилки першого фактора, змініть auth required pam_unix.so на auth requisite pam_unix.so.
У деяких інтерфейсах входу (зокрема, на екрані входу macOS) неможливо показати окреме поле для двофакторної автентифікації (2FA). У цьому разі виконати вхід можуть тільки такі категорії користувачів: користувачі, які використовують автентифікацію за допомогою push-сповіщень (мобільну програму для push-сповіщень), користувачі без двофакторної автентифікації (2FA) і користувачі, які виконують вхід з IP-адрес у білому списку. Щоб використовувати тільки мобільну програму для push-сповіщень без OTP (навіть якщо для користувача ввімкнено додаткові параметри 2FA), додайте client_id=challenge_never у рядок конфігурації:
auth required pam_radius_auth.so use_first_pass client_id=challenge_never
Доступні значення для client_id:
•challenge_if_possible (Запитувати за можливості): параметр за замовчуванням завжди вимагатиме OTP, якщо в користувача ввімкнено будь-який тип OTP, навіть за умови успішного надсилання push-сповіщення в мобільній програмі.
•challenge_always: завжди запитувати OTP, навіть якщо на мобільну програму успішно надіслано push-сповіщення й для користувача не ввімкнуто жодного типу OTP. Дозволяє ввійти в MRK за наявності проблем (рекомендується для критичних сценаріїв, наприклад, вхід через SSH на віддалений сервер, до якого неможливо отримати доступ в інший спосіб)
•challenge_if_needed: ніколи не вимагати вводу OTP, якщо надсилається повідомлення про успішність надсилання push-сповіщення на мобільний пристрій. Це дозволяє уникнути додаткового запиту (поля) OTP й виконати вхід швидше.
•challenge_never: OTP ніколи не запитуватиметься.
У деяких дистрибутивах Linux легко можна змінити менеджер входу. Наприклад, gdm підтримує запит додаткової інформації.