HSTS (Http Strict Transport Security)を設定

Security

HSTSについての説明はこちらに詳しく書かれています。

HSTSプリロードリストについて調べてみた

HSTSのpreloadに登録

HSTSのpreloadに登録するための設定は簡単です。

ドメイン自体のAレコードのURLに対して、HTTPヘッダを1つ追加するだけです。

HSTSのpreloadに登録するためには要件が厳しいです。以下の3つを満たす必要があります。

  • includeSubdomainも付加
  • 有効期限は1年以上
  • preloadの指定

HSTSのpreloadのリストはグローバルで1つなのでリストの肥大化を防ぐためにもドメインレベルでしかも長期的に保持するような方針です。

nginxの場合は以下の1行を適切なブロック(serverあたり)に足すだけです。

server {
  add_header Strict-Transport-Security 'max-age=31536000; includeSubDomains; preload';
}

Apacheの場合は以下の1行を適切なディレクティブに足すだけです。

Header add Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"

対応ドメインの登録をする場合は以下のサイトでドメイン名を入力してSubmitします。

HSTS Preload List Submission

Submit後はすぐに登録されるわけではなく、保留されてから登録されるようなのでしばらく待ちます。

ホストごとにHSTSを設定する場合

上記の場合はHSTSのドメインレベルでの登録、ドメインレベルでのHSTS preloadの登録を行いました。

各ホストごとにもHSTSは設定できるので必要に応じて設定すれば良いと思います。

例えば、以下のような感じで有効期限を指定するだけのようになります。(有効期限は1週間の例)

server {
  add_header Strict-Transport-Security 'max-age=604800';
}

コメント