Googleの見解を解説 ~ SSL化されていないサイトにアクセスがなくなる日が近い
2021年11月16日 10時30分更新
こんにちは。KUSANAGIの開発チームで取締役をしている相原です。
「KUSANAGI」はWordPressをはじめとするCMSを高速に動作させる世界最速クラスの仮想マシンです。わたしたちは「KUSANAGI」を開発して皆様にご利用いただくほか、お客様のWebサイトを「KUSANAGI」で運用しています。
この連載では、「KUSANAGI」の開発やお客様とのお話の中で感じた課題や実際の運用の中で得た知見などをお伝えしています。
第1回目の記事のこの図、覚えていらっしゃいますか?
Googleの速度に関する見解の変化をまとめたものですが、2014年、2015年、2017年に注目してみてください。HTTPS(常時SSL化)を強力に推進させていたのがわかります。 連載第3回は、Googleは2021年も世界中のWebサイトのSSL化を進めようとしているというお話です。
常時SSL化とは
常時SSL化というのは、Webサイト全体の通信を暗号化(HTTPS化)するものです。
以前はお問い合わせフォームなどの個人情報を入力するページが優先的に暗号化されていました。しかし、Webサイト全体の通信の安全性が求められるようになったことと、通信の暗号化と復号化によるオーバーヘッドを解消する「HTTP/2」や無料の証明書「Let's Encrypt」の普及などを背景に、常時SSL化が一気に広まりました。
w3Techsには「有効なSSL証明書を使用しているWebサイトが5年前の17.8%から82.2%まで増加した」とあります。
また国内上場企業における常時SSL化対応サイトは 86.7%(常時SSL化 調査レポート 上場企業サイト対応状況(2021年10月版)(株式会社フィードテイラー)より)ということですので「常時SSL化は当たり前」といってもよいくらい普及してきたといえるでしょう。
Chrome94で実装されたHTTPS優先モード
2021年9月にリリースされたChrome94で「HTTPS優先モード(HTTPS-First Mode)」が実装されました。
Chromeの設定>プライバシーとセキュリティ>セキュリティを開くと、
移動先を HTTPS にアップグレードし、HTTPSをサポートしていないサイトは読み込む前に警告を表示します
という設定項目があります。「アップグレード」というのがどういうことなのか少しわかりにくいので実際のサイトでどうなるかみてみましょう。
「HTTPS優先モード」でHTTPSにアップグレードSSL化はしたものの、HTTPSにリダイレクトさせるのを忘れてしまい、HTTPのアクセスが残ってしまっているサイトをみかけます。そのようなサイトでどうなるのかを調べるために、「httpsとhttp両方でアクセスできるサイト」を作りました。
まず通常の「HTTPS優先モードOFF」でアクセスするとアドレスバーに入力したとおり「https://~」と「http://~」で表示されます。
続いて「HTTPS優先モードON」で同様にアクセスしてみると、アドレスバーに「http://~」と入力したほうは強制的に「https://~」に変換されて表示されました。可能であればHTTPS接続に「アップグレード」してくれる機能ということですね。
HTTPからHTTPSへのリダイレクトと同じ動きになるので、「SSL化したもののリダイレクトを忘れてしまった」というサイトにはちょっとうれしい機能かもしれません。
HTTPS優先モードONにするとSSL化されていないサイトは表示されないではSSL化されていないサイトはどうなるのかも確認してみましょう。
SSL化されていないサイトに「HTTPS優先モードON」でアクセスすると「xxxへの接続は安全ではありません」と表示されるだけで、この先にどのようなサイトがあるかわかりません。この状態で「サイトへ移動」を押すにはかなり勇気が必要です。SSL化されていないサイトは気がつかないうちにユーザーを失ってしまう可能性があります。
証明書が無効な場合はこれまでどおり赤色も利用して「プライバシーが保護されません」と強く警告がでますので、証明書の失効などについても引き続き気をつけていきましょう。
混在コンテンツはどうなるのか少し気になるのが、混在コンテンツの扱いです。自分のサイトはSSL化していても他サイトのSSL化されていないコンテンツを読み込んでいると、HTTPSとHTTPが混在することになります。
はじめにSSL化されていないサイトでの画像の表示について確認します。「HTTPS優先モードOFF」では「http://~」で普通に表示され、「HTTPS優先モードON」にすると先ほどと同様にブロックされます。
この画像のURLを、SSL化済みのWordPressの記事に挿入し、混在コンテンツが存在する状態を作ります。フロントでも管理画面でもHTTPで始まる画像は表示されないだけで「HTTPS優先モード」による影響はありませんでした。
混在コンテンツの画像が表示されないのは以前からの仕様ではありますが、わかりやすいエラー表示もないので、いつのまにか外部の画像が表示されなくなっているケースもありそうです。この機会に合わせて見直してみてはいかがでしょうか。もちろん、SSL化未対応で他のサイトに画像を提供しているサイトはアクセスを失っている可能性があるので、SSL化を進める必要があります。
「HTTPS優先モード」と「リダイレクト」のブラウザの挙動の違い「HTTPS優先モード」と「HTTPからHTTPSへのリダイレクト」のブラウザの挙動の違いも調べてみました。
HTTPからHTTPSへのリダイレクトが設定されているサイトにHTTPでアクセスすると、「HTTPS優先モードOFF」では301リダイレクト(※)になります。
「HTTPS優先モードON」ではステータスは200でリダイレクトされていますが、「Time」の項目をみると「Pending」となっており読み込みが発生していません。
もう少し詳しくみてみます。「HTTPS優先モードOFF」ではリダイレクトされる前にレスポンスが返ってきています。
「HTTPS優先モードON」を利用してもらえるほうが表示速度にも良い影響を与えそうですね。
※HTTPからHTTPSへのリダイレクトには301リダイレクトを利用することが一般的です
許可してしまった非SSL化サイトを再度ブロックする「サイトへ移動」のボタンを押して一度許可してしまった非SSL化サイトを再度ブロックしたいときは、アドレスバーの鍵マークを押して表示されるウインドウ内「警告を再度有効にする」という項目から設定できます。
FirefoxにもHTTPS-Onlyモードがある
Chromeの他にFirefoxにもHTTPS-Onlyモードがあります。Firefoxには適用除外の一括管理の機能もあるので、どのサイトを許可したのかひとめでわかって良いですね。
Chromeだけではなく他のブラウザでも対応が進んでいることをみても今後は「HTTPS優先モード」が主流になっていきそうです。
常時SSL化はそれほど難しくない
最近はレンタルサーバでも無料のSSL証明書に対応しているところもあり、安価に運用できるようになっています。
SSL化した際にはサイトのURLも「https://~」に変更する必要がありますが、WordPressのようなCMSではプラグインを活用するのもひとつの方法です。
わたしたちの開発している「KUSANAGI」も常時SSL化を簡単に行なことができます。「kusanagi ssl」コマンドで無料の証明書「Let's Encrypt」の取得や、WordPressのSSL化、HTTPからHTTPSへのリダイレクトなどの設定を簡単に行なうことができるので、ぜひお試しください。
静的ファイルや直書きされたリンクの変換し忘れに注意常時SSL化した際にはコンテンツ内やテンプレートなどに直接記載されたリンクも適切に変換する必要があります。具体的にはデータベース内のリンクの置換、ファイル内のリンクの置換を行います。HTTPからHTTPSへのリダイレクトで対応可能な部分もありますが、毎回リダイレクトが発生するのはあまり好ましくありません。
対応方法に不安がある場合は信頼できる技術者に相談するのもひとつの方法です。
「HTTPS優先モードON」のデフォルトに備えよう
「HTTPS」は今年Googleが打ち出した「ページエクスペリエンス」の項目の1つでもあります。Webの発信者にとってはユーザーを守るためのいわば義務のようなものでもあり、サイト(=企業)の信頼性の基本とも言えます。
「HTTPS優先モード」は現在のところデフォルトではOFFになっていますが、いずれONになる可能性があるともいわれています。特にSSL化していないサイトには大きな影響がありますので、対応を進めておきましょう。