Я установил сервер OpenVPN на Debian / jessie, который использует аутентификацию пользователя / пароля (полученную через LDAP), чтобы предоставить моим пользователям доступ к VPN.
Программа установки намеренно не использует сертификаты клиентов.
Конечно, у сервера есть сертификат с именем хоста. vpn.example.com
как предмет.
Чтобы инициировать сеанс TLS, сервер и клиенты используют общий CA
, который используется для подписи сертификата сервера.
До сих пор я настраивал свой собственный PKI для подписи собственных сертификатов сервера и делился своим открытым ключом CA со всеми клиентами.
Это кажется мне громоздким, так как мне придется раздать новый CA
сертификат для всех клиентов, когда срок действия сертификата истекает. Это также требует, чтобы я раздал по крайней мере два файла: саму конфигурацию и сопроводительный сертификат, что делает развертывание пользователями более подверженным ошибкам (в отличие от простого: «скопируйте этот файл конфигурации в этот каталог»).
Вместо этого я хотел бы использовать некоторую общедоступную, хорошо известную PKI (например, let-encrypt / ACME) для подписи сертификата моего сервера. Поскольку все клиенты уже принимают Let-encrypt, это должно позволить клиентам аутентифицироваться с помощью только их имя пользователя / пароль (и без «токена», как CA-ключ).
К сожалению, похоже, что OpenVPN требует явного CA-certificate
(как на стороне сервера, так и на стороне клиента).
Есть ли способ заставить openvpn доверять сертификату сервера, если он был подписан каким-то центром сертификации, который уже является доверенным для всей системы?