Автор Тема: [Решено] Подключение win openvpn-клиента к linux-серверу  (Прочитано 16690 раз)

Оффлайн ApB

  • Участник
  • *
  • Сообщений: 412
Приветствую

Есть сервер openvpn на altlinux, к которому подключаются linux-клиенты.
К нему пробую цеплять клиента на win, в результате в логе при попытке соединения получаю следующее:
NOTE: --user option is not implemented on Windows
NOTE: --group option is not implemented on Windows
OpenVPN 2.4.8 x86_64-w64-mingw32 [SSL (OpenSSL)] [LZO] [LZ4] [PKCS11] [AEAD] built on Oct 31 2019
Windows version 6.2 (Windows 8 or greater) 64bit
library versions: OpenSSL 1.1.0l  10 Sep 2019, LZO 2.10
Enter Management Password:
WARNING: No server certificate verification method has been enabled.  See http://openvpn.net/howto.html#mitm for more info.
OpenSSL: error:140AB18E:SSL routines:SSL_CTX_use_certificate:ca md too weak
Cannot load certificate file C:\net\output.pem
Exiting due to fatal error

а вот конфиг, с которым подключаюсь:

remote 8.8.8.8 1194
client
dev tun
#proto udp
proto tcp
resolv-retry infinite # this is necessary for DynDNS
nobind
user nobody
group nogroup
persist-key
persist-tun
ca C:\\net\\ca-root.pem
cert C:\\net\\output.pem
key C:\\net\\userpc.key
#ca ca.crt
#cert nout.crt
#key nout.key
comp-lzo

Прошу подсказать, где искать проблему.
Сертификаты генерировал в центре сертификации, который отделен от VPN-сервера
« Последнее редактирование: 06.04.2020 14:34:30 от ApB »

Оффлайн Salomatin

  • Модератор раздела
  • ****
  • Сообщений: 984
    • Пошаговые инструкции
Посмотрите https://forum.altlinux.org/index.php?topic=8557.msg163936#msg163936
и ниже.
Что-то с ключами.
Создайте по новой. Попробуйте варианты.
Проверьте работу сервера.
Хочешь понять сам, объясни другому.
"Если уже все испробовал и ничего не помогает - почитай инструкцию"

Оффлайн yaleks

  • Мастер
  • ***
  • Сообщений: 6 242

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 20 138
    • Домашняя страница
Если p9, то лучше обновить систему, там alterator-ca стал выдавать более криптостойкие сертификаты, годные для openvpn.
Андрей Черепанов (cas@)

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 351
Приветствую

Есть сервер openvpn на altlinux, к которому подключаются linux-клиенты.
К нему пробую цеплять клиента на win, в результате в логе при попытке соединения получаю следующее:
OpenSSL: error:140AB18E:SSL routines:SSL_CTX_use_certificate:ca md too weak
https://bugzilla.altlinux.org/34441 - он дубль, но тут побольше написано.
« Последнее редактирование: 06.04.2020 09:46:34 от asy »

Оффлайн ApB

  • Участник
  • *
  • Сообщений: 412
Если p9, то лучше обновить систему, там alterator-ca стал выдавать более криптостойкие сертификаты, годные для openvpn.
Спасибо, там p8

Оффлайн ApB

  • Участник
  • *
  • Сообщений: 412
Проверьте работу сервера.
Точка клиентская на p8 подключается нормально.
Другая на debian тоже

Оффлайн ApB

  • Участник
  • *
  • Сообщений: 412
Посмотрите https://forum.altlinux.org/index.php?topic=8557.msg163936#msg163936
и ниже.
Что-то с ключами.
Создайте по новой. Попробуйте варианты.
Проверьте работу сервера.
В части предложенной ссылки:
Создайте по новой. Попробуйте варианты.
В приведенной ссылке сказано:
Шаг № 1 Получаем готовые файлы

/var/lib/ssl/private/vova.key
/var/lib/ssl/certs/openvpn-client-CA.crt
/var/lib/ssl/certs/vova.cert

А процедура их генерации какая правильная?
Если не "берем ранее полученные" а "если надо добавить windows-клиента", то ... ?
Я для генерации использовал создание нового ключа в разделе управления ssl-ключами (через веб-интерфейс) и подписывал полученный ключ в сооветствующем разделе УЦ, далее получил файл ответа (pem), брал подписанный (в примере это vova.cert), файл ключа брал с сервера сертификации и openvpn-client-CA.crt - это pem удостоверяющего центра. Потом забирал файлы по указанным путям полученные сертификаты.

Есть вариант сгенерировать комплект ключей посредством консоли? Так чтобы они выпали в конкретное место?

А также возник вопрос/просьба объяснить алгоритм работы (логику):
Есть УЦ на одной машине, есть openvpn сервер на другой. Как они связаны? Как работает "обновление сертификатов", если я на openvpn-сервере создал сертификат, перенёс его руками на другой ПК и подписал в УЦ - процесс закончился тем, что я получил файл ответа - и дальше что? На сервере я не нашёл "слепка" подписанного сертификата. Если пользователь (или удалённая сеть), скажем по-турецки, ёк, то что? УЦ сменился и всем переделывать сертификаты (ибо не сохранив старый уц мы не можем пересоздать сертификаты, но они работают до окончания срока их работы). А автообновление сертификатов - на кой оно? Только для внутренних сервисов?

И да, сертификат openvpn-сервера подтверждает только логин соединения? Так как всё, что есть у vpn-сервера - это наименование соединения, а сертификат - это только подтверждения принадлежности устанавливающего соединение к имени, которым он предствляется?

Простите, если вопросы покажутся глупыми, но ... пока я много чего не понимаю, или не правильно использую.

И вообще, правильно ли я понимаю, что в приведенном примере:
vova.key получаем на сервере сертификации
openvpn-client-CA.crt - корневой сертификат удостоверяющего центра
vova.cert - это файл ответа (исходно pem-файл, получаемый в УЦ)?
« Последнее редактирование: 06.04.2020 11:41:23 от ApB »

Оффлайн ApB

  • Участник
  • *
  • Сообщений: 412
Ведь теоретически, мне необходимо сгенерировать файл запроса на клиенте, передать его в УЦ, подписанный файл ответа подсунуть обратно в клиент и всё.  :-o

В Альт-клиенте при подключении всё так и есть, а вот в openvpn-клиенте ...

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 351
Есть вариант сгенерировать комплект ключей посредством консоли? Так чтобы они выпали в конкретное место?
Да. Абсолютно все операции, в итоге, делаются посредством openssl. Веб-интерфейс только подставляет параметры. Я сходу не напишу, но на сайте OpenVPN было где-то, на сколько помню.

Оффлайн ApB

  • Участник
  • *
  • Сообщений: 412
Строка
WARNING: No server certificate verification method has been enabled.  See http://openvpn.net/howto.html#mitm for more info.После добавления в конфиг openvpn
remote-cert-tls serverУшла. Остались ...
Mon Apr 06 12:40:54 2020 OpenSSL: error:140AB18E:SSL routines:SSL_CTX_use_certificate:ca md too weak
Mon Apr 06 12:40:54 2020 Cannot load certificate file C:\net\user.pem
Mon Apr 06 12:40:54 2020 Exiting due to fatal error

Оффлайн ApB

  • Участник
  • *
  • Сообщений: 412
Добавил в конфиг:
tls-cipher "DEFAULT:@SECLEVEL=0"В результате в логе сейчас:
on Apr 06 12:52:44 2020 NOTE: --group option is not implemented on Windows
Mon Apr 06 12:52:44 2020 OpenVPN 2.4.8 x86_64-w64-mingw32 [SSL (OpenSSL)] [LZO] [LZ4] [PKCS11] [AEAD] built on Oct 31 2019
Mon Apr 06 12:52:44 2020 Windows version 6.2 (Windows 8 or greater) 64bit
Mon Apr 06 12:52:44 2020 library versions: OpenSSL 1.1.0l  10 Sep 2019, LZO 2.10
Enter Management Password:
Mon Apr 06 12:52:45 2020 TCP/UDP: Preserving recently used remote address: [AF_INET]8.8.8.8:1194
Mon Apr 06 12:52:45 2020 Attempting to establish TCP connection with [AF_INET]8.8.8.8:1194 [nonblock]
Mon Apr 06 12:52:46 2020 TCP connection established with [AF_INET]8.8.8.8:1194
Mon Apr 06 12:52:46 2020 TCP_CLIENT link local: (not bound)
Mon Apr 06 12:52:46 2020 TCP_CLIENT link remote: [AF_INET]8.8.8.8:1194
Mon Apr 06 12:52:46 2020 Certificate does not have key usage extension
Mon Apr 06 12:52:46 2020 OpenSSL: error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed
Mon Apr 06 12:52:46 2020 TLS_ERROR: BIO read tls_read_plaintext error
Mon Apr 06 12:52:46 2020 TLS Error: TLS object -> incoming plaintext read error
Mon Apr 06 12:52:46 2020 TLS Error: TLS handshake failed
Mon Apr 06 12:52:46 2020 Fatal TLS error (check_tls_errors_co), restarting
Mon Apr 06 12:52:46 2020 SIGUSR1[soft,tls-error] received, process restarting
Mon Apr 06 12:52:48 2020 SIGTERM[hard,init_instance] received, process exiting

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 351
Добавил в конфиг:
Я же написал ссылку на баг, в котором написано, что надо в web-интерфейсе поменять, чтобы получались ключи, годные для нового openvpn. Кстати сертификат центра надо тоже переделать кажется. Но это потянет за собой замену всех ключей.
« Последнее редактирование: 06.04.2020 13:01:30 от asy »

Оффлайн ApB

  • Участник
  • *
  • Сообщений: 412
Я же написал ссылку на баг, в котором написано, что надо в web-интерфейсе, чтобы получались ключи, годные для нового openvpn. Кстати сертификат центра надо тоже переделать кажется. Но это потянет за собой замену всех ключей.
Т.о. при замене в файле /usr/share/alterator-ca/CA.cnf
default_md     = md5на
default_md     = sha256и перегенерация сертификатов решит проблемы с подключением?

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 351
Я же написал ссылку на баг, в котором написано, что надо в web-интерфейсе, чтобы получались ключи, годные для нового openvpn. Кстати сертификат центра надо тоже переделать кажется. Но это потянет за собой замену всех ключей.
Т.о. при замене в файле /usr/share/alterator-ca/CA.cnf
default_md     = md5на
default_md     = sha256и перегенерация сертификатов решит проблемы с подключением?
Да. Хотя можно "default_md = default", тогда значение будет взято из /etc/openssl/openssl.cnf, а там тоже sha256.