@DuD

Возможно ли настроить аутентификацию OpenVPN по сертификату+ldap?

Настроил OpenVPN на аутентификацию по логину и паролю через ldap.
Теперь проявилась проблема, клиент с сертификатом напр. "test1" может аутентифицироваться в ldap под "test2".
Т.е. OpenVPN не проверяет соответствие Common Name сертификата и логина который вводит юзер, возможно ли это исправить?

OpenVPN 2.3.10
+ openvpn-auth-ldap plugin
  • Вопрос задан
  • 224 просмотра
Пригласить эксперта
Ответы на вопрос 2
@mureevms
Насколько мне известно, нельзя. Но это не косяк, который требует исправления, это фича, поскольку имя ключа нужно для идентификации это ключа центром авторизации и идентификации пользователя. Поскольку второе Вы делегируете LDAP серверу, то иметь по ключу на каждого пользователя не имеет смысла. Вообще не имеет. Удобнее выпустить один ключ и раздать его всем пользователям, а доступом управлять при помодщи групп со стороны LDAP.
Ответ написан
@younghacker
Никогда не решал такую задачу, но я бы двигался в направлении скрипта аутентификации.
Нужно найти или написать простой shell скрипт который сравнит LDAP имя и CommonName.
И в случае несоответствия возвращать ошибку. При этом можно делать запись в журнал и отправлять оповещение администратору VPN.

Возможно openvpn-auth-ldap нужно будет отключить и проводить валидацию логина пользователя и проверку соответствий имени с commonname в его сертификате на стороне скрипта.
--auth-user-pass-verify /etc/openvpn/scripts/scriptname.sh file
--tmp-dir /dev/shm
Я бы внимательно проанализировал что делает --username-as-common-name опция. Не поможет ли она решить всё и сразу.

Думаю что таким образом вашу задачу можно решить.

Либо можно сделать патч для openvpn-auth-ldap и добавить опцию в конфиг.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы