499 文字
2 分
TLS 1.1以下の対応を無くし、TLS 1.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';

軽く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.0
Server Hostname: triathlon.teraren.com
Server Port: 443
SSL/TLS Protocol: TLSv1.2,ECDHE-RSA-AES256-GCM-SHA384,2048,256
Server Temp Key: ECDH X25519 253 bits
TLS Server Name: triathlon.teraren.com
Document Path: /
Document Length: 284282 bytes
Concurrency Level: 1
Time taken for tests: 19.852 seconds
Complete requests: 100
Failed requests: 0
Total transferred: 28472700 bytes
HTML transferred: 28428200 bytes
Requests 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 max
Connect: 46 57 13.3 54 169
Processing: 88 141 47.8 121 371
Waiting: 33 39 6.3 37 63
Total: 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が古いからかな。。

Terminal window
% openssl version
LibreSSL 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/
作者
Yuki Matsukura
公開日
2017-10-30
ライセンス
CC BY-NC-SA 4.0

コメント