HSTSとは、Webサイトのセキュリティ強化のための設定のひとつで、個人情報保護やガバナンスへの意識の高まりに伴い、その導入率は高まっています。
また、サイトの安全性の向上によるSEO面でのメリットも注目されています。
主要企業サイトのHSTS設定率と設定方法について、ご紹介します。
HSTSとは
HSTSとは、「HTTP Strict Transport Security」の略称で、常にセキュリティで保護されたHTTPS通信でWebサイトに接続するよう指示するWebサーバーの設定です。
「http://」から始まるURLでWebサイトに初めてアクセスすると「http://」で表示されますが、2回目以降は強制的に「https://」で表示されます。
HSTSのメリット・デメリット
HSTSのメリットは主に以下の点があります。
- 個人情報の流出リスクを低減
- サイトのパフォーマンスが向上(HTTPでアクセスがあった場合も、ブラウザは最初からHTTPSでアクセスするため)
- UX(ユーザーエクスペリエンス)が向上(Webサイトの表示速度が速くなるため)
一方で、HSTSには以下のようなデメリットもあります。
- 「http://」での表示ができない
- システムなどで不具合の可能性(「http://」で表示できないため)
- HSTSの設定に不備があるとサイトが正しく表示されないことがある
ただし、「http://」は暗号化されていないため、第三者に通信内容を知られてしまうリスクがあり、「http://」を使い続けるメリットよりもHSTSのメリットの方が大きいと思われます。
HSTSの設定率(世界・日本)
世界主要企業のWebサイトにおけるHSTS設定率は、ほぼ6割ですが、日本主要企業のWebサイトは4割弱に留まっています。
世界主要企業地域別HSTS設定率
世界主要企業のHSTS設定率は、全地域で1年前から伸びています。ただし、アジアの伸びがやや低くなっています(アジア:8ポイント、全体:10ポイント)。
現状では、個人情報管理の意識が高い欧州・北米の8~9割に対し、アジアでは4割程度で著しく低い状況です。
世界主要企業国別HSTS設定率
国別HSTS設定率はEUに加盟するスイス、ドイツ、フランス、オランダが特に高く9割を超え、英国、米国、カナダが続きます。
アジアでは、日本は6割弱ですが、中国、韓国は大きく対応が遅れています。
ただし、日本の主要企業調査ではHSTS設定率が4割弱で、一部のグローバル企業を除き、国内企業のHSTS導入の遅れが明白です。
HSTSの設定方法
HSTS の設定方法は、利用しているWebサーバーソフトによって異なります。
世界的に普及しているWebサーバーのApache(アパッチ)では、設定ファイルにHSTS用のHTTPヘッダを記述することでHSTSが有効になります。併せてHSTSの有効期間やサブドメインの有効化などを設定できます。
ただし、Webサーバーの種類やバージョンによりHSTSの設定ができない場合もあるため、サーバー管理者に確認が必要です。
参考サイト:Strict-Transport-Security┃MDN Web Docs
HSTSによる中間者攻撃を防ぐ仕組み
HSTS未設定のリスク
SSL対応済みのサイトは、HSTSが未設定であっても、HTTPへのアクセスをHTTPSのページに遷移させることができます。ただし、HSTSが設定されていない場合、毎回のアクセスのたびにHTTP通信が発生し、悪意のある利用者から通信内容を盗聴・改ざんされるリスクがあります。このような攻撃を中間者攻撃と呼びます。
HSTSによる中間者攻撃対策
HSTSが設定されているWebサーバにHTTPでアクセスがあると、Webサーバは次回以降のHTTPSアクセスの要求をブラウザに通知します。そのため、2回目からHTTPSによる通信に切り替わるため、情報漏洩などの中間者攻撃を防ぐことができます。
HSTSと301リダイレクトの違い
WebサイトをSSL対応した際に、HTTPでのアクセスをHTTPSに導く301リダイレクト設定が必要になります。
HSTSと301リダイレクトとの違いは、2回目以降のアクセスでのHTTP通信の有無です。
HSTSは2回目以降のアクセスでは、HTTPSのみになりますが、301リダイレクトは毎回アクセス時にHTTPからHTTPSに転送するため、常にセキュリティで保護されないHTTP通信が発生します。
301リダイレクトを設定し、さらにHSTSを設定することで、HTTPS通信のセキュリティをより強化できます。
より安全な方法として、初回からHTTPを使わずHTTPSに誘導する「HSTS Preload(プリロード)」機能があります。
HSTS Preload(プリロード)とは
HSTS Preloadとは、初回アクセス時からhttps接続させるようにブラウザに通知する仕組みです。
Googleが推進、管理しているHSTSプリロードのリストでWebサイトを登録することができます。
ブラウザは、事前にWebサイトが登録されているかを確認し、登録されている場合は常にHTTPSで通信を行います。そのためHTTPでインデックスされているページも、初回アクセスから「https://」のURLに誘導するため安全性が高くなります。
HSTS Preloadを指定すると、Chrome、Firefox、Opera、Safari、IE 11、Edgeで最初のアクセスからHTTPSでの通信となります。
HSTSの確認方法
HSTS の確認方法には、主に以下の3つの方法があります。
1.無料のオンラインツールを利用
HSTS (HTTP Strict Transport Security) Testにアクセスして、対象のURLを入力し、HSTSヘッダーの表示を確認します。
2.Google Chromeの開発者ツールを利用
対象のページにアクセスし、HTMLのレスポンスヘッダ―の”Strict-Transport-Security“を確認します。
3.ブラウザのアドオンを利用
Wappalyzerなどをブラウザに追加し、対象のページにアクセスし、セキュリティの表示を確認します。
HSTSに関するFAQ
「HSTSが使用されているため現在アクセスできません」と表示された場合の対応方法は?
HSTSでHTTPS通信が指定されているのに、HTTPS通信ができなかった際に表示されます。
サーバー証明書のエラー、中間者攻撃などの可能性がありますので、サーバー管理者に相談してください。HSTSをブラウザ側で無効化することはできますか?
基本的にはできません。無効化したい場合はサーバー管理者に相談してください。
HSTSの設定はSEOの結果に影響しますか?
Googleは公式ブログで影響していないと発表しています。
HSTSの有効期間が切れたらどうなりますか?
有効期間が切れると、ブラウザは再びHTTPアクセスを許可します。 そのため、HTTPヘッダの記述を更新する必要があります。なお、HSTSの有効期間はブラウザ側でキャッシュされるため、Webサイトが新しいHSTSポリシーを設定しても、ブラウザが有効期間を経過するまでHTTPへのアクセスを許可しません。
HSTSについてのご依頼やご質問・ご相談など、 お気軽にお問い合わせください
おすすめ記事 こちらもご覧ください。
Webサイト構築・運用をご検討中の皆様へ
Webサイト構築サービス及び運用サービスをぜひご参照ください。