Интернет-справка ESET

Выберите тему

Конфигурация PAM

Настройка пользовательской области

1.Создайте пользовательскую область для пользователей, которые авторизуются с помощью модуля PAM.

2.При настройке клиента RADIUS в разделе Пользователи выберите пользовательскую область.


note

Пользовательская область и текущий домен AD

Если выбрана пользовательская область и модуль PAM отправляет «домен\имя пользователя» на сервер ESA RADIUS, то в пользовательской области создается пользователь с именем «домен\имя пользователя».

Если вы выбрали Текущий домен AD или Текущий домен AD и доверенные домены вместо пользовательской области и модуль 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-адрес сервера ESA RADIUS

test — это общий секрет клиента RADIUS, настроенного в веб-консоли ESA;

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


note

В /etc/ssh/sshd_config обязательно задайте для параметра ChallengeResponseAuthentication значение yes (да).

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), если только в ESA RADIUS не требуется второй фактор. Например, если для пользователя с защитой с помощью двухфакторной аутентификации включена аутентификация с помощью push-уведомлений, модуль PAM ожидает утверждения только от push-уведомления и не выдает запрос на ввод одноразового пароля.

Чтобы гарантировать, что при неудачной попытке использования первого фактора двухфакторная аутентификация запрашиваться не будет, измените auth required pam_unix.so на auth requisite pam_unix.so.

Некоторые интерфейсы входа, в том числе экран входа в macOS, не могут отображать отдельное поле для двухфакторной аутентификации. В таких случаях войти в систему могут только пользователи, использующие аутентификацию с помощью push-уведомлений (Push-уведомления в мобильном приложении), пользователи, не использующие двухфакторную аутентификацию, или пользователи, помещенные в список разрешенных IP-адресов. Чтобы обеспечить использование только Push-уведомлений в мобильном приложении без запроса OTP, даже если у пользователя включены дополнительные параметры двухфакторной аутентификации, добавьте в строку конфигурации фрагмент 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. Этот фрагмент кода позволяет всегда вводить МРК, если что-то пойдет не так (его рекомендуется использовать для критических сценариев, например, для входа SSH на удаленный сервер, к которому не удается получить доступ иным способом).

challenge_if_needed — никогда не запрашивает OTP при отправке "Push-уведомления в мобильном приложении". Таким образом, исключаются дополнительные запросы или поля OTP и повышается скорость входа.

challenge_never — никогда не запрашивает OTP.

В некоторых дистрибутивах Linux можно изменить диспетчер входа. Например, GDM поддерживает запросы дополнительных сведений.