- サイトにアクセスしたら、「この接続ではプライバシーが保護されません」と表示されました。
SSL証明書がいつの間にか期限切れになっていたようです。 - cPanelの「AutoSSL」で自動更新される仕組みだったのですが、なぜか動作してなかったのです。
- 「SSL/TLS」で「デフォルトの SSL/TLS キータイプ」を設定し直すと、自動更新が開始されました。
- ただし、SSL証明書の更新が完了するのには、約3時間ほどがかかりました。
1. 【結論】無事にSSL証明書を更新できた
結論としては、SSL証明書の更新切れに気づいたのが 9時ごろで、なんとか13時ごろには更新が完了しました。
比較的 早く復旧できたものの約4時間ほどの間は、chiilabo.comにアクセスした人にこの警告メッセージが表示されたことになります。
よくわからないとサイトが乗っ取られたのかと思うよね。
1-1. SSL証明書が期限切れ(NET::ERR_CERT_DATE_INVALID)
何気なくスマートフォンからウェブサイト(chiilabo.com)にアクセスしたら、「この接続ではプライバシーが保護されません」と表示されました。
この画面は、Chromeブラウザによる表示で、ウェブサイトにアクセスする前に警告しています。
今回のエラーは「NET::ERR_CERT_DATE_INVALID」というコードで、「SSL証明書が有効期限切れになっていること」を意味していました1。
この接続ではプライバシーが保護されません
chilabo.com では、悪意のあるユーザーによって、パスワード、メッセージ、クレジット カードなどの情報が盗まれる可能性があります。[詳細]
NET::ERR_CERT_DATE_INVALID
SSL証明書には有効期限があり、定期的な更新が必要です。
それがうまくいっていなかったのです。
警告メッセージはありますが、「詳細設定」から「〜にアクセスする(安全ではありません)」を選択すると、無視してサイトを閲覧できます。
このサーバーが chilabo.com であることを確認できませんでした。セキュリティ証明書の期限が昨日で切れています。原因として、設定が不適切であるか、悪意のあるユーザーが接続を妨害していることが考えられます。パソコンの時計は現在2024年1月7日日曜日に設定されています。この時刻が正しくない場合は、システムの時計を修正して、このページを更新してください。
[chilabo.com にアクセスする(安全ではありません)]
SSL証明書が失効すると、サイトと利用者の間の通信が暗号化できなくなります。
ただし、サイトを閲覧するだけなら ほとんど問題ありません。
「パスワードやメッセージ、クレジットカード情報などを送信すると傍受のリスクがある」という意味なのです。
1-2. セキュリティ証明書の情報を確認する
Chromeでは、サイトのセキュリティ保護に不備があると、アドレスバーの左に赤い「×」印が表示されます。
ここを押すと、「詳細」→「証明書情報」からセキュリティ証明書を確認できます。
確かに、有効期限が「2024-01-07」までになっています。
調査日は日本時間で「2024年1月7日9時ごろ」だから当日のはずなんだけど、システム的には「昨日」扱いなんだね。
日本語訳では「有効期限」ですが、 英語では「expires(期限切れ)」なので、有効なのはこの前日までなんですよね。
1-3. cPanel Inc. Certification Authority
ちなみに、セキュリティ証明書の発行元が「cPanel Inc. Certification Authority」というのも重要です。
つまり、SSL証明書は、cPanel Inc. によって取得しているのです。
したがって、更新も cPanel の画面から手続きすればよいことになります。
サイトの運営では、サーバ、ドメイン、セキュリティ証明書と、いろんな手続きをしているので、どこが管轄なのかわかりにくいんだよね。
2. cPanelのSSL/TLS管理
当サイトのレンタルサーバでは、管理画面に cPanel を採用しています。
セキュリティ証明書の管理もそこからしています。
SSL証明書を更新することにしました。
cPanel のメニューには、「セキュリティ」のグループに「SSL/TLS」と「SSL/TLSステータス」の項目があります。
- 「SSL/TLS」は、より基本的なSSL証明書の管理
- 「SSL/TLSステータス」では、AutoSSL機能の操作
「SSL/TLS」でデフォルトのキータイプを「保存」したタイミングで「システムは、デフォルトのSSL/TLSキータイプを更新しました。AutoSSLが証明書の更新を試みます。」というメッセージが表示されました。
「SSL/TLS ステータス」をみると、「AutoSSLは進行中です…」と表示されています。
このまましばらく画面が変わらず不安だったのですが、とりあえず待つことにしました。
改めて3時間後にサイトを見てみてみると、無事にSSL証明書の期限が2024年4月6日まで延長できていました。
SSL/TLSキータイプの保存が関係していたのかは判別できませんでしたが、これで AutoSSL が動作するようになりました。
2-1. 「AutoSSL」とは?
SSL証明書の取得って面倒なイメージだけど、ボタン一つでできちゃうの?
「AutoSSL」は、ドメイン検証済み SSL 証明書をユーザーのドメインに自動的にインストール・更新する機能です。
SSLの管理を自動化するために、Apache、Dovecot、Exim、Web Disk、cPanel Server サービスに追加されている機能です2。
AutoSSL を有効にすると、ウェブサイトは無料のドメイン検証済み SSL 証明書で自動的に保護されます。
さらに便利な点は、有効期限が切れると新しい無料の SSL を要求して、自動的にインストールしてくれることです3。
AutoSSL は、サーバにcron ジョブ ( /etc/cron.d/cpanel_autossl ) が追加して、自動処理を実行しています。
本来は、何もしないでも自動更新なのですが、たまに失敗することもあるようです。
私の SSL 証明書は昨日期限切れになりました (cpanel 経由で完了しました)。通常は「autoSSL」を通じて更新されますが、今回は更新されません。警告のせいで人々は私のサイトにアクセスせず、私は売上を上げていません。
AutoSSL は証明書を自動更新しなくなりました: r/cpanel
2-2. AutoSSLプロバイダー
どこからSSL証明書は取得しているの?
AutoSSLでは、AutoSSLプロバイダーを設定します。
設定した認証局(CA)にSSL証明書を発行してもらうわけです4。
- cPanel (Sectigo 提供) プロバイダー
- Let’s Encrypt プロバイダー
cPanel では、デフォルトで「cPanel (Sectigo 提供)プロバイダー」を使用します。
mixhostでは、SSL証明書世界シェアNo.1のSectigo(旧名:COMODO)を認証局に採用した独自SSLを無料でご利用いただけます。
無料独自SSLのご利用方法 – mixhost ヘルプ&サポート
海外の情報では「認証局は Let’s Encryptの方がよい」という意見もありましたが、「Sectigo でも問題ない」という意見もあります。
意見A)cPanel Sectigo CA または Let’s Encrypt を使用していますか? Let’s Encrypt に切り替えることをお勧めします。cPanel CA の制限が低すぎるため、ほとんどのサイトが更新に失敗する原因になっていることがわかりました。切り替えたら問題はなくなりました。
意見B)Sectigo はレート制限に問題を抱えていますが、cPanel はそれについて何もしません。cPanel フォーラムには、人々が助けを求めるスレッドがほとんどありません。
AutoSSL は証明書を自動更新しなくなりました: r/cpanel
ただし、私が契約している mixhost では AutoSSLプロバイダーを変更するための cPanelのWeb Host Manager が提供されていないので、デフォルトのままです。
3. AutoSSL is in progress
AutoSSLを実行すると、SSL証明書を取得・インストールする自動処理が始まります。
通常は 30分ほどで AutoSSLプロバイダーからSSL証明書を発行されるようです5。
ただし、 24〜72時間ほどの時間がかかることもあるようです。6。
今回は、3時間後に確認してみたら完了していました。
3-1. AutoSSLのエラー
ある程度 時間がかかるのは仕方がないのですが、なかなか「AutoSSL が進行中…」のまま進まずヤキモキしました。
とりあえず、待つしかないのですが、エラーになることもあるようです。
これまでに、認証局でのドメイン検証の不具合で、SSL発行が進まないことがありました。
48 時間以上前に期限切れになった 4 つのドメイン (合計 31 のサブドメイン) で問題が発生しています。AutoSSL では、更新要求がまだ保留中として AutoSSL 保留キューにリストされています。
私の質問は次のとおりです。このキューをパージして新しいリクエストを再度開始する方法はありますか?(…)
リクエストをキャンセルする方法はないようです。これは、AutoSSL リクエストが cPanel ストアによって処理されるために送信されることが原因であると考えられます。その場合、Comodo が証明書を発行するのを待たなければなりません。
まだ保留中の場合は、キューベースのシステムが使用されており、cPanel スレッドから読み取った情報から、処理が遅れている可能性があります。これは、保留中の証明書が発行されるまでにかかる時間に影響する可能性があります。
(…)
この問題は、cPanel の AutoSSL のバグであることが判明しました。
内部ケース番号: CPANEL-13344 は、開発チームが調査して修正するために割り当てられました。
何らかの理由で、AutoSSL では Comodo がサブドメインを検証できないという問題が発生していました。これにより、SSL 注文は保留状態のままになり、7 日後に取り消されます。次回のチェックイン時にスケジュールを変更するだけです。(…)
KH のいつも素晴らしいサポート スタッフと協力して、上記で DarkSorrow で参照した LetsEncrypt プラグインをインストールしたところ、証明書がすぐに発行されたことをお知らせします。
AutoSSL 証明書の更新は、期限切れから 48 時間以上経過しても保留中です。 KnownHost(2017-05-24)
(補足)
- 「NET::ERR_CERT_DATE_INVALID」は Chromeでのエラーコードです。
- What is AutoSSL? – cPanel
- cPanel と WHM の AutoSSL | cPanel ブログ
- Manage AutoSSL | cPanel & WHM Documentation
- 通常30分以内にSSL証明書がインストールされますので、少しお待ちいただいてから再度WordPressにアクセスしてください。 – SSL証明書を手動で発行する方法 – mixhost ヘルプ&サポート
- 無料独自SSLの準備には、ドメインの追加、及びネームサーバー変更後 24〜72時間程度のお時間が必要となります – 無料独自SSLのトラブルシューティング – mixhost ヘルプ&サポート