Настройка Аутентификации Openvpn Через Active Directory В Centos 7

Представим, что OpenVPN у нас уже настроен, и мы решили сделать двухфакторную аутентификацию, включающую проверку логина, пароля и членства пользователя в группах AD. Традиционный openvpn-auth-ldap.so не существует в CentOS 7, поэтому давайте рассмотрим вариант с использованием PAM (openvpn-plugin-auth-pam.so).

1. Добавьте в конфиг клиента строку, чтобы клиент при подключении запрашивал логин и пароль:

  
  
  
   

auth-user-pass

2. Добавьте в конфиг сервера строку, включающую аутентификацию в OpenVPN через PAM:

plugin /usr/lib64/openvpn/plugins/openvpn-plugin-auth-pam.so openvpn

3. Добавьте политику OpenVPN в PAM:

echo 'account required pam_ldap.so auth required pam_ldap.so' >> /etc/pam.d/openvpn

3. Установите и включите nslcd — этот модуль будет получать запросы от PAM и обращаться с ними к AD.

yum install nss-pam-ldapd -y systemctl enable nslcd

5. Теперь редактируем параметры в /etc/nslcd.conf, чтобы они соответствовали примеру:

uri ldap://dc1.contoso.com base dc=contoso,dc=com binddn CN=ldapquery,OU=ServiceAccounts,OU=DomainUsers,DC=contoso,DC=com bindpw P@ssw0rd pagesize 1000 referrals off filter passwd (&(objectClass=user)(!(UserAccountControl:1.2.840.113556.1.4.803:=2))(!(objectClass=computer))(memberOf=CN=VPNUsers,OU=Groups,DC=contoso,DC=com)) map passwd uid sAMAccountName

bindn — это путь к учетной записи, которая будет подключаться к AD. Фильтр проверяет, отключен ли пользователь и является ли он членом указанной группы.

В общем, это очень поможет на этом этапе настройки.

AD-проводник .

6. Запустите nslcd в режиме консольной отладки.



nslcd -d

и пытаюсь подключиться через OpenVPN. Если возникнут ошибки, они будут сразу видны.

Если все в порядке, запустите демон nslcd:

systemctl start nslcd

7. Готово! Теги: #настройка Linux #аутентификация #active каталог #Active Directory #ldap

Вместе с данным постом часто просматривают: