SSL
TLS
SSL/TLSDay 8

SSL Labsでサーバ設定をチェック

More than 1 year has passed since last update.

サーバにSSLの設定を適用する上で、設定すべき項目は多いし、間違えばセキュリティ的にまずいことになってしまう、あるいは正常に接続できないなど、なかなかややこしいものです。

幸い、そのようなSSLの設定を検証するサービスがあります。

SSL Labs

SSL Labsは、Qualysというセキュリティ会社が運営している、SSL関連の便利サイトです。右上にある「Test Your server」からサーバのテストモードに入れます。

なお、具体例がないとわかりづらいかと思いますので、ここから先はqiita.comをチェックした結果を見ていくことにしましょう。

サーバのチェック

同じドメインでいくつかサーバがある場合、まずはサーバを選択する画面が出ます(評価はサーバごとに行います)。サーバを選べば、通信を行って、SSLの設定を評価していきます。

総合評価

qiita.comでは「A」ですが、「A+」「A」「A-」「B」「C」「D」「F(致命的に設定がまずい)」「T(証明書が通らない)」のように分かれています。その右側には、「Certificate」「Protocol Support」「Key Exchange」「Cipher Strength」の4つの評価軸で、点数が振られています。

なお、こういう評点を振る系のサービスではよくある話ですが、点数を上げること自体を目的としないようにしましょう。とりわけ、サーバの設定である以上クライアントがあってのものですので、過剰に制限をかけた設定しにしてしまって、クライアントから繋がらなくなれば本末転倒です。

証明書(Certificate)

次に出てくるのは証明書の詳細です。発行元、発行日、コモンネーム、署名アルゴリズムなどが確認できます。また、同時に送ってくる中間証明書についてもチェックできます(間違えてルート証明書まで送信していると、「Contains Anchor」と出ます)。

接続状況

次に出てくるConfigurationでは、まずSSL/TLSの各バージョンへの対応状況が出ます。そして、次にCipherSuiteのリストが出てきますが、3DESのような強度が不十分なものには「WEAK」、輸出暗号やDES、RC4など破られているものには「INSECURE」と出ます。

そこに続くのは、各ブラウザの対応した暗号で接続を試みた場合の状況です。一致する暗号がない、SNIが必要だけどクライアントが非対応なものにはその旨が出ます。古い端末でも接続性を保ちたい、となればこうした情報も参考になるかと思います。

次に、サーバ設定や脆弱性の対応状況が出ます。BEAST、POODLE、CRIME、Heartbleedなどもカバーしていますし、HSTSやキーピンニングの設定も確認できます。

いちばん下はSSLと関係ありませんが、HTTP接続に関する情報が表示されます。