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
<参考サイト>
https://raymii.org/s/tutorials/Strong_SSL_Security_On_Apache2.html
Let's Encrypt
による SSL
を導入する場合、 Certbot
により自動的に上記 .pem
ファイルは作成されサーバ設定ファイルにも反映されます。