TLSプロトコルバージョン診断ツール
ドメイン名を入力するだけでTLS 1.0〜1.3の各バージョンへの対応状況を診断します。非推奨の古いバージョンが有効なままになっていないか、サーバー設定を無料でチェックできます。
TLSバージョン診断とは
TLS(Transport Layer Security)は、Webサイトとブラウザの間の通信を暗号化する仕組みで、現在は1.0・1.1・1.2・1.3の4つのバージョンが存在します。このうちTLS 1.0・1.1はBEAST・POODLEといった既知の脆弱性を抱えたまま2021年に正式に非推奨(廃止)となりましたが、サーバー設定を変更しない限り古いバージョンは有効なままになります。本ツールはドメイン名を入力するだけで、サーバーが実際にどのバージョンで接続を受け付けるかを外部から診断します。
診断の仕組みは、対象ドメインの443番ポート(HTTPS)に対してTLS 1.0〜1.3の各バージョンを明示的に指定したハンドシェイクを試行し、接続が成立するかどうかを1つずつ確認するというものです。証明書の中身を見るのではなく、あくまで「どのプロトコルバージョンで会話できるか」というサーバー設定そのものを対象にしているため、PCI DSS(クレジットカード業界のセキュリティ基準)のような外部監査で求められる「非推奨プロトコルの無効化」を自己点検する用途に向いています。
TLSバージョン診断の使い方
- ドメイン名を入力する `example.com` のように、確認したいWebサイトのドメイン名を入力欄に入れます。`https://` やパス部分は不要です。
- 「診断する」を押す 対象ドメインの443番ポートに対して、TLS 1.0〜1.3の4バージョンで順にハンドシェイクを試みます。
- 各バージョンの対応状況を確認する 一覧表に「接続可能」「接続不可(無効化済み)」が表示されます。どのバージョンが有効になっているかが一目で分かります。
- 総合判定を見る 「良好」「要注意」「危険」のいずれかで、設定に問題がないかがひと目で判断できます。
- 問題があればサーバー設定を見直す 非推奨バージョンが有効なままなら無効化を、現行バージョンに未対応なら設定ミスの可能性を疑い、サーバー管理者やホスティング事業者に相談します。
使いこなすためのヒント
- PCI DSS(クレジットカード業界のセキュリティ基準)は2018年以降、TLS 1.0/1.1を「セキュリティが不十分なプロトコル」として無効化を必須にしています。決済を扱うサイトは特に確認しておきましょう。
- 本ツールは証明書の有効期限や発行者を確認するSSL証明書チェッカーとは異なり、サーバーがどのプロトコルバージョンで接続を受け付けるかという「設定」そのものを診断します。両方を併用すると安心です。
- TLS 1.0/1.1が有効なままでも通常のアクセスがすぐに止まるわけではありませんが、主要ブラウザは既に既定で拒否する設定に移行しつつあり、将来的な互換性リスクとして早めの無効化が推奨されます。
- 逆にTLS 1.2・1.3のどちらも無効化されている場合は設定ミスの可能性が高く、最新ブラウザからの接続自体に支障が出るためこちらは最優先で対処すべき問題です。
- 共有サーバーやCDN経由でサイトを運用している場合、TLSバージョンの設定はサーバー管理者やホスティング事業者側で行うため、診断結果に問題があれば契約先のサポートに問い合わせましょう。
TLSバージョン診断の活用シーン
サーバー移行後の設定確認
ホスティングの乗り換えやOSアップデートの直後は、意図せずTLSの設定が初期値に戻っていることがあります。移行作業の最終チェックとして使えます。
セキュリティ監査・脆弱性診断の事前確認
外部のセキュリティ監査を受ける前に、自分で先に古いプロトコルが無効化されているかを確認しておくと、指摘事項を減らせます。
PCI DSS準拠のセルフチェック
決済を扱うサイトはPCI DSSでTLS 1.0/1.1の無効化が義務付けられています。監査を待たずに定期的に自己点検する用途に向いています。
自社ECサイト・会員サイトの脆弱性確認
個人情報やクレジットカード情報を扱うサイトほど、古いプロトコルの放置は信用問題に直結します。定期的な確認を習慣にしておくと安心です。
複数ドメインの設定を横断的に点検する
複数のサブドメイン・関連サイトを運用している場合、1つずつ本ツールで確認することで設定のばらつきに気づけます。
TLSバージョン診断に関する用語集
- TLS
- Transport Layer Security の略。Webサイトとブラウザ間の通信を暗号化するプロトコルで、現行バージョンは1.2と1.3です。URLバーの鍵マークはTLSによる暗号化が有効であることを示します。
- SSL
- TLSの前身にあたるプロトコルです。SSL 2.0・3.0はいずれも設計上の脆弱性を抱えており、現在はTLSに置き換えられていますが、慣習的に「SSL証明書」のようにTLSの文脈でも名前が使われ続けています。
- ハンドシェイク
- クライアントとサーバーが暗号化通信を始める前に行う事前交渉のことです。使用するTLSバージョンや暗号スイートを合意する過程で、本ツールはこの過程が各バージョンで成立するかを確認します。
- 暗号スイート
- 鍵交換・暗号化・改ざん検知に使うアルゴリズムの組み合わせです。TLSバージョンごとに使える暗号スイートが異なり、TLS 1.3では脆弱性の温床になりやすい古い方式が仕様から排除されています。
- PCI DSS
- クレジットカード情報を扱う事業者に向けたセキュリティ基準です。2018年以降、TLS 1.0/1.1を「セキュリティが不十分なプロトコル」として無効化することを義務付けています。
- ダウングレード攻撃
- 通信の途中で古く脆弱なプロトコルバージョンを使わせるよう仕向ける攻撃手法です。非推奨バージョンが有効なまま残っていると、この攻撃の足がかりを与えることになります。
- 非推奨(Deprecated)
- 規格として正式に使用を推奨されなくなった状態を指します。TLS 1.0/1.1は2021年にIETFによって正式に非推奨とされましたが、サーバー側の設定変更をしない限り引き続き動作します。
よくある質問
余談ですが ― TLSバージョンの進化と脆弱性の歴史
TLSの前身であるSSLは1990年代半ばにNetscape社が開発しましたが、SSL 2.0・3.0にはいずれも設計上の欠陥がありました。1999年に標準化されたTLS 1.0はSSL 3.0の後継として登場したものの、実装によってはCBCモード暗号の初期化ベクトルの扱いに不備があり、2011年に発表されたBEAST攻撃によってその弱点が実証されました。
さらに2014年には、SSL 3.0の設計上の欠陥を突くPOODLE攻撃が発表され、これを機にSSL 3.0だけでなく設計思想の近いTLS 1.0/1.1についても危険視する声が急速に高まりました。クレジットカード業界のセキュリティ基準であるPCI DSSは2015年にTLS 1.0の使用を段階的に禁止する方針を示し、2018年6月末を最終期限としてTLS 1.1以下からの完全移行を業界標準として義務付けました。
2018年に標準化されたTLS 1.3は、こうした過去の脆弱性への反省を踏まえ、脆弱性の温床になりやすい古い暗号スイート(RC4・CBCモードのブロック暗号等)を仕様から排除し、ハンドシェイクの往復回数も削減しました。現在では多くの主要ブラウザ・サーバーソフトウェアがTLS 1.3をデフォルトで有効化しており、TLS 1.0/1.1のサポートを既に打ち切っています。
一方で、世界には今なお古いシステムに依存せざるを得ないサーバーも存在し、TLS 1.0/1.1が有効なまま放置されているケースは珍しくありません。自分では気づきにくいサーバーの設定状況を手軽に可視化できることが、本ツールのような診断ツールの存在価値と言えます。