Qualys SSL LABS – SSL Server Testは、SSLの設定が適切に行われているか検証できるWebサービス。
Qualys SSL LABS – SSL Server Testにアクセス。
Hostname
にexample.comのようなものを入力。
(https://などは入力不要)
Do not show the results on the boards
にチェックを入れて、Submit
をクリック。
(Do not show the results on the boards
にチェックを入れないと、Recently Seen
などに入力したホスト名が表示される)
Overall Rating
がA
以上になっていればOK。
B
以下ならば、改善点をチェックする。
nginxのデフォルト設定では、Qualys SSL LABSでテストしたときに、以下のようになっている。
Protocols TLS 1.3 No TLS 1.2 Yes TLS 1.1 Yes TLS 1.0 Yes SSL 3 No SSL 2 No
/etc/nginx/nginx.conf
に以下を設定すると、
ssl_protocols TLSv1.2 TLSv1.3;
Qualys SSL LABSのテスト結果が以下のように変わる。
Protocols TLS 1.3 Yes TLS 1.2 Yes TLS 1.1 No TLS 1.0 No SSL 3 No SSL 2 No
TLS 1.1
とTLS 1.0
はセキュリティが低いので、使用禁止にした方がいい。
/etc/nginx/nginx.conf
に以下のように設定すると、
ssl_dhparam /etc/nginx/dhparam2048.pem; ssl_prefer_server_ciphers on; ssl_ciphers "AES128+ECDHE:AES256+ECDHE:AES128+EDH:AES256+EDH:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4!CAMELLIA!AES128-SHA!AES128-SHA256!AES128-GCM-SHA256:!AES256-GCM-SHA384:!AES256-SHA256:!AES256-SHA!AES256-CCM8!AES256-CCM!AES128-CCM!ARIA128-GCM-SHA256!AES128-CCM8!ARIA256-GCM-SHA384";
Qualys SSL LABSのテスト結果が以下のように表示される。
# TLS 1.3 (suites in server-preferred order) TLS_AES_256_GCM_SHA384 (0x1302) ECDH x25519 (eq. 3072 bits RSA) FS 256 TLS_CHACHA20_POLY1305_SHA256 (0x1303) ECDH x25519 (eq. 3072 bits RSA) FS 256 TLS_AES_128_GCM_SHA256 (0x1301) ECDH x25519 (eq. 3072 bits RSA) FS 128 # TLS 1.2 (suites in server-preferred order) TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (0xc02f) ECDH x25519 (eq. 3072 bits RSA) FS 128 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 (0xc027) ECDH x25519 (eq. 3072 bits RSA) FS WEAK 128 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (0xc013) ECDH x25519 (eq. 3072 bits RSA) FS WEAK 128 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (0xc030) ECDH x25519 (eq. 3072 bits RSA) FS 256 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 (0xc028) ECDH x25519 (eq. 3072 bits RSA) FS WEAK 256 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (0xc014) ECDH x25519 (eq. 3072 bits RSA) FS WEAK 256 TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 (0x9e) DH 2048 bits FS 128 TLS_DHE_RSA_WITH_AES_128_CCM_8 (0xc0a2) DH 2048 bits FS 128 TLS_DHE_RSA_WITH_AES_128_CCM (0xc09e) DH 2048 bits FS 128 TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 (0x67) DH 2048 bits FS WEAK 128 TLS_DHE_RSA_WITH_AES_128_CBC_SHA (0x33) DH 2048 bits FS WEAK 128 TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 (0x9f) DH 2048 bits FS 256 TLS_DHE_RSA_WITH_AES_256_CCM_8 (0xc0a3) DH 2048 bits FS 256 TLS_DHE_RSA_WITH_AES_256_CCM (0xc09f) DH 2048 bits FS 256 TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 (0x6b) DH 2048 bits FS WEAK 256 TLS_DHE_RSA_WITH_AES_256_CBC_SHA (0x39) DH 2048 bits FS WEAK 256 TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 (0xcca8) ECDH x25519 (eq. 3072 bits RSA) FS 256 TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256 (0xccaa) DH 2048 bits FS 256 TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384 (0xc061) ECDH x25519 (eq. 3072 bits RSA) FS 256 TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384 (0xc053) DH 2048 bits FS 256 TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256 (0xc060) ECDH x25519 (eq. 3072 bits RSA) FS 128 TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256 (0xc052) DH 2048 bits FS 128
nginx.conf
のssl_ciphers
で設定した、AES128+ECDHE:AES256+ECDHE
の部分が、
Qualys SSL LABSでのTLS_ECDHE_
で始まる暗号たちに相当する。
nginx.conf
のssl_ciphers
で設定した、AES128+EDH:AES256+EDH
の部分が、
Qualys SSL LABSでのTLS_DHE_
で始まる暗号たちに相当する。
nginx.conf
でssl_dhparam /etc/nginx/dhparam2048.pem;
を設定しないと、
Qualys SSL LABSでTLS_DHE_
で始まる暗号たちが有効にならない。
SSLのセッションキャッシュというのは、httpsの通信開始時に必要なSSLハンドシェイクを省略し、サイトの初期表示までの時間を短縮する仕組み。
セッション情報をサーバー側に保存する。
SSLのセッションキャッシュが有効になっているか確認する。
Session resumption (caching)
がYes
と表示されていればOK。
nginxでのssl_session_cache
の項目に相当する。
SSLのセッションチケットというのは、httpsの通信開始時に必要なSSLハンドシェイクを省略し、サイトの初期表示までの時間を短縮する仕組み。
セッション情報をクライアント側に保存する。
SSLのセッションチケットが有効になっているか確認する。
Session resumption (tickets)
がYes
と表示されていればOK。
nginxでのssl_session_tickets
の項目に相当する。
nginx公式・Module ngx_http_ssl_module
ssl_session_tickets
はデフォルトでon
になっている。