某サイトの運営者から私のほうでインストールした証明書について問い合わせがありました。
証明書はまだ有効でURLもhttpsなのに、Google ChromeでURLの欄に「この接続ではプライバシーが保護されません」と表示されるとのこと。
ちなみにこのhttpsのURLをEdgeで見ても問題なく、FireFoxでは「このページは脆弱な暗号を使用しています」となっていました。
FireFoxの「脆弱な暗号」とは格安の証明書だからなのかわかりませんが・・。
ただ、期限切れ等の無効な証明書の場合は、
Google Chromeでは「このサイトは安全ではありません」
Edgeでは「このサイトは安全ではありません」
FireFoxでは「警告: 潜在的なセキュリティリスクあり」
というヤバい警告が表示され、サイトを表示しませんので、それに比べればカワイイ(?)ものです。
とりあえず、Chromeで「このサイトは安全ではありません」とURL欄に表示される原因を調べると
httpsなのに鍵マークがない原因は、混在コンテンツかも
という記事がありました。
確かに某サイトはhttpでアクセスがあった場合もhttpsにリダイレクト(正規化)していないので、強制的にhttpsオンリーにしてしまえば解決しそうです。
以前、SSLを導入する際、画像のパスとかJavaScriptのパスとかがhttp://からフルパスで書かれていないかチェックしているので、全体をhttps://に強制しても問題はないことはわかっていました。
また正規化にあたっては.htaccessでサイト全体をhttpsにリダイレクトさせるように運営者に打診しました。
しかし・・・もう1つ某サイトには問題がありました。
某サイトのサーバーはひと昔(10年)近く古い契約で、OSも古いのです。
なにが問題かというとTLS1.0だったのです。
主要ブラウザの「TLS 1.0」と「TLS 1.1」無効化計画について
という記事がありました。
TLSとは、をWikipediaから引用しておきます。
Transport Layer Security(トランスポート・レイヤー・セキュリティ、TLS)は、インターネットなどのコンピュータネットワークにおいてセキュリティを要求される通信を行うためのプロトコルである。(後略)
しかし、今回の某サイトはサーバーが古すぎてTLS1.0からTLS 1.2もしくはTLS 1.3にあげられないという問題があったのです。
ちなみにSSL Server TestでチェックしてもTLS1.0にしか対応できていないからお前はCだ!と判定されました。
もう引っ越しを某サイト運営者に進言するしかないのですが、サーバーが古いと同時にサイトに組み込んでいるプログラムのバージョンも古く、MySQLも古いはずです。
静的コンテンツだけのサイトならまだ良かったのですが、ちょっと骨が折れそうです。
とりあえず今回のケースでは、Google ChromeでURLの欄の「この接続ではプライバシーが保護されません」、FireFoxの「このページは脆弱な暗号を使用しています」を消すためには、httpsへの統一(正規化)だけでは済まず、サーバーのTLS1.0を上げる必要があったということで、逆に言えばそれを実行すれば(たぶん)解決すると考えられます。
現場からは以上です。