SSL証明書とは?
サイトのTLS証明書は、サイトの身元を証明し、ブラウザとサーバー間の通信を暗号化します。期限切れ、自己署名、または名前の不一致がある証明書は信頼を損ない、訪問者を遠ざけるブラウザ警告を引き起こします。IPeekはホストに直接接続して稼働中の証明書を読み取り、発行者、有効期間、残り日数、対象となる名前、検出された問題を報告します。
TLS証明書が身元を証明する仕組み
TLSハンドシェイク中、サーバーは信頼された認証局(CA)によって署名された証明書を提示します。ブラウザは、証明書の名前がホスト名と一致すること、署名チェーンが信頼するルートに到達すること、現在の日付が有効期間内にあることを確認します。3つすべてが通れば、通信は暗号化され、鍵マークが表示されます。「SSL」は今でも一般に使われる名称ですが、実際のプロトコルは長年TLSです。IPeekはこれと同じハンドシェイクを実行し、単に鍵マークを描画するのではなく、サーバーが返した内容を報告します。
証明書の結果の読み解き方
まず残り日数を確認します。30未満なら早めの更新が必要で、マイナスの値は証明書がすでに期限切れで、訪問者には今すぐ警告が表示されていることを意味します。発行者を確認し、自己署名の仮の証明書ではなく本物のCAであることを確かめます。Subject Alternative Name(SAN)の一覧は、証明書が対象とするすべてのホスト名を示すため、www.example.comを含まないexample.comの証明書はそのバリアントで失敗します。最後にチェーンが完全であることを確認します。中間証明書が欠けていると、一部のクライアントでは検証できても他では壊れます。
よくある証明書の問題と修正方法
最も頻繁な失敗は単純な期限切れで、更新してウェブサーバーを再読み込みすれば解決します。名前の不一致は、ホスト名がSAN一覧にないことを意味するため、正しい名前で再発行するか、ワイルドカードを追加します。「自己署名」や「信頼されていない発行者」のエラーは、証明書チェーンが信頼されたルートに到達していないことを意味し、たいてい中間証明書がリーフ証明書とともにインストールされていないためです。修正後はIPeekで再確認し、ロードバランサーやCDNに古い証明書が残ることが多いため、実際に配信されている稼働中の証明書が意図したものと一致しているか確かめてください。
SSL証明書チェックが必要なとき
公開前、そしてホスティングの移行、CDNの変更、証明書のローテーションを行うたびにチェックを実行してください。これらは名前の不一致やチェーンの欠落が現れる瞬間だからです。特に自動更新でない証明書については、期限日の前にリマインダーを設定しましょう。また、訪問者からブラウザのセキュリティ警告が報告された際の最速の診断手段でもあります。チェックにより、問題が期限切れか、名前の不一致か、チェーンの破損かが即座に分かるため、推測ではなく対処できます。