概要
- いつからか、blog.teraren.comのTLS設定において、TLS1.3に対応していなかったので対応しました。
- TLS1.3は、1.2から大きくハンドシェイクシーケンスが変わっていたり、ちょっと古めの暗号化アルゴリズムが排除されていたりします。リビジョンが1つ上がっただけですが、裏の仕組みは大きな違いがあります。
変更
以下、nginxでの変更箇所です。
(ついでに、HSTSにも対応しました。)
root@dell /e/nginx (master)# git diff diff --git a/nginx/global/ssl.conf b/nginx/global/ssl.conf index 9cd7f49..d74c2ed 100644 --- a/nginx/global/ssl.conf +++ b/nginx/global/ssl.conf @@ -2,7 +2,7 @@ # (デフォルト) ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; -ssl_protocols TLSv1.2; +ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers HIGH:!aNULL:!MD5; # 2. Logjam攻撃対策 @@ -12,3 +12,6 @@ ssl_stapling on; ssl_stapling_verify on; resolver 8.8.4.4 8.8.8.8 valid=300s; resolver_timeout 10s; + +add_header Strict-Transport-Security 'max-age=31536000; includeSubDomains; preload'; +
Qualysでチェック。A+になりました。
ちなみに、AWSはTLS1.3に未だ対応していないみたいです。
2020/6/14 定期チェック
まだA+なので大丈夫そうです。完了するまでに5分かかりました。。。
追記:2021/2/1
グレードがAに落ちてしまっていたので原因をチェック。
まず、HSTSが短すぎるアラートが出たので変更。
-add_header Strict-Transport-Security 'max-age=86400; preload'; +add_header Strict-Transport-Security 'max-age=15552000; preload';
A+に戻った。
また、対応する暗号アルゴリズムを変更しました。
- ssl_ciphers HIGH:!aNULL:!MD5; +ssl_ciphers 'HIGH !aNULL !eNULL !kECDH !DSS !MD5 !EXP !PSK !SRP !CAMELLIA !SEED !RSA !AES128 !ARIA128 !SHA1 !SHA256 !SHA384';
暗号のパラメータに関してはこちらの記事を参考にしました。
その結果
追記 2023/6/22
TLS terminationをCloudflareで行うようにしたのでサーバの方でTLSの設定をする必要がなくなりました。HSTSの設定もCloudflareで行っています。
その結果、A+を簡単に出すことができました。
Comments