N-LAB

AWSのCLB(Classic Load Balancer)配下にHSTSとPreload設定を行う方法


目標


前提


目次

  1. HSTS(HTTP Strict Transport Security)とは
  2. HSTSの有効化
  3. HSTS Preloadとは


1. HSTS(HTTP Strict Transport Security)とは


1. HTTPで通信を行った後にHTTPSにリダイレクトされるため、HTTPからHTTPSにリダイレクトされる途中で第三者により通信の改ざんや攻撃を受ける可能性がある。
2. HTTPは通信の改ざんチェックを行わないため、HTTPSへリダイレクト途中で攻撃されてしまった場合に検知することができない。



2. HSTSの有効化

RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto}=http
RewriteRule .* https://%{HTTP:Host}%{REQUEST_URI} [L,R=permanent]
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"

※RewriteCond %{HTTP:X-Forwarded-Proto}=httpを記述しないとリダイレクトのループが起こるため必ず記載してください。

1. 「chrome://net-internals/#hsts」にアクセスします。

2.「Query HSTS/PKP domain」の「Domain」にドメインを入力し、「Query」をクリックします。
check hsts
3.「Found」が表示されていればHSTSが有効になっています。

3. HSTS Preloadとは



1. HSTS preloadリスト登録サイトにアクセスします。
https://hstspreload.org/

2. 自身の所持するWebサイトのドメインを入力し、「Check HSTS preload status and eligibility」をクリックします。

3. 以下の二つのチェックボックスにチェックをいれ、「Submit {ドメイン名} to the HSTS preload」をクリックします。
「I am the site owner of {ドメイン名} or have their permission to preload HSTS.」
「I understand that preloading {ドメイン名} through this form will prevent all subdomains and nested subdomains from being accessed without a vaild HTTPS certificate.」
※1つ目のチェックボックスでは、サイトのオーナーであるか、またはHSTS Preloadを行う承認を得ているかの確認
※2つ目のチェックボックスでは、全てのサブドメインで有効なHTTP認証が存在しないとアクセスできなくなることを理解しているかの確認

4. 画面下に「Success」と表示されていれば正しく申請が完了しています。

5. 申請状況を確認するには、再度自身の所持するWebサイトのドメインを入力し、「Check HSTS preload status and eligibility」をクリックします。
※申請中の場合は、「Status: {ドメイン名} is pending submission to the preload list」と表示されます。
※登録完了の場合は、「Status: {ドメイン名} is currently preloaded」と表示されます。


以上で全ての手順は完了になります