Apacheのリバースプロキシで発生したエラー「SSL Library Error: error:141A318A:SSL routines:tls_process_ske_dhe:dh key too small」

スポンサードリンク

Apacheで構築したリバースプロキシサーバーで下記エラーが出ました。

Proxy Error Reason: Error reading from remote server

リモートのWebサーバからのステータスラインの読み込みに失敗したとのことですが、思い当たる点がなく、Apacheのログレベルをdebugにして調査しました。

エラーログには以下が記録されていました。Apacheのログとしてはinfoレベルですが内容はエラーそのもので、dh key too small と記載があります。

[ssl:info] [pid 427857] SSL Library Error: error:141A318A:SSL routines:tls_process_ske_dhe:dh key too small

接続先のサーバーの鍵サイズが、こちらのサーバーが求めている鍵サイズより小さいためエラーとなっていたようです。

対策として、下記設定をApacheの設定に追加して対応しました。 リモートサーバーと接続する際に使用する暗号化プロトコルの制限を極力無くす記述です。

SSLProxyCipherSuite ALL:!EXP:!NULL:!DH:!LOW

一般的に推奨される設定では無い点は注意が必要です。今回は問題が起きているサイトに限定する形で設定して影響が最小限になるよう対応しました。


Linuxの基礎からセキュリティまで、サーバー運用に必要な知識をまとめた書籍

Webシステムの基礎について徹底的に学べるUdemy講座
【PHP, MYSQL, Apache】ガチで学びたい人のためのWEB開発の基礎 icon