仕事で管理しているサイトでSSL関連の脆弱性指摘をうけたので、とりあえず自分のサイト (Apache + Let's Encrypt) で検証することにした。
チェックに使ったのは SSL Server Test というサイト。最初の ssl.conf は以下。このまま SSL Server Test で判定した結果「C判定」になった。
SSLProtocol all -SSLv2 SSLCipherSuite DEFAULT:!EXP:!SSLv2:!DES:!IDEA:!SEED:+3DES
そしてこっちが修正後の ssl.conf。赤字が修正・追記箇所。
# SSL 2, SSL 3, TLS 1.0 を無効 SSLProtocol All -SSLv2 -SSLv3 -TLSv1 # 3DES, RC4, DH を無効にして、サーバ側の暗号スイートを優先 SSLCipherSuite DEFAULT:!EXP:!SSLv2:!DES:!IDEA:!SEED:!3DES:!RC4:!DH SSLHonorCipherOrder On # HSTS(HTTP Strict Transport Security) ヘッダを追加して、ブラウザに HTTPS を強制 Header set Strict-Transport-Security "max-age=315360000;"
結果、A+判定になった。 → https://www.ssllabs.com/ssltest/analyze.html?d=mugbum.info
SSL/TLS証明書関連の動作確認って割とめんどくさく、検証環境を作る場合もそこそこコストがかかる。こういった場合に自分の自由にできる、公開されたサーバが一台あると大変便利。