私の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-Merlin
378.51