目次

Qualys SSL LABS – SSL Server Test

Qualys SSL LABS – SSL Server Testは、SSLの設定が適切に行われているか検証できるWebサービス。

Qualys SSL LABS – SSL Server Testの使い方

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 RatingA以上になっていればOK。

B以下ならば、改善点をチェックする。

Protocols

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に以下を設定すると、

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.1TLS 1.0はセキュリティが低いので、使用禁止にした方がいい。

Cipher Suites

/etc/nginx/nginx.confに以下のように設定すると、

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.confssl_ciphersで設定した、AES128+ECDHE:AES256+ECDHEの部分が、
Qualys SSL LABSでのTLS_ECDHE_で始まる暗号たちに相当する。

nginx.confssl_ciphersで設定した、AES128+EDH:AES256+EDHの部分が、
Qualys SSL LABSでのTLS_DHE_で始まる暗号たちに相当する。

nginx.confssl_dhparam /etc/nginx/dhparam2048.pem;を設定しないと、
Qualys SSL LABSでTLS_DHE_で始まる暗号たちが有効にならない。

Session resumption (caching)

SSLのセッションキャッシュというのは、httpsの通信開始時に必要なSSLハンドシェイクを省略し、サイトの初期表示までの時間を短縮する仕組み。
セッション情報をサーバー側に保存する。

Qualys SSL LABS – SSL Server TestでSSLセッションキャッシュを確認する方法

SSLのセッションキャッシュが有効になっているか確認する。

Session resumption (caching)Yesと表示されていればOK。

nginxでの設定

nginxでのssl_session_cacheの項目に相当する。

nginx公式・Module ngx_http_ssl_module

Session resumption (tickets)

SSLのセッションチケットというのは、httpsの通信開始時に必要なSSLハンドシェイクを省略し、サイトの初期表示までの時間を短縮する仕組み。
セッション情報をクライアント側に保存する。

Qualys SSL LABS – SSL Server TestでSSLセッションチケットを確認する方法

SSLのセッションチケットが有効になっているか確認する。

Session resumption (tickets)Yesと表示されていればOK。

nginxでの設定

nginxでのssl_session_ticketsの項目に相当する。

nginx公式・Module ngx_http_ssl_module

ssl_session_ticketsはデフォルトでonになっている。