- Content-Security-Policy(CSP) の概要をまとめる。
Content-Security-Policy(CSP) とは?
- サーバーが、ブラウザに対して自身のセキュリティポリシーを表明するための仕組みを指す。
- スクリプトや画像の実行可能範囲を指定する。
導入が必要な理由
構文
Content-Security-Policy: <policy-directive>; <policy-directive>
-
<policy-directive>
=<directive> <value>
内部の句読点なし-
directive
種別 : 許可するリソースの種類(参考) -
value
:'self'(同一ドメイン、同一ポート※サブドメイン除く)
や特定のドメインを指定
-
-
例1:自ドメインリソースのみを読み込み許可する場合
Content-Security-Policy: default-src 'self'
-
例2 : 自ドメインと指定ドメインのリソースのみを読み込み許可する場合
Content-Security-Policy: default-src 'self' *.example.com
設定の流れ
-
Web アプリが利用する各リソースについて、許可するオリジンのリストを定義する。
-
サーバーから1.で定義した制御設定を
Content-Security-Policy
HTTP ヘッダーに設定してを返却させる。
※meta
タグに指定することも可能。
Apacheでの設定方法
- 設定ファイル(
.conf
ファイルなど)に以下のように、記載を追加する。
Header set Content-Security-Policy "default-src 'self'; script-src 'self' *.example.com"