コンテンツセキュリティルール(以前のポリシー)は、アプリケーションが読み込んでよいリソースを定義します。Cloudflare が HTTP レスポンスに追加する Content Security Policy (CSP) ディレクティブを通じて動作します。コンテンツセキュリティルールには 2 種類あります。
- ログルール は、許可リスト外のリソースをブロックせずに報告します。
- 許可ルール は、明示的に記載されていないリソースをブロックします。
許可ルール を作成すると、許可リスト方式のセキュリティモデルを定義できます。許可するリソースを正確に指定し、それ以外は拒否します。この方法により、アプリケーション内の望ましくないサードパーティスクリプトの攻撃面を減らせます。
コンテンツセキュリティルールは、Cloudflare が監視するクライアントサイトリソース(スクリプトとその接続など)と、その他の種類のリソースの両方を制御できます。詳細は 対応している CSP ディレクティブ を参照してください。
コンテンツセキュリティルールは、次のいずれかのアクションを実行できます。
- Log: ルール対象外のリソースをブロックせず、ルール違反 として報告します。新しいコンテンツセキュリティルールをデプロイする前の検証に使います。
- Allow: ルールで明示的に許可されていないリソースをブロックし、ルール違反 として記録します。必須のアプリケーションリソースを誤ってブロックしないよう、Log アクションでルールを検証してからこのアクションに切り替えてください。
各ルールアクションで Cloudflare が作成する CSP ディレクティブの詳細は Client-side security の仕組み を参照してください。コンテンツセキュリティルールが対応する CSP ディレクティブの詳細は 対応している CSP ディレクティブ を参照してください。
| ログルール | 許可ルール | |
|---|---|---|
| CSP ヘッダー | content-security-policy-report-only |
content-security-policy |
| ブラウザーの動作 | すべてのリソースを読み込む | 許可リストにないリソースをブロックする |
| 違反 | ブロックせずに Cloudflare へ報告 | ブロック後に Cloudflare が記録 |
| 用途 | 適用前にルールを検証する | 許可したもの以外を拒否するモデルを適用する |
コンテンツセキュリティルールの作成手順は、次のページを参照してください。
コンテンツセキュリティルールを設定すると、まもなく Cloudflare ダッシュボードにそれらのルールの 違反 が表示され始めます。
ゾーンに設定したコンテンツセキュリティルールに合わせて、Client-side security のアラート通知をフィルタできます。これらのアラートを スコープ付きアラート と呼びます。