Apache & Nginx Forward Secrecy & Diffie Hellman Ephemeral Parameters

Diffie Hellman Ephemeral Parameters

Apache2.4.8以降またはOpenSSL1.0.2以降でサーバ運用している場合、従来のDiffie HellmannによるForward Secrecyが無効になっています。
Diffie HellmannによるForward Secrecyとは、サーバとクライアント間でSSL接続の際、両者間で数学的アルゴリズムに基づき作成されたキーで情報を暗号化、両者間でのキーのやり取りが無いことに加えセッションが切れるとキーは廃棄されるため、サーバのプライベートキーが盗まれた場合でも暗号化された情報が解読されない仕組みです。

opensslによりDiffie Hellmannパラメータを作成

openssl dhparam -out /etc/ssl/certsdhparam.pem 4096

Apache mod_sslの設定ファイルに以下追加

$ sudo pico /etc/apache2/mods-enabled/ssl.conf
SSLOpenSSLConfCmd DHParameters "/etc/ssl/certs/dhparam.pem"

Apache設定チェック

$ sudo apache2ctl -t
Syntax OK

Apache再起動

$ sudo service apache2 restart

<参考サイト>