OpenVPN - только аутентификация по паролю


11

При использовании клиента OpenVPN для Windows я могу войти на сервер OpenVPN только с именем пользователя и паролем. Я не могу понять, как сделать то же самое в Ubuntu. Кажется, требуется какой-то сертификат.

Есть идеи, как пройти аутентификацию на сервере OpenVPN, используя только имя пользователя и пароль?

Ответы:


5

Вы можете аутентифицироваться, используя имя пользователя / пароль совершенно без сертификата сервера / CA. Тем не менее, я настоятельно рекомендую его настройку , чтобы проверить его с вашим сертификатом CA для предотвращения Man-In-The-Middle атак.

Без какой-либо проверки сервера любой может выдать себя за ваш сервер OpenVPN и просто принять ваше имя пользователя / пароль. Результаты:

  • Злоумышленник может перехватить весь трафик. Поскольку вы не проверяете сервер, к которому подключаетесь, любой может заявить, что он ваш сервер в общедоступной сети (или частной сети, контролируемой злоумышленником).
  • Атакующий знает вашу комбинацию имени пользователя и пароля. Очень и очень плохо, если вы используете этот же пароль и для других вещей.

В Network Manager он работает нормально без CA Cert, как показано ниже, но, пожалуйста, не используйте его так! Если вы не используете какой-либо сертификат сервера / CA в Windows, вы действительно уязвимы для вышеуказанных атак.

введите описание изображения здесь


Это не работает на Ubuntu 16.04. Кнопка «Сохранить» будет недоступна до тех пор, пока вы не выберете сертификат
Лев

1
@leo О, это очень хорошие новости. Это предотвращает еще один случай небезопасных конфигураций! :-)
gertvdijk

3

Я нашел ответ здесь: http://openvpn.net/index.php/open-source/documentation/howto.html#auth

Помните, вам все еще нужно иметь сертификат сервера

Использование аутентификации по имени пользователя / паролю в качестве единственной формы аутентификации клиента

По умолчанию использование на сервере плагина auth-user-pass-verify или плагина для проверки имени пользователя / пароля позволит включить двойную аутентификацию, требующую успешной аутентификации клиента-сертификата и имени пользователя / пароля для аутентификации клиента.

Хотя это не рекомендуется с точки зрения безопасности, также возможно отключить использование клиентских сертификатов и принудительно выполнять только аутентификацию по имени пользователя и паролю. На сервере:

client-cert-not-required Такие конфигурации обычно также должны устанавливать:

username-as-common-name, который скажет серверу использовать имя пользователя для целей индексации, так как он будет использовать общее имя клиента, который проходил аутентификацию через сертификат клиента.

Обратите внимание, что client-cert-not-required не устранит необходимость в сертификате сервера, поэтому клиент, подключающийся к серверу, который использует client-cert-not-required, может удалить директивы cert и key из файла конфигурации клиента, но не может директива ca, потому что клиенту необходимо проверить сертификат сервера.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.