Webサービスを開発する時に様々なセキュリティ対策を行いますが、この対策にHTTP Headerの設定も含まれます。
適切に設定するとセキュリティが強化しますので紹介します。
HTTPでアクセスした時にHTTPSでアクセスするようにブラウザに指示をします。
HSTSの事になります。
設定するとダウングレード攻撃やクッキーハイジャックから保護できます。
max-ageは秒単位で設定し、ブラウザがHTTPSだけで接続することを記憶する時間です。
includeSubDomainsを指定すると全てのサブドメインに適用されます。
preloadを指定してGoogleのHSTS 先読みサービスに申請すると主要ブラウザでHTTP通信を行わないようにできます。
ブラウザがframe、iframe、embed、objectの中に表示するかを設定します。
設定するとクリックジャッキング攻撃を防ぐ事ができます。
DENYを設定すると全てのページの表示を禁止します。
SAMEORIGINを設定すると対象ページと同じサイトであれば表示を許可します。
クロスサイトスクリプティング攻撃を検出した時にページ読み込みを停止します。
ブラウザがHTTPレスポンスをContent-Typeに基づいて処理するように指示します。
一部のブラウザにはContent-Typeを無視してHTTPレスポンス全体を検査(sniffing)して判断し開発者の意図しない動作を引き起こします。
nosniffを設定するとMIMEスニッフィングを抑止できます。
コンテンツの提供元などを制限し意図しないコンテンツの読み込みを抑止できます。
設定するとクロスサイトスクリプティング、データインジェクション、クリックジャッキング、パケットキャプチャなどの攻撃を軽減できます。