499 文字
2 分
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/This is ApacheBench, Version 2.3 <$Revision: 1879490 $>Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking triathlon.teraren.com (be patient).....done
Server Software: nginx/1.13.0Server Hostname: triathlon.teraren.comServer Port: 443SSL/TLS Protocol: TLSv1.2,ECDHE-RSA-AES256-GCM-SHA384,2048,256Server Temp Key: ECDH X25519 253 bitsTLS Server Name: triathlon.teraren.com
Document Path: /Document Length: 284282 bytes
Concurrency Level: 1Time taken for tests: 19.852 secondsComplete requests: 100Failed requests: 0Total transferred: 28472700 bytesHTML transferred: 28428200 bytesRequests per second: 5.04 [#/sec] (mean)Time per request: 198.516 [ms] (mean)Time per request: 198.516 [ms] (mean, across all concurrent requests)Transfer rate: 1400.66 [Kbytes/sec] received
Connection Times (ms) min mean[+/-sd] median maxConnect: 46 57 13.3 54 169Processing: 88 141 47.8 121 371Waiting: 33 39 6.3 37 63Total: 137 198 48.8 177 444
Percentage of the requests served within a certain time (ms) 50% 177 66% 224 75% 235 80% 241 90% 256 95% 283 98% 305 99% 444 100% 444 (longest request)TLS1.3が出てない。クライアント側のopensslが古いからかな。。
% openssl versionLibreSSL 2.8.3まとめ
- nginxをアップグレード。 1.12 -> 1.13
- TLS 1.0, TLS 1.1を無効化。TLS 1.2とTLS 1.3 draftを有効化
TLS 1.1以下の対応を無くし、TLS 1.2と1.3だけを有効化
https://blog.teraren.com/posts/tls-1-3-support/