
В связи с этимсвязьдля аутентификации пользователя/пароля необходимо добавить в файл конфигурации сервера строку ниже.
plugin /usr/share/openvpn/plugin/lib/openvpn-auth-pam.so login
login
Но в ссылке не указано, как именно заполнять файл .
У меня Ubuntu 18.04.
решение1
PAM означаетПодключаемые модули аутентификации, является системной инфраструктурой аутентификации и авторизации. Она может использовать файл, базу данных, все, что вы настроили как хранилище паролей. Она может даже использовать для аутентификации не только пароли (например, OTP и т. д.); она может выполнять двухфакторную аутентификацию, ссылаться на внешнюю доверенную третью сторону (например, Kerberos) и т. д. В простейшем случае она используеттеньфайл для хранения зашифрованных паролей пользователей системы.
openvpn-auth-pam
модуль позволяет вам аутентифицировать одноранговые узлы OpenVPN, используя эту системную структуру аутентификации. login
здесь означает службу PAM, которую будет использовать ваш OpenVPN. Вероятно, у вас уже есть некоторые службы, например, system-auth
используется для локальных пользователей. Посмотрите /etc/pam.d/
файлы, чтобы почувствовать, как настроен PAM, а также, пожалуйста, прочтите его руководства.
Вы обнаружите, что login
служба по умолчанию просто ссылается на system-auth
. Чтобы использовать это как есть, сначала создайте локальных системных пользователей и задайте их пароли. Затем добавьте --auth-user-pass
опцию в клиентские конфигурации, либо с именем файла учетных данных, либо без него (тогда она будет запрашивать учетные данные в интерактивном режиме). man openvpn
Подробности см. в разделе .
Наконец, не забывайте всегда сначала использовать аутентификацию на основе сертификатов. Каждый VPN-пир должен иметь свою собственную уникальную пару сертификат/ключ. Аутентификация по имени пользователя/паролю должна рассматриваться только как дополнительная мера безопасности. И лучше не использовать функцию `duplicate-cn'.