SSL証明書監視
有効期限切れのSSL証明書は、世界中のすべてのブラウザで真夜中に機能しなくなります。30日以上前に検知しましょう。
SSL証明書の更新漏れによるコスト
SSL証明書が23:59:59に失効しても、穏やかに失効はしません。翌日00:00:00になると、すべてのブラウザが全画面のセキュリティ警告を表示し、すべてのAPIクライアントがTLSハンドシェイクで失敗し、すべてのWebhook連携がエラーを返し、すべての検索エンジンがランキングを下げ、証明書がSMTPにも適用されていれば全てのメールがリバウンドします。復旧は迅速です(再発行や再デプロイ)が、失効から対応までの時間は非常にシビアで、誰も失効前の真夜中以前には気づかず、すべてが終わった後にだけ発覚します。
SSL監視は、この「真夜中前」に気付けるように存在します。モニターは生きたホストから証明書を読み取り、有効期限を解析し、30日前・14日前・7日前・3日前・1日前と十分余裕をもって警告するため、更新のタイミングを逃すことはありません。
監視の対象
監視対象のすべてのHTTPSサイトに対して、DiagnoSEO Uptime MonitoringはTLS接続を確立し、ピア証明書をキャッチして解析します。これによりダッシュボードには以下が記録されます:
- 有効性: 証明書が現在有効期間内か。
- 失効までの日数: 経過日数のカウントを表示し、色付きのバッジで表示します(緑: 30日以上、オレンジ: 8~30日、赤: 8日未満)。
- 失効日: 正確な日付。
- 発行者: 証明書に署名した機関(Let's Encrypt、DigiCert、GlobalSignなど)。
- Subject: 証明書のコモンネーム。
証明書が無効になった場合(失効、不正なホスト名、チェーンの破損、不適切な自己署名など)、モニターはHTTPステータスに関係なくSSLの無効を報告します。「HTTPSが壊れているがサーバー自体は動いている」という状態でも即座に検知できます。
警告の閾値
本ツールは、証明書の失効30日前・14日前・7日前・3日前・1日前の5つのタイミングでSSL警告を発します。各タイミングごとに個別のアラートとなります。メールやTelegramの通知を有効にしていれば、証明書失効が近づくにつれて計5回リマインダーを受け取ります。最初の(30日前)は計画用、14日前は「本当に今週中に実施しましょう」、7・3・1日前はまだ更新されていなかった場合の緊急アラートです。
これらはチャネルごとに無効化も可能です。SSLアラートをメールだけで受け取り、SlackやTelegramには送らないという設定も可能です(ノイズで埋もれるのを防げます)。通知設定でカスタマイズしてください。
自動更新だけでは不十分な理由
Let's Encrypt+certbot等を使っている場合、「SSL監視は不要では?」と思うかもしれませんが、実際は違います。自動更新は様々な理由で失敗することがあります:certbotアカウントのメールアドレスが無効になる、ファイアウォールルールの変更でACMEチャレンジが失敗する、更新用cronが動かない、コンテナの再起動で状態が消える、DNS変更によりドメイン認証が失敗する等。こうしたケースでは証明書は失効に向かい、自動更新はあなたを救いません。SSL監視は自動化から漏れた事象を拾う最後の安全網です。
内部証明書(社内CAや相互TLS等)の場合、自動更新が無いことがほとんどであり、SSL監視が唯一の「更新が必要」という能動的なシグナルとなります。
設定方法
DiagnoSEO Uptime Monitoringでは、すべてのHTTPSモニターで自動的にSSL監視が行われます。個別に有効にする必要はありません。次回以降の詳細チェック時(モニター追加から24時間以内や「今すぐチェック」クリック時)に、行内のSSLセクションが発行者や失効日・残り日数で埋まります。それ以降、30/14/7/3/1日前の閾値でモニターが証明書を監視し、アラートします。
HTTPS以外のモニターではSSLチェックはスキップされます。カスタムSSLポートのモニターには、ツールが該当ポートで接続を試みます(デフォルト443、SMTPSは465、IMAPSは993等タイプごとに合わせます)。
よくあるご質問
-
標準の警告閾値は失効の30日前・14日前・7日前・3日前・1日前です。30日前は営業時間内での更新計画を立てるための余裕を確保し、短い間隔のアラートは緊急度をエスカレーションします。Let's Encryptとcertbot等で自動更新している場合でも、7日前アラートは「本当に更新されたか」確認するタイミングです。更新の静かな失敗は珍しくなく、独立した監視だけがこれを捉えます。
-
はい。本モニターは本当のTLSハンドシェイクを行い、配信証明書を検査します。証明書が失効、自己署名、不一致のCN/SANや未知CA署名などの場合、チェックは特定エラーで失敗します。「証明書は技術的に有効だが誤ってインストールされている」というブラウザが警告する類の問題も検知できます。
-
中間証明書の欠落は、多くのTLSクライアント(curlや古いAndroidデバイスなど)で「chain incomplete」エラーとなります。デスクトップブラウザでは自動的にチェーンを取得できますが、当社のSSLチェックは完全な有効チェーンを要件とします。不足があればチェックが失敗し、モバイル利用者が気付く前に問題を知らせます。
-
はい。ポート付きのモニターURL(例:
https://api.example.com:8443/)を設定してください。モニターはそのポートでTLSハンドシェイクし、証明書を取得します。SMTP STARTTLSやIMAP/POP3 TLSなどカスタムポートでTLSをラップしている他のプロトコルにも同様に対応します。 -
いいえ。TLSハンドシェイクと証明書チェックはすべてのHTTPSチェックの一部なので、追加コストはかかりません。5つの失効アラートも全て無料です。ドメイン失効を調べるWHOISルックアップのみ、別スケジュールでの補助機能となります。
UptimeRobot · Pingdom · BetterStack · Oh Dear · Site24x7 · StatusCake · Sentry · Uptrends · Cronitor · New Relic