SSL脆弱性の診断ツール

サイトがhttpsで表示されるようになったからと言って、安全性や信頼性が保証されているか?
といったら答えはNoです。

例えMixed Contentを解消して、鍵マークが表示されているからといっても、証明書の種類やSSL/TLSのバージョンによっては脆弱性がある場合があります。

今回はその脆弱性を診断してくれるツールのご紹介をしたいと思います。

Qualys SSL Labs社が提供している「SSL Server Test」は、SSL証明書の設定状況の確認、安全性の診断などを行うことができるツールです。(無料)

診断結果はA+、A、B、C、D、E、Fまでのグレードで表示され「B以下」と診断された場合には、脆弱性が見つかったことになります。
試しに、当サイト「mediaquery.info」を診断してみました。

SSL Server Test
https://www.ssllabs.com/ssltest/

診断結果は「A」でしたので、所要範囲です。
では、SSL化しているのに脆弱性が見つかるとは、いったいどういうことなのか?

それには、SSL/TLSのバージョンの問題があります。
例えば「C」だった場合のエラーを見てみましょう。

注目したいエラーは。

The server supports only older protcols, but not the current best TLS 1.2 Grade capped to C,
サーバーは古いプロトコルのみをサポートしますが、現在の最高のTLS 1.2グレードはサポートしていません。

現在推奨されているTLS 1.2になっていないのと、サーバーがそれに対応していないために出るエラーです。ちなみに現在の最新はTLS 1.3ですので、このエラー自体も古い印象ですが、そもそもTLSって何だ?と思われる方もいるかと思います。SSLはバージョンアップの過程で、TLSに名称変更されました。

よって、今世間一般に使われている暗号化プロトコルはTLSが正しいのですが、SSLの認知度が広くその名残りでSSL/TLSと記載されるようになりました。

エラーの重要度

最悪の「F」の場合のエラーはこちら。

ピンクの帯で表示されている内容:直ちに解決する必要のある重大な問題です。
オレンジの帯で表示されている内容:できれば解決したほうが良いとされる事項 (Forward Secrecy等) です。
グリーンで表示されている内容:評価対象サイトで解決済みの有名なセキュリティ欠陥(Heartbleed attack等)です。

ここでいうところのピンクの帯は、Diffie-Hellman鍵交換の脆弱性について突かれています。早い話が、TLSプロトコルの欠陥でSSL/TLSの通信の過程で鍵自体が脆弱なものに書き換えられてしまうリスクがあるということです。

このように、httpsにして鍵マークが出ていても安心することができず、脆弱性が発見されてはTLSのバージョンアップがされていくので、その都度情報を拾ってサーバーのTLSバージョンもアップしていく必要があります。ある意味コンピュータウィルスのいたちごっこに似ていますね。

特にサイト上で決済機能などユーザーの重要な情報を取り扱うサイトを運営している場合は、常にアンテナを張って脆弱性対策をしていきましょう。