430 文字
2 分
このサイトをTLS1.3に対応しました

概要#

  • いつからか、blog.teraren.comのTLS設定において、TLS1.3に対応していなかったので対応しました。
  • TLS1.3は、1.2から大きくハンドシェイクシーケンスが変わっていたり、ちょっと古めの暗号化アルゴリズムが排除されていたりします。リビジョンが1つ上がっただけですが、裏の仕組みは大きな違いがあります。

変更#

以下、nginxでの変更箇所です。

(ついでに、HSTSにも対応しました。)

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で行っています。

https://blog.teraren.com/2023/04/23/web-service-on-cloudflare/

その結果、A+を簡単に出すことができました。

このサイトをTLS1.3に対応しました
https://blog.teraren.com/posts/tls-13/
作者
Yuki Matsukura
公開日
2020-03-12
ライセンス
CC BY-NC-SA 4.0

コメント