【SSL/TLS】中間証明書を設定しないとこんな症状が出る
最近、少しずつサイトの常時SSL(AOSSL)化に向けた設定・確認作業を進めていたのですが、そのテスト中、nginx にうっかり中間証明書をインストールし忘れたときに確認できた症状についてまとめておきます。
サーバへ中間証明書をインストールしないと、こんな症状が出てきます。
1.ブラウザからのアクセス時に、エラーが出る「場合」がある
例えば Chrome の場合、こんなエラーが出て、コンテンツの閲覧がブロックされる場合があります。
"この接続ではプライバシーが保護されません。攻撃者が example.com 上のあなたの情報(パスワード、メッセージ、クレジット カード情報など)を不正に取得しようとしている可能性があります。"
ただし、この辺りの事情は少し複雑で、必ずしもエラーにならないというか、むしろ、現在ではエラーになるケースのほうが珍しいので、別途、ちゃんとブラウザ以外の方法でも証明書チェーンの確認作業が必要になる感じです。
背景には、Internet Explorer や Firefox などの新しいバージョンでは、不足している中間証明書を自動的にダウンロード・補完してくれる機能があることがあります。また、中間証明書のキャッシュが原因かもしれませんが、PC 版 Chrome でもエラーを見る機会はありませんでした。ただし、スマホやiOSデバイスからのアクセス時にはエラーを何度か確認しています。
いずれにしても、証明書が正しく設定していないと、HTTPS接続のうちのある割合は機会損失となってしまいますので、注意しましょう。
2.QUALYS SSL LABS の SSL Server Test でエラーが出る
中間証明書が無い状態で、QUALYS SSL LABS の SSL Server Test でテストをかけると、次のエラーが出て、評価が「B」判定となります。
" This server’s certificate chain is incomplete. Grade capped to B. "
HTTPS 対応サイトを作った後にはここで確認することが多いので、最悪、ここで気が付くはず。
3.GeoTrust CryptoReport でもエラーが出る
誰にでも使える方法ではありませんが、今回は、さくらの「ラピッドSSL」サーバ証明書を発行したので、GeoTrust CryptoReport というサイトでも証明書チェーンのエラーをチェックできました。
証明書に問題があれば「Intermediate certificate missing」というエラーが確認できます。このサイトの便利なところは、ついでに中間証明書をダウンロードできるリンクまで表示してくれる点。
また、削除すべきクロスルート証明書の提案なんかもしてくれます。
GeoTrust 系の中間証明書は、サーバー証明書の発行時期によって適切なものを選ぶ必要がありますが、ここでチェックすれば一発で正しいものが出る?詳細は不明ですが、中間証明書の入手には便利なサイトと思いました。
余談
ウチのサイトの話しを少し。実は、数ヶ月前に HTTP/2 の設定を入れたタイミングから HTTPS 接続自体はできるようになってはいたのですが、色々と心配ごとが多かったので、HTTP → HTTPS へのリダイレクト設定はせず、Google Search Console がらみの設定も変えないまま、様子を見ていました。
というのも、ウチのサイトは検証が必要な Ad Network が多く、中には未だに技術的な課題を抱えていた所もあったためで、どうしても切り替えにはかなり慎重にならざるを得なかったのです。
あと、これは気のせいかもしれませんが、常時SSL化したブログ系サイトさんって、たいてい、SSL化後にアクセス数を大きく減らしているケースが多いようにも思えていたので、それもあって、急がず焦らずのんびりやろうと考えていました。が、どうやら Google 検索にじわりじわりと HTTPS のURLがインデックスされている様子だったので、先週末くらいから急いで確認作業をしているところでした。
正直、色々ありましたが、とりあえず、一番大きかったSSP側の対応が終わったようなので、SSL化作業は一山越えた感じがあります。ということで、2017年6月29日からHTTPS化のリダイレクトもスタートしました。
関係ないけど、SSL、SSLって言うけど今はTLSだよね…。
関連・参考情報:
こんな記事も読んでみませんか?
- 【Let's Encrypt】certbotの仕様についてAIに質問した回答のメモ(ChatGPT 4)
- さくら、ジオトラスト系SSLサーバー証明書の一部ユーザーに「再発行のお願い」を送付。再発行は無料
- 無料のサーバー証明書「Let's Encrypt」を使ってみて気が付いた事【SSL/TLS】
- nginxのサーバー証明書と中間証明書の連結順序について(key values mismatchエラー)
- 無料SSL/TLS証明書の「Let's Encrypt」がワイルドカード証明書を発行開始。2018年1月より
- 【Let's Encrypt】さくらのクラウドのDNSで「DNS-01 Challenge」を使ってみた