SSL グレーダー

「証明書は有効か?」だけでなく、「TLS 設定全体が現代的か?」を問います。このページは各プロトコルバージョンを個別にプローブし、証明書の鍵と署名を読み取り、前方秘匿性と HSTS を確認して、結果を文字グレードにまとめます——減点はすべて説明付きなので、B や C が何を直すべきか正確に分かります。

継続的に監視しませんか?myeventwatch で無料監視——有効期限とダウンタイムのアラート、カード不要。

グレードが測るもの

証明書チェックは、1 枚の文書が有効かどうかを答えます。設定はそのチェックに合格してもなお弱いことがあります:頼めば誰にでも TLS 1.0 で応答するサーバー、将来の鍵漏えいで今日記録したトラフィックを復号できてしまう暗号、初回アクセスをダウングレード可能にする HSTS ヘッダーの欠落。そこでグレーダーは 4 つを測り、それぞれ結果に専用のセクションがあります。プロトコルマトリクスは TLS 1.0、1.1、1.2、1.3 のそれぞれに固定したハンドシェイクを 1 回ずつ実行します——そのバージョンに固定したハンドシェイクが実際に完了した場合にのみサポートありと数えるので、「サポートあり」は測った結果であり、たまたま交渉されたバージョンからの推測ではありません。証明書セクションは、検証に失敗する場合でもサーバーが提示するものを報告します:発行者、対象名、有効期間、鍵の種類とサイズ、署名アルゴリズム。前方秘匿性は交渉された暗号から読み取ります:TLS 1.3 スイートは構造上前方秘匿であり、古いスイートは一時鍵交換を使う場合に限ります。そして HSTS はドメインのルート応答から、その max-age とフラグとともに読み取ります。

意図的な省略が 1 つあります:OCSP ステープリングはチェックしません。このサービスが使う TLS ライブラリはステープル済み応答を公開しないため、グレーダーはそれを観測できず、推測せずにそう明言します。ステープリングはグレードを助けも損ないもしません;気になる場合は自分のマシンから openssl で確認してください。グレードの採点基準自体は以下に全文を書いています。監査できないグレードは単なるバッジにすぎないからです。

採点基準を平たく言うと

どのサイトも A+ から始まり、減点がグレードに上限を設けます——適用される最も厳しい上限が勝ち、それぞれ結果に所見として現れます。F は、ブラウザがサイトを拒否するか、使用可能な TLS がまったくないことを意味します:期限切れの証明書、自己署名証明書、ホスト名をカバーしない証明書、MD5 署名、またはポート 443 でハンドシェイクが一切成功しないこと。C は、時代遅れまたは信頼できないことを意味します:検証できないチェーン(通常は中間証明書の欠落)、弱い鍵(2048 ビット未満の RSA、または小さな楕円曲線)、SHA-1 署名、またはサポートされる最高プロトコルが TLS 1.1 以下であること。B は、実在するが耐えられる弱さを意味します:現行プロトコルと並んでまだ有効なレガシープロトコル、または前方秘匿性のない交渉済み暗号。A は、小さな問題が 1 つあることを意味します:HSTS ヘッダーがない、HSTS の max-age が 6 か月未満、または証明書が 30 日の更新ウィンドウ内にあること。所見を順に修正してください——まず F と C、次に B、最後に A——そして変更のたびに再グレードしてください;1 時間のキャッシュがあるため、修正の再確認は少し待った方がよい場合があります。裏側では、このページは sysosx のサーバーの GET /api/check/ssl-grade を呼び、サーバーがプローブを実行してグレードを 1 時間キャッシュします。

関連ツール:証明書の素早い確認と有効期限カウントダウンには SSL チェッカー、到達可能性・証明書・有効期限・レコードをまとめて見るには ウェブサイトヘルスチェック、TLS 設定は問題ないがリダイレクト経路がおかしい場合には HTTP ステータスチェーン、ポート 443 以外にホストで何が待ち受けているかには ポートスキャナー。ドメインが今日提示しているものではなく、過去に発行されたものを見たい場合は Certificate Transparency 検索を使ってください。

さらに読む:TLS グレードの稼ぎ方と失い方——各上限の背後にある一般的な失敗とその修正を、手を付ける価値のある順序で。

よくある質問

SSL チェッカーと何が違うのですか?

SSL チェッカーは 1 つの問いに答えます:このサーバーはどの証明書を提示し、それは有効か?グレーダーは TLS 設定全体を監査します:サーバーがまだ提供しているプロトコルバージョン(TLS 1.0 から 1.3 まで、各バージョンを個別にプローブ)、交渉された暗号が前方秘匿性を与えるか、証明書の鍵サイズと署名アルゴリズム、そして HSTS が設定されているか。手早く有効期限のカウントダウンを見たい場合はチェッカーを、設定自体が現代的かどうか知りたい場合はグレーダーを使ってください。

各グレードは何を意味しますか?

A+ はクリーンな結果です:現行プロトコルのみ、前方秘匿性、このホスト名をカバーする有効なチェーン、そして長期の HSTS。A は小さな問題が 1 つあることで、通常は HSTS の欠落や短さ、または証明書が 30 日の更新ウィンドウ内にあることです。B は実在するが耐えられる弱さです:まだ有効なレガシープロトコル、または前方秘匿性のない暗号。C は時代遅れまたは信頼できない何かです:検証できないチェーン、弱い鍵または SHA-1 署名、または最高プロトコルが TLS 1.1 以下であること。F はブラウザがサイトを拒否するか、使用可能な TLS がまったくないことです:期限切れ、自己署名、または不一致の証明書、または MD5 署名。

TLS 1.0 をサポートしているだけで B に上限が付くのはなぜですか?

「サポートしている」はサーバーに関する事実であり、訪問者に関する事実ではないからです。現行のものは何も TLS 1.0 を交渉しないので、有効にしておいても互換性は何も得られず、最も弱い暗号が提供され続けます。この上限は、1999 年のプロトコルがまだ応答している間は設定を現代的と呼ばないというグレーダーの姿勢です。無効化は通常設定の 1 行で、グレードはすぐに回復します。

グレーダーが OCSP ステープリングをチェックしないのはなぜですか?

ページに明記された正直な制限です:このサービスが使う TLS ライブラリはステープル済み OCSP 応答を公開しないため、グレーダーはそれを観測できません。推測する代わりに、ステープリングを「未チェック」と報告し、グレードを助けも損ないもしない扱いにします。ステープリングが気になる場合は、自分のマシンから openssl s_client -connect host:443 -status で確認してください。

結果が 1 時間キャッシュされるのはなぜですか?

グレードはサーバーの TLS 設定が変わったときにのみ変わり、それは稀で意図的なことです——答え自体が目的である DNS 伝播とは違います。新しいチェックは、他のサーバー側チェックと同様に訪問者ごとに制限され(1 時間に約 20 回、短いバースト枠付き)、キャッシュされた結果にはその旨が表示されます。何かを修正したばかりの場合は、1 時間待つか、キャッシュの有効期限が切れた後に再確認してください。