概要 DBに大きく変更を加える…
TLS 1.1以下の対応を無くし、TLS 1.2と1.3だけを有効化
背景
- PCI DSS 3.2では、SSLとTLS1.1は2018年6月28日までに無くさなければいけないと明示している。
- Visaは2018年2月にTLS1.1以下を無効にする主旨を発表し、各プログラミング言語に応じた移行方法を出している。
最近の流れ
- 新規でhttpsサーバを構築するならば、TLS1.2のみを有効にしておく
- TLS1.3は現在Working Draft
- TLS1.2と1.3の違い
設定
このサイトで、TLS 1.3を使えるように設定してみました。
- nginx 1.12を使っていましたが、nginxはバージョン1.13からTLS 1.3 draftに対応しているので、nginxを1.13にアップグレードしました。
- ssl関連の設定を抜粋するとこんな感じです。TLS 1.3のcipherが優先されます。
ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers 'TLS13-AES-128-GCM-SHA256:TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:ECDHE:!COMPLEMENTOFDEFAULT';
- ssllabsでテストをしてみましたが、TLS 1.3はドラフトなのでちゃんと認識されない模様です。FirefoxでTLS1.3のみを有効にして実験した接続できました。
軽くab
でテスト。
% ab -n 5 -n 100 https://triathlon.teraren.com/ 305ms Wed Nov 8 18:37:41 2017 This is ApacheBench, Version 2.3 <$Revision: 1757674
TLS1.3が出てない。クライアント側のopensslが古いからかな。。
% openssl version Wed Nov 8 18:40:27 2017 OpenSSL 0.9.8zh 14 Jan 2016
まとめ
- nginxをアップグレード。 1.12 -> 1.13
- TLS 1.0, TLS 1.1を無効化。TLS 1.2とTLS 1.3 draftを有効化