5
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

updated at

mod_sslで使用するSSLCipherSuiteの設定を詰めてみる '20

SSLCipherSuiteの見直しの必要性

7月7日付で「TLS設定ガイドライン」が改訂されたことから、以前に記載した設定からの見直しを行ってみる。

前提

CentOS 7.8で利用されているOpenSSL 1.0.2kではTLS 1.3をサポートしていないため、TLS 1.2のみを利用し、「推奨セキュリティ型」設定程度を目指すものとする。

設定を確認

以前の設定を確認

まずは以前の設定でどうなるかを確認してみる。

ssl.conf
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite SSL!3DES:!aNULL:EDH+HIGH:ECDH+HIGH:-AES128:-DSS

SSL Server Testで確認すると、一年前はAだった評価がBになってしまっていた。

image.png

Cipher Suiteの評価もWEAKと表示されているものがある。

image.png

厳しめに設定

「高セキュリティ型での利用推奨暗号アルゴリズム一覧」ではPFS(Perfect Forward Secrecy)が必須GCM推奨、ハッシュ関数はSHA256(以上)必須のようなので、シンプルに下記の設定を試してみる。
ECDHEがDHEより望ましいようなので、その部分も一応反映させる。

$ openssl ciphers -v '!SSLv3:!DSS:AESGCM+ECDHE:AESGCM+EDH'
ECDHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH     Au=RSA  Enc=AESGCM(256) Mac=AEAD
ECDHE-ECDSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH     Au=ECDSA Enc=AESGCM(256) Mac=AEAD
ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH     Au=RSA  Enc=AESGCM(128) Mac=AEAD
ECDHE-ECDSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH     Au=ECDSA Enc=AESGCM(128) Mac=AEAD
DHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=DH       Au=RSA  Enc=AESGCM(256) Mac=AEAD

画像は省略するが、評価Aとなり、ブラウザの互換性もおよそ問題ないように感じる。ということで設定は完了。

image.png

対応ブラウザを増やす

一応、古いiOS、macOSのサポートのため、設定を緩和してみる。WEAKと評価されるが、ガイドライン上は問題ない。

$ openssl ciphers -v '!SSLv3:!DSS:AESGCM+ECDHE:AESGCM+EDH:EDH+AES256+SHA256'
ECDHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH     Au=RSA  Enc=AESGCM(256) Mac=AEAD
ECDHE-ECDSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH     Au=ECDSA Enc=AESGCM(256) Mac=AEAD
ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH     Au=RSA  Enc=AESGCM(128) Mac=AEAD
ECDHE-ECDSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH     Au=ECDSA Enc=AESGCM(128) Mac=AEAD
DHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=DH       Au=RSA  Enc=AESGCM(256) Mac=AEAD
DHE-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=DH       Au=RSA  Enc=AESGCM(128) Mac=AEAD
DHE-RSA-AES256-SHA256   TLSv1.2 Kx=DH       Au=RSA  Enc=AES(256)  Mac=SHA256

image.png

設定する内容

という訳で、以下のような設定にすることとした。

ssl.conf
SSLProtocol -all TLSv1.2
SSLCipherSuite !SSLv3:!DSS:AESGCM+ECDHE:AESGCM+EDH:EDH+AES256+SHA256
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
5
Help us understand the problem. What are the problem?