LINUX.ORG.RU
ФорумAdmin

openvpn + gost. Как сейчас с этим дела? Есть бесплатное решение?

 ,


0

2

Всем привет!

Может кто-нибудь подсказать как сейчас обстоят дела с интеграцией шифрования по отечественному ГОСТ в openvpn? Нашел, что несколько лет назад на лоре такая тема уже была, но чем закончилось дело - так и осталось неизвестно.

Сейчас актуальная версия openvpn вроде как 2.4, где-то нашел патч для версии 2.1, откатился, наложил, кое-как собрал (с забиванием костылей и шаманством над кодом), но не работает.

Конфиг сервера:

#dev tun
dev tap
#engine cryptocom
engine gost
auth gost-mac
cipher gost89
tls-cipher GOST2001-GOST89-GOST89
#comp-lzo yes

ca sample-keys/ca.crt
cert sample-keys/server.crt
key sample-keys/server.key

server 10.0.0.0 255.255.255.0
keepalive 10 120
proto tcp
socket-flags TCP_NODELAY

persist-key
persist-tun

dh sample-keys/dh2048.pem
Выхлоп сервера при подключении:
openvpn --config /etc/openvpn/ovpn-srv
Wed Jul 19 11:26:37 2017 OpenVPN 2.3.13 armv7l-unknown-linux-gnueabi [SSL (OpenSSL)] [LZO] [EPOLL] [MH] [IPv6] built on Apr 28 2017
Wed Jul 19 11:26:37 2017 library versions: OpenSSL 1.0.2h-fips  3 May 2016, LZO 2.09
Wed Jul 19 11:26:37 2017 Initializing OpenSSL support for engine 'gost'
Wed Jul 19 11:26:37 2017 WARNING: file 'sample-keys/server.key' is group or others accessible
Wed Jul 19 11:26:37 2017 No valid translation found for TLS cipher 'GOST2001-GOST89-GOST89'
Wed Jul 19 11:26:37 2017 TUN/TAP device tap0 opened
Wed Jul 19 11:26:37 2017 do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0
Wed Jul 19 11:26:37 2017 /sbin/ip link set dev tap0 up mtu 1500
Wed Jul 19 11:26:37 2017 /sbin/ip addr add dev tap0 10.0.0.1/24 broadcast 10.0.0.255
Wed Jul 19 11:26:37 2017 Listening for incoming TCP connection on [undef]
Wed Jul 19 11:26:37 2017 TCPv4_SERVER link local (bound): [undef]
Wed Jul 19 11:26:37 2017 TCPv4_SERVER link remote: [undef]
Wed Jul 19 11:26:37 2017 Initialization Sequence Completed
Wed Jul 19 11:26:42 2017 TCP connection established with [AF_INET]10.0.0.1:42237
Wed Jul 19 11:26:42 2017 10.0.0.1:42237 OpenSSL: error:1408A0C1:SSL routines:ssl3_get_client_hello:no shared cipher
Wed Jul 19 11:26:42 2017 10.0.0.1:42237 TLS_ERROR: BIO read tls_read_plaintext error
Wed Jul 19 11:26:42 2017 10.0.0.1:42237 TLS Error: TLS object -> incoming plaintext read error
Wed Jul 19 11:26:42 2017 10.0.0.1:42237 TLS Error: TLS handshake failed
Wed Jul 19 11:26:42 2017 10.0.0.1:42237 Fatal TLS error (check_tls_errors_co), restarting
Конфиг клиента:
#dev tun
dev tap
#engine cryptocom
engine gost
auth gost-mac
cipher gost89
tls-cipher GOST2001-GOST89-GOST89
#comp-lzo yes

ca sample-keys/ca.crt
cert sample-keys/client.crt
key sample-keys/client.key

client
remote 10.0.0.1
keepalive 10 120
proto tcp
socket-flags TCP_NODELAY

persist-key
persist-tun
Выхлоп клиента:
openvpn --config /etc/openvpn/ovpn-cli 
Wed Jul 19 11:26:42 2017 OpenVPN 2.3.13 armv7l-unknown-linux-gnueabi [SSL (OpenSSL)] [LZO] [EPOLL] [MH] [IPv6] built on Apr 28 2017
Wed Jul 19 11:26:42 2017 library versions: OpenSSL 1.0.2h-fips  3 May 2016, LZO 2.09
Wed Jul 19 11:26:42 2017 WARNING: No server certificate verification method has been enabled.  See http://openvpn.net/howto.html#mitm for more info.
Wed Jul 19 11:26:42 2017 Initializing OpenSSL support for engine 'gost'
Wed Jul 19 11:26:42 2017 WARNING: file 'sample-keys/client.key' is group or others accessible
Wed Jul 19 11:26:42 2017 No valid translation found for TLS cipher 'GOST2001-GOST89-GOST89'
Wed Jul 19 11:26:42 2017 Attempting to establish TCP connection with [AF_INET]10.0.0.1:1194 [nonblock]
Wed Jul 19 11:26:42 2017 TCP connection established with [AF_INET]10.0.0.1:1194
Wed Jul 19 11:26:42 2017 TCPv4_CLIENT link local: [undef]
Wed Jul 19 11:26:42 2017 TCPv4_CLIENT link remote: [AF_INET]10.0.0.1:1194
Wed Jul 19 11:26:42 2017 Connection reset, restarting [0]
Все ссылки, которые можно найти в гугле читал.

Не могу не спросить - зачем тебе ГОСТовое шифрование для VPN?

gasinvein ★★★ ()

а клиента ты тоже пропатчил?

zgen ★★★★★ ()

Только шаманить над патчами для 2.1. И да, патчи надо класть на обе стороны.

Dark_SavanT ★★★★★ ()
Ответ на: комментарий от Dark_SavanT

Клиент и сервер, в данном случае, один и тот же бинарник, запущенный из разных окон.

Dennis7 ()
Последнее исправление: Dennis7 (всего исправлений: 1)

Те патчи настолько говно, что их не захотели брать в апстрим?

pekmop1024 ★★★★★ ()
Ответ на: комментарий от pekmop1024

AFAIR, OpenVPN does not support GOST. It needs some additional patches. That was considered many years ago, but the interest was so low and really not asked for so the patch review never completed.

Dennis7 ()
Ответ на: комментарий от Dennis7

Какая-то отмазка. OpenVPN поддерживает достаточное количество экзотичных видов шифрования, нужного полутора анонимам...

pekmop1024 ★★★★★ ()
Ответ на: комментарий от pekmop1024

Не догадываешься почему так? На тему посмотри внимательнее...

Dennis7 ()
Последнее исправление: Dennis7 (всего исправлений: 2)
Ответ на: комментарий от Dennis7

Я не думаю, что создателей OpenVPN волнуют местечковые проблемы наших барыг. Не факт, что они вообще в курсе об их существовании. Делаю ставку на то, что принимающий решение о поддержке ГОСТа - заинтересованное лицо, но скорее - по политическим причинам.

pekmop1024 ★★★★★ ()
Ответ на: комментарий от Dennis7

Wed Jul 19 11:26:37 2017 Initializing OpenSSL support for engine 'gost'
Wed Jul 19 11:26:37 2017 No valid translation found for TLS cipher 'GOST2001-GOST89-GOST89'
Wed Jul 19 11:26:42 2017 10.0.0.1:42237 OpenSSL: error:1408A0C1:SSL routines:ssl3_get_client_hello:no shared cipher

А как дела у openssl с gost?

imul ★★★★★ ()
Ответ на: комментарий от pekmop1024

Всё очень просто, эти анонимусы смогли запилить адекватный патч, а тем кому нужен GOST не в силах это сделать.

itn ★★ ()
Ответ на: комментарий от itn

Это наиболее вероятный вариант, конечно, о чем я и спрашивал в самом начале :)

pekmop1024 ★★★★★ ()
Ответ на: комментарий от pekmop1024

Если что-то уже есть, зачем велосипедить?

Но тут, видимо, другого выхода уже нет, либо забить, либо стать анонимусом, который смог в GOST для openvpn

Dennis7 ()
Ответ на: комментарий от Dennis7

Попробуй закраудфандить. Только сначала договорись с самим OpenVPN о том, какие у них требования для принятия патча.
Я бы подкинул деньжат, да и многие коммерческие конторы тоже, думаю.

pekmop1024 ★★★★★ ()
Ответ на: комментарий от pekmop1024

Ты, видимо, не понял. GOST для openvpn есть... Я более чем уверен в этом.

И те же коммерческие конторы вполне себе могут, при желании, найти где спросить.

Мне для чисто для себя...

Dennis7 ()
Последнее исправление: Dennis7 (всего исправлений: 1)
Ответ на: комментарий от Dennis7

Ты, видимо, не понял. GOST для openvpn есть... Я более чем уверен в этом.

За деньги продают патченый, а в ванильке - нет. Я тебе про то, чтобы запилить в ванильном, сделав такие патчи, которые примет апстрим.

pekmop1024 ★★★★★ ()
Ответ на: комментарий от Dennis7

Сразу говорю свои требования - работать должно не только на x86, но и как минимум на ARM, MIPS и PowerPC. :)

pekmop1024 ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.