Авторизация OpenVPN в AD

Автор: Admin | 06.02.2015

Настройка авторизации OpenVPN сервера в домене Active Directory на примере Debian 7 Wheezy


Осуществляется при помощи плагина openvpn-auth-ldap. Подразумевается, что сам OpenVPN уже работает и необходимо только прикрутить авторизацию. Настроить плагин получилось далеко не сразу, вся суть в правильной строке SearchFilter конфига подключения к AD. Если бы удалось найти рабочее решение на других ресурсах, то эта заметка не была бы написана.

Поставить:

aptitude install openvpn-auth-ldap

В конфиг сервера /etc/openvpn/server.conf добавить строки:

plugin /usr/lib/openvpn/openvpn-auth-ldap.so /etc/openvpn/ldap
username-as-common-name

Создать файл /etc/openvpn/ldap со следующим содержимым:

<LDAP>
        URL             ldap://192.168.0.1
        BindDN          vpn@domain.com
        Password        Password
        Timeout         15
        TLSEnable       no
</LDAP>

<Authorization>
        BaseDN          "ou=Users,dc=domain,dc=com"
        SearchFilter    "(&(objectCategory=person)(objectClass=user)(sAMAccountName=%u)(memberOf=CN=VPN,ou=Users,dc=domain,dc=com))"
</Authorization>

 

URL — адрес DC
BindDN — имя пользователя с правом чтения AD (обычный не привелегированный доменный пользователь).
Password — пароль этого пользователя.
BaseDN — контейнер в котором искать пользователей.
SearchFilter — фильтр, только при условии соблюдения которого, пользователю будет позволено соединиться. В данном случае, пользователь должен входить в доменную группу VPN.

Рестарт демона:

/etc/init.d/openvpn restart

В конфиге клиента добавить строку для запроса авторизации:

auth-user-pass

Если файл назван ldap.conf, то при каждом запуске в /var/log/syslog будет сыпаться ошибка:

ovpn-ldap: Options error: Unrecognized option or missing parameter(s) in /etc/openvpn/ldap.conf:1: LDAP (2.2.1)

Это происходит из-за того, что любой файл *.conf в директории /etc/openvpn/ демон считает своим конфигом и пытается запустить новый инстанс, парся его настройки. Естественно, синтаксис не верен и выходит данная ошибка. Во избежание ошибки следует сменить местонахождение файла и его путь в конфиге, например так /etc/openvpn/ldap/ldap.conf. Или просто переименовать, убрав расширение файла /etc/openvpn/ldap
Спасибо уважаемому yann за подсказку.

0

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *