OpenVPNとMerlinWRT

OpenVPNとMerlinWRT

私のAsusルーターはMerlinWRTにフラッシュされました。この設定は以前は機能していましたが、接続すると次のような結果が表示されます。

$ sudo openvpn ./client1.ovpn
OpenVPN 2.3.2 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [EPOLL] [PKCS11] [eurephia] [MH] [IPv6] built on Apr 13 2015
UDPv4 link local: [undef]
UDPv4 link remote: [AF_INET]75.108.194.127:1194
TLS_ERROR: BIO read tls_read_plaintext error: error:14082174:SSL routines:SSL3_CHECK_CERT_AND_ALGORITHM:dh key too small
TLS Error: TLS object -> incoming plaintext read error
TLS Error: TLS handshake failed

どうすれば解決できますか?"SSL3_CHECK_CERT_AND_ALGORITHM: dh キーが小さすぎます。"MerlinWRTを使用してください。

答え1

このエラーを詳細に説明するスレッドはここにあります。。これについてRMerlin(著者)が直接説明するのがわかります。

RMerlinはこの問題に対する解決策を提供します。

その間、私が言ったように、新しいDHを作成してルーターのDHフィールドに貼り付けて交換してください。使用するOpenSSLのバージョンは重要ではありません。これを行うために最新バージョンは必要ありません。

そしてキーを生成するコード..

openssl dhparam -out dh.pem 1024
cat dh.pem

RMerlinによると、この問題は解決される予定です。

378.55がリリースされた後、現在ASUS GPLコードに問題があるため、リリースには少なくとも数週間かかります。

いくつかの背景では、このバグはMerlinWRTのコードではありませんクライアントOpenSSLライブラリ

セキュリティを向上させるために、このアップデートはOpenSSLの動作を変更して768ビット未満のDHキーサイズを拒否することで、可能なダウングレード攻撃を防ぎます。

興味深いことに「TLS用Diffie-Hellman導入ガイド」2048ビット以上を考慮することもできます。

答え2

ちょっとした話です。私はこれがLinuxサイトであることを知っていますが、Windows私が生成したキーがあったにもかかわらず、それを使用しながらこの問題に直面しました2048bit。同じかどうかはわかりませんが、openvpn-install-2.3.7-I601-x86_64エラーが発生するのではなくopenvpn-install-2.3.7-I602-x86_64同じです。以前のバージョンが有効です。新しいものを削除し、古いものをインストールして再実行しました。たぶん回帰によって発生した可能性がありますか?

エラーメッセージはOPが言ったのとまったく同じです。あなたのパーソナルシステムで以前のバージョンのクライアントを試してみることを提案できますか?

サーバーでファームウェアをAsus RT-AC87u実行しています。Asuswrt-Merlin378.51

関連情報