ソリッドシード株式会社

セキュリティ対策に必要なHTTP Headerの紹介

2022年1月13日

Webサービスを開発する時に様々なセキュリティ対策を行いますが、この対策にHTTP Headerの設定も含まれます。
適切に設定するとセキュリティが強化しますので紹介します。

Strict-Transport-Security

HTTPでアクセスした時にHTTPSでアクセスするようにブラウザに指示をします。
HSTSの事になります。
設定するとダウングレード攻撃やクッキーハイジャックから保護できます。
max-ageは秒単位で設定し、ブラウザがHTTPSだけで接続することを記憶する時間です。
includeSubDomainsを指定すると全てのサブドメインに適用されます。
preloadを指定してGoogleのHSTS 先読みサービスに申請すると主要ブラウザでHTTP通信を行わないようにできます。

X-Frame-Options

ブラウザがframe、iframe、embed、objectの中に表示するかを設定します。
設定するとクリックジャッキング攻撃を防ぐ事ができます。
DENYを設定すると全てのページの表示を禁止します。
SAMEORIGINを設定すると対象ページと同じサイトであれば表示を許可します。

X-XSS-Protection

クロスサイトスクリプティング攻撃を検出した時にページ読み込みを停止します。

X-Content-Type-Options

ブラウザがHTTPレスポンスをContent-Typeに基づいて処理するように指示します。
一部のブラウザにはContent-Typeを無視してHTTPレスポンス全体を検査(sniffing)して判断し開発者の意図しない動作を引き起こします。
nosniffを設定するとMIMEスニッフィングを抑止できます。

Content-Security-Policy

コンテンツの提供元などを制限し意図しないコンテンツの読み込みを抑止できます。
設定するとクロスサイトスクリプティング、データインジェクション、クリックジャッキング、パケットキャプチャなどの攻撃を軽減できます。

投稿者:Saito