РЕШЕНО:OpenVPN crl-verify crl.pem (WARNING: No server certificate verification method has been enabled. See http://openvpn.net/howto.html#mitm for more in)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модератор: SLEDopit

leksstav
Сообщения: 328

РЕШЕНО:OpenVPN crl-verify crl.pem

Сообщение leksstav » 12.01.2019 01:20

Всех приветствую !

OS-OpenSuse 42.3
OpenVPN-2.3
easyrsa- 3.0.5

Server.conf

Код:

port 1194
proto tcp
dev tun
server 192.168.99.0 255.255.255.0
push "route 192.168.90.0 255.255.255.0"
ca ca.crt
cert blic-vpn.crt
key blic-vpn.key
dh dh.pem
tls-auth ta.key 0
crl-verify crl.pem
key-direction 0
cipher AES-256-CBC
auth SHA256
explicit-exit-notify 0
ifconfig-pool-persist ipp.txt
mute 10
persist-key
persist-tun
max-clients 50
keepalive 10 900
user nobody
group nobody
status openvpn-status.log 1
status-version 3
log-append openvpn-server.log
verb 9
Client.conf

Код:

client
dev tun
remote 192.168.80.21
proto tcp
ca ca.crt
cert adm.crt
key adm.key
cipher AES-256-CBC
auth SHA256
key-direction 1
route-method exe
route-delay 2
resolv-retry infinite
nobind
persist-key
persist-tun
tls-client
tls-auth ta.key 1
auth-nocache

Создал тестовый OpenVPN и столкнулся со следующим:

Интерфейс tun подымается


Логи клиента при попытке подключиться к серверу:

Код:

Sat Jan 12 00:51:28 2019 OpenVPN 2.4.6 x86_64-w64-mingw32 [SSL (OpenSSL)] [LZO] [LZ4] [PKCS11] [AEAD] built on Apr 26 2018
Sat Jan 12 00:51:28 2019 Windows version 6.1 (Windows 7) 64bit
Sat Jan 12 00:51:28 2019 library versions: OpenSSL 1.1.0h 27 Mar 2018, LZO 2.10
Enter Management Password:
Sat Jan 12 00:51:28 2019 WARNING: No server certificate verification method has been enabled. See http://openvpn.net/howto.html#mitm for more info.
Sat Jan 12 00:51:28 2019 TCP/UDP: Preserving recently used remote address: [AF_INET]192.168.80.21:1194
Sat Jan 12 00:51:28 2019 Attempting to establish TCP connection with [AF_INET]192.168.80.21:1194 [nonblock]
Sat Jan 12 00:51:29 2019 TCP connection established with [AF_INET]192.168.80.21:1194
Sat Jan 12 00:51:29 2019 TCP_CLIENT link local: (not bound)
Sat Jan 12 00:51:29 2019 TCP_CLIENT link remote: [AF_INET]192.168.80.21:1194
Sat Jan 12 00:51:30 2019 Connection reset, restarting [-1]
Sat Jan 12 00:51:30 2019 SIGUSR1[soft,connection-reset] received, process restarting
Sat Jan 12 00:51:35 2019 WARNING: No server certificate verification method has been enabled. See http://openvpn.net/howto.html#mitm for more info.
Sat Jan 12 00:51:35 2019 TCP/UDP: Preserving recently used remote address: [AF_INET]192.168.80.21:1194
Sat Jan 12 00:51:35 2019 Attempting to establish TCP connection with [AF_INET]192.168.80.21:1194 [nonblock]
Sat Jan 12 00:51:36 2019 TCP connection established with [AF_INET]192.168.80.21:1194
Sat Jan 12 00:51:36 2019 TCP_CLIENT link local: (not bound)
Sat Jan 12 00:51:36 2019 TCP_CLIENT link remote: [AF_INET]192.168.80.21:1194
Sat Jan 12 00:51:36 2019 Connection reset, restarting [-1]
Sat Jan 12 00:51:36 2019 SIGUSR1[soft,connection-reset] received, process restarting
Sat Jan 12 00:51:38 2019 SIGTERM[hard,init_instance] received, process exiting
Как только я комментирую на сервере строку отвечающую за проверку сертификатов:
#crl-verify crl.pem

Клиент подключается и работает как положено.


Лог клиента после удачного подключения:

Код:

Sat Jan 12 00:56:17 2019 OpenVPN 2.4.6 x86_64-w64-mingw32 [SSL (OpenSSL)] [LZO] [LZ4] [PKCS11] [AEAD] built on Apr 26 2018
Sat Jan 12 00:56:17 2019 Windows version 6.1 (Windows 7) 64bit
Sat Jan 12 00:56:17 2019 library versions: OpenSSL 1.1.0h 27 Mar 2018, LZO 2.10
Enter Management Password:
Sat Jan 12 00:56:17 2019 WARNING: No server certificate verification method has been enabled. See http://openvpn.net/howto.html#mitm for more info.
Sat Jan 12 00:56:17 2019 TCP/UDP: Preserving recently used remote address: [AF_INET]192.168.80.21:1194
Sat Jan 12 00:56:17 2019 Attempting to establish TCP connection with [AF_INET]192.168.80.21:1194 [nonblock]
Sat Jan 12 00:56:18 2019 TCP connection established with [AF_INET]192.168.80.21:1194
Sat Jan 12 00:56:18 2019 TCP_CLIENT link local: (not bound)
Sat Jan 12 00:56:18 2019 TCP_CLIENT link remote: [AF_INET]192.168.80.21:1194
Sat Jan 12 00:56:18 2019 [blic-vpn] Peer Connection Initiated with [AF_INET]192.168.80.21:1194
Sat Jan 12 00:56:20 2019 open_tun
Sat Jan 12 00:56:20 2019 TAP-WIN32 device [Подключение по локальной сети 2] opened: \\.\Global\{61223E3E-B757-452A-B418-E67442450004}.tap
Sat Jan 12 00:56:20 2019 Notified TAP-Windows driver to set a DHCP IP/netmask of 192.168.88.6/255.255.255.252 on interface {61223E3E-B757-452A-B418-E67442450004} [DHCP-serv: 192.168.88.5, lease-time: 31536000]
Sat Jan 12 00:56:20 2019 Successful ARP Flush on interface [24] {61223E3E-B757-452A-B418-E67442450004}
Sat Jan 12 00:56:20 2019 do_ifconfig, tt->did_ifconfig_ipv6_setup=0
Sat Jan 12 00:56:22 2019 env_block: add PATH=C:\Windows\System32;C:\Windows;C:\Windows\System32\Wbem
Sat Jan 12 00:56:22 2019 env_block: add PATH=C:\Windows\System32;C:\Windows;C:\Windows\System32\Wbem
Sat Jan 12 00:56:22 2019 Initialization Sequence Completed
Sat Jan 12 00:56:32 2019 env_block: add PATH=C:\Windows\System32;C:\Windows;C:\Windows\System32\Wbem
Sat Jan 12 00:56:32 2019 env_block: add PATH=C:\Windows\System32;C:\Windows;C:\Windows\System32\Wbem
Sat Jan 12 00:56:32 2019 SIGTERM[hard,] received, process exiting

Дата и время сервер/клиент не расходятся, полность удалял тестовую среду генерил заново.
Ошибка повторяется.

Лог сервера когда строка crl-verify crl.pem не закоментированна (Ошибка.txt)
Лог сервера когда строка crl-verify crl.pem с коментом (Работает.txt)
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось leksstav 14.01.2019 15:43, всего редактировалось 2 раза.
Спасибо сказали:

Аватара пользователя
nerve
Сообщения: 262
ОС: OpenBSD

Re: OpenVPN crl-verify crl.pem

Сообщение nerve » 14.01.2019 11:45

я бы сказал, что никто не будет парсить 60 страниц лога сервера в поисках места, соответствующего времени подключения клиента в 00:51.
Спасибо сказали:

leksstav
Сообщения: 328

Re: OpenVPN crl-verify crl.pem

Сообщение leksstav » 14.01.2019 12:03

А зачем парсить ? Полный лог для общего понимания. Для просмотра ошибки можно элементарно в поиске ввести error.
Лучше скажите что то по существу, дельное.

Кусок лога с ошибкой

Код:

192.168.80.25:52999 ACK mark active incoming ID 3
192.168.80.25:52999 ACK acknowledge ID 3 (ack->len=1)
192.168.80.25:52999 TLS: tls_multi_process: i=0 state=S_START, mysid=ec5bb699 ac87363e, stored-sid=f3dec059 e13bb0fa, stored-ip=[AF_INET]192.168.80.25:52999
192.168.80.25:52999 NOTE: --mute triggered...
192.168.80.25:52999 4 variation(s) on previous 10 message(s) suppressed by --mute
192.168.80.25:52999 CRL: cannot read: crl.pem
192.168.80.25:52999 SSL alert (write): fatal: internal error
192.168.80.25:52999 TLS_ERROR: BIO read tls_read_plaintext error: error:14089086:SSL routines:ssl3_get_client_certificate:certificate verify failed
192.168.80.25:52999 TLS Error: TLS object -> incoming plaintext read error
192.168.80.25:52999 TLS Error: TLS handshake failed
192.168.80.25:52999 PID packet_id_free
192.168.80.25:52999 SSL alert (write): warning: close notify
192.168.80.25:52999 PID packet_id_free
192.168.80.25:52999 PID packet_id_free
192.168.80.25:52999 TLS: tls_session_init: entry
Спасибо сказали:

Аватара пользователя
/dev/random
Администратор
Сообщения: 4722
ОС: Gentoo

Re: OpenVPN crl-verify crl.pem

Сообщение /dev/random » 14.01.2019 13:08

Опция crl-verify включает чёрный список отозванных сертификатов и указывает файл, из которого этот список нужно читать. При этом указанный вами файл "crl.pem" не существует или не читается.
Спасибо сказали:

leksstav
Сообщения: 328

Re: РЕШЕНО:OpenVPN crl-verify crl.pem

Сообщение leksstav » 14.01.2019 15:43

Огромное спасибо.
Вся проблема была в правах на чтение файла crl.pem
Добавлено (15:46):
На сервере ошибок нету. Клиент подлючился и работает в принципе как надо.
Только со стороы клиента осталась запись в логах
WARNING: No server certificate verification method has been enabled. See http://openvpn.net/howto.html#mitm for more info.
Но на работу/подключение это не влияет.
Спасибо сказали:

Аватара пользователя
/dev/random
Администратор
Сообщения: 4722
ОС: Gentoo

Re: РЕШЕНО:OpenVPN crl-verify crl.pem

Сообщение /dev/random » 14.01.2019 19:46

leksstav писал:
14.01.2019 15:43
На сервере ошибок нету. Клиент подлючился и работает в принципе как надо.
Только со стороы клиента осталась запись в логах
WARNING: No server certificate verification method has been enabled. See http://openvpn.net/howto.html#mitm for more info.
Но на работу/подключение это не влияет.
Это совершенно отдельная проблема, не имеющая отношения к предыдущей. По умолчанию OpenVPN-клиент, проверяя сервер, к которому подключается, проверяет только то, подписан ли сертификат сервера корневым сертификатом, указанным в опции "ca". Проблема в том, что клиентские сертификаты тоже им подписаны. Это значит, что они могут использоваться для mitm-атак под видом серверных. Чтобы этого избежать, на клиенте нужно включить дополнительную верификацию сервера любым из способов, описанных по ссылке, указанной в тексте предупреждения.
Спасибо сказали:

leksstav
Сообщения: 328

Re: РЕШЕНО:OpenVPN crl-verify crl.pem

Сообщение leksstav » 14.01.2019 21:35

/dev/random писал:
14.01.2019 19:46
leksstav писал:
14.01.2019 15:43
На сервере ошибок нету. Клиент подлючился и работает в принципе как надо.
Только со стороы клиента осталась запись в логах
WARNING: No server certificate verification method has been enabled. See http://openvpn.net/howto.html#mitm for more info.
Но на работу/подключение это не влияет.
Это совершенно отдельная проблема, не имеющая отношения к предыдущей. По умолчанию OpenVPN-клиент, проверяя сервер, к которому подключается, проверяет только то, подписан ли сертификат сервера корневым сертификатом, указанным в опции "ca". Проблема в том, что клиентские сертификаты тоже им подписаны. Это значит, что они могут использоваться для mitm-атак под видом серверных. Чтобы этого избежать, на клиенте нужно включить дополнительную верификацию сервера любым из способов, описанных по ссылке, указанной в тексте предупреждения.
Добавил на клиенте строку remote-cert-tls server и сообщение пропало
Спасибо сказали: