Поиск по сайту:

Как настроить sudo для двухфакторной аутентификации с использованием pam-radius в Ubuntu и CentOS


На этой странице

  1. Настройте sudo на Centos/RHEL для двухфакторной аутентификации.
  2. Настройте sudo в Ubuntu для двухфакторной аутентификации.

Злоумышленники часто используют утерянные, украденные, слабые учетные данные или учетные данные по умолчанию для повышения своих привилегий после проникновения в вашу сеть. Хотя двухфакторная аутентификация может значительно уменьшить проникновение, существуют и другие способы проникновения, например вредоносное ПО. В этом руководстве показано, как добавить радиус в sudo для Centos 7 и Ubuntu 14.04 для двухфакторной аутентификации с сервером WiKID Strong Authentication. Использование pam-radius удобно тем, что позволяет вставить радиус-сервер, такой как Freeradius или NPS в Windows, чтобы вы могли выполнять авторизацию в своем каталоге, а затем аутентификацию на отдельном сервере двухфакторной аутентификации. Управление пользователями в центральном каталоге — очень хорошая практика безопасности. Обратите внимание, что, поскольку мы используем RADIUS, эта базовая настройка работает для всех систем 2FA корпоративного класса.

Настройте sudo на Centos/RHEL для двухфакторной аутентификации.

Мы начнем с RHEL/Centos 7.   Установите необходимые компоненты:

sudo yum -y install make gcc pam pam-devel

Получите последний код PAM RADIUS (1.4 на момент написания этой статьи):

wget ftp://ftp.freeradius.org/pub/radius/pam_radius-x.x.x.tar.gz

Соберите библиотеку:

tar -xzvf pam-radius-x.x.x.tar.gz
cd pam-radius-x.x.x
sudo ./configure
sudo make

Скопируйте библиотеку в нужное место:

cp pam_radius_auth.so /lib/security/

Или для 64-битной:

cp pam_radius_auth.so /lib64/security/

Создайте каталог конфигурации и скопируйте файл конфигурации под сервер имен:

sudo mkdir /etc/raddb
cp pam_radius_auth.conf /etc/raddb/server

Отредактируйте /etc/raddb/server и добавьте в этот файл IP-адрес вашего сервера RADIUS и общий секрет.

# server[:port] shared_secret      timeout (s)
127.0.0.1       secret             1
radius_server_IP    secret       3
#
# having localhost in your radius configuration is a Good Thing.

(Обратите внимание, что, хотя мы хотим, чтобы радиус в конечном итоге попал в цикл, вы также можете использовать свой сервер WiKID в качестве сервера радиуса, добавить этот блок Centos в качестве сетевого клиента на WiKID, перезапустить WiKID и все готово, или, по крайней мере, вы можете протестировать этот способ. Всегда полезно провести несколько небольших тестов по пути, просто не забудьте удалить их.)

Затем нам нужно указать sudo использовать радиус. Отредактируйте файл /etc/pam.d/sudo и замените \auth       include      system-auth\ на:

auth       required      pam_radius_auth.so

Вот и все для коробки Centos/RHEL 7. Та же установка работает и для 5 и 6.

Настройте sudo в Ubuntu для двухфакторной аутентификации

Далее идет сервер Ubuntu 14.04. Сначала установите pam-radius:

sudo apt-get install libpam-radius-auth

Настройте его также с сервером NPS, отредактировав файл /etc/pam_radius_auth.conf. Так что это то же самое, что и выше:

# server[:port] shared_secret      timeout (s)
127.0.0.1       secret             1
radius_server_IP   secret       3
#
# having localhost in your radius configuration is a Good Thing.

Отредактируйте файл /etc/pam.d/sudo и добавьте строку auth достаточный pam_radius_auth.so над строкой comm-auth:

auth       required   pam_env.so readenv=1 user_readenv=0
auth       required   pam_env.so readenv=1 envfile=/etc/default/locale user_readenv=0
auth sufficient pam_radius_auth.so
@include common-auth
@include common-account
@include common-session-noninteractive

Это для сервера Ubuntu.

Теперь каждый раз, когда администратор пытается использовать sudo, он должен вводить свой одноразовый пароль. PAM перенаправит имя пользователя и OTP на ваш сервер RADIUS или сервер WiKID для проверки.

Использование двухфакторной аутентификации для учетных записей администраторов — мощный инструмент для защиты вашей сети. Это может даже стать частью требований PCI DSS.