はじめに
本章の目的
この章では、SSL/TLS診断ツールの全体像をわかりやすく説明します。まずは「どのような種類があるか」「いつどのツールを使うべきか」を押さえてください。
ツールの大きな分類
- オンライン診断ツール:ブラウザから簡単に利用でき、証明書の有効期限や設定ミス、既知の脆弱性を短時間で確認できます。初期確認やお客様への報告に向きます。
- コマンドライン/オープンソース系ツール:サーバ管理や自動化に適します。プロトコルや暗号スイートの詳細なチェック、スクリプトでの定期監視が可能です。
- Windows/IIS向けツール:Windows環境に特化した操作性や管理機能を持つ専用ツールがあります。GUIで設定を確認したい場合に便利です。
使い分けの基本方針
目的が「手早い確認」であればオンライン診断を使い、運用や自動検査にはコマンドラインを選びます。環境がWindows中心なら専用ツールの採用を検討してください。
本書では次章以降で各ツールの具体的な使い方と選び方を丁寧に解説します。
オンライン診断ツール
概要
ブラウザだけで使える診断サービスは手軽で導入が簡単です。URLを入力するだけで、証明書やプロトコル、暗号化方式などを自動で評価し、分かりやすいレポートを返してくれます。時間がないときや外部からの見え方を確認するときに便利です。
主なツールと特徴
- Qualys SSL Labs(SSL Server Test): 証明書の有効性、プロトコル互換性、暗号スイートなどを総合評価しスコア表示します。外部からの見え方を把握しやすいです。
- SSL/TLS Scanner系: POODLEやHeartbleedなど既知の脆弱性を自動チェックします。結果に基づき優先度の高い対処が分かります。
- SSL Checker系: 証明書の有効期限、チェーン不備、ホスト名不一致など設定ミス検出に特化します。更新忘れや中間証明書の抜けを見つけやすいです。
使い方のポイント
- 公開しているドメインのURL(またはIP:ポート)を入力するだけで診断できます。2. レポートのスコアや警告を優先度順に整理すると対処が楽になります。3. 定期的にチェックして有効期限や設定変更を監視してください。
注意点
- 診断結果は外部から見た状況を示します。内部ネットワーク固有の設定は反映されない場合があります。- 一部のオンラインツールは詳細なテストに時間がかかることがあります。
コマンドライン/オープンソース系ツール
概要
サーバ管理や自動テストに組み込みやすいツールを紹介します。どれもコマンドラインで動作し、スクリプトやCIに組み込めます。使用例と注意点を具体的に示します。
testssl.sh
- 概要: Linuxでそのまま動くシェルスクリプト型の診断ツールです。幅広いテスト項目を一度に実行します。
- インストール例:
git clone --depth 1 https://github.com/drwetter/testssl.sh.git
cd testssl.sh
./testssl.sh example.com:443
- 特徴: プロトコル、暗号スイート、証明書チェーン、脆弱性(Heartbleed等)を包括的にチェックします。結果が見やすく、ログ出力を自動化できます。
SSLyze
- 概要: Python製で細かい暗号や古いプロトコルの可否を調べやすいです。
- インストール例:
pip install --user --upgrade sslyze
sslyze --regular example.com:443
- 特徴: ライブラリとしても使えるため、プログラム内で診断結果を扱えます。特定の暗号だけをチェックするような自動化に向きます。
sslscan
- 概要: 軽量で速く、暗号スイートや証明書情報を素早く確認できます。
- 実行例:
sslscan example.com:443
- 特徴: シンプルな出力で手早く状況把握したい時に便利です。
自動化とCIへの組み込み
- どのツールも非対話で実行できます。定期検査やプルリク時のチェックに組み込みやすいです。
- 例: CIでの実行は、出力をパースして失敗条件(古いプロトコル有効、弱い暗号検出など)を設定します。
出力の読み方と注意点
- 「プロトコル」「暗号スイート」「証明書チェーン」をまず確認してください。問題が見つかれば具体的な修正(サーバ設定の無効化や証明書更新)を行います。
- 診断時は対象サービスの負荷やアクセス制限に注意してください。誤って大量アクセスすると運用に影響します。
Windows / IIS 向けの診断
概要
IIS環境では、証明書の配置やバインド設定で問題が起きやすいです。Microsoftの「SSL Diagnostics」はメタベース(IIS設定)や証明書ストアを自動でチェックし、SSLハンドシェイクのシミュレーションも行えます。手作業で探すより早く原因を絞れます。
準備と注意点
- 管理者権限で実行してください。IIS設定や証明書ストアへアクセスします。
- 診断前に対象サイトのバインド(ポート443、SNIの有無)と使用証明書をメモしておくと便利です。
SSL Diagnostics の使い方(手順)
- ツールを起動し、診断対象のサーバー名またはローカルを指定します。
- 証明書ストアとIISバインドの自動チェックを実行します。
- エラーが出たら、表示された項目(証明書未配置、パス不一致、期限切れなど)に沿って対応します。
よくある問題と具体的対処
- バインドされている証明書が「個人(Personal)」ストアにない:証明書を正しいストアへインポートして再バインドします。
- SNIが必要なのに無効:複数サイトを同一IPで運用している場合はSNIを有効にします。
- ハンドシェイクで失敗:プロトコル(TLSバージョン)や暗号スイートの設定を見直します。
実務ポイント
- ログと診断結果を保存してから変更を加えてください。再起動が必要な場合があるので、業務時間外に作業することをおすすめします。
- 自分で直せない場合は、診断結果のスクリーンショットを用意してシステム管理者に渡すと対応が早まります。
どれを選ぶかの目安
用途別の選択基準
- 外部からの総合スコアを見たいとき
-
Qualys SSL Labs を使ってください。ドメインを入力するだけで A〜F の評価と詳しい説明が得られます。公開サービスの総合的な安全性を短時間で把握できます。
-
社内で継続的に自動診断したいとき
- testssl.sh はシェルスクリプトで、Cron に組み込んで定期実行できます。脆弱性やプロトコルのサポート状況を網羅します。
-
SSLyze は Python ベースで JSON 出力が得られるため CI に組み込みやすいです。
-
証明書のインストールとチェーン確認
-
オンラインの SSL Checker 系ツールはチェーンの欠落や誤った順序を簡単に指摘します。ローカルで確認するなら OpenSSL の s_client コマンドが便利です。
-
IIS 固有のトラブル解決
- Microsoft の SSL Diagnostics を推奨します。IIS 特有のバインディングや SNI、証明書ストア周りの問題を詳しく診断します。
選ぶ際のポイント
- 外部評価か内部運用かをまず決める。
- 自動化やレポート形式(HTML/JSON)が必要か確認する。
- サーバー上で権限が必要なツールかどうかを考える。
- まず簡単なオンライン診断で問題の有無を把握し、必要に応じて CLI ツールで継続監視や詳細調査を行うと効率的です。












