CSP ジェネレーター

コンテンツ セキュリティ ポリシー ヘッダーの生成

CSP ジェネレーターの使い方

  1. 1許可したいストラテジーコマンド(デフォルト-src、スクリプト-src、img-srcなど)を入力します。
  2. 2信頼するソース名またはプロトコルを入力します。
  3. 3生成されたContent-Security-Policy レスポンスヘッダを表示し、サーバーの設定に固執します。

コンテンツセキュリティポリシーの構築(CSP)

CSP = 直接 1 値 1 値 2; 直接 2 値 3; ...

CSP は、ブラウザのスクリプト、スタイル、画像、接続のソースをホワイトリストにリストします。また、XSS ループホールがあっても、不正な入力を防ぐことができます。

報告のみ(報告のみ)モードでは、違反が最初に記録されることが推奨されます。そうしないと、過度の戦略は、サイト上の正当なリソースを損なう可能性があります。

HTTPレスポンスヘッドによるCSP(コンテンツセキュリティ戦略)は、「これらのソースのリソースのみが読み込まれる」というブラウザを指示し、XSSの防衛**です。 攻撃者がスクリプトに正常に注入されたとしても、白いリストになかった場合、ブラウザは実行を拒否します。 最も厳しい戦略は `default-src 'none ' であり、ケースバイケースベースで必要なソースを開きます。

** インラインスクリプトは、CSP ランディングの最大の障害です**: デフォルト CSP は、全てのインライン <script> を禁止し、プロパティをオンクリックします。 3つのソリューション: 外部ファイル(最もきれいな)から抽出する1つ。 2つは、各応答に対して nonce (<script nonce="...") を使用する。 3つは rash (script content SHA-256) を使用する。 `unsafe-inline '、インラインスクリプトを解放できる間、CSP ' のプライマリ保護を放棄し、できるだけ避けるべきです。 メニュー コンテンツセキュリティ-Policy-Report-Onlyモデルをオンライン観測期間に使用することを提案します** 違反のレポートを収集し、強制的なモデルに切り替える前に戦略を調整する。

コマンドログインサンプル値
default-srcデフォルトのリソースポリシー (戻る)'self'
script-srcJavaScript ソース'self' 'nonce-xxx'
style-srcCSS ソース'self' 'unsafe-inline'
img-src画像ソース'self' data: https:
connect-srcXHR/fetch/WebSocket'self' https://api.example.com
font-srcフォントソース'self' https://fonts.gstatic.com
frame-ancestors誰が埋め込むことができますか?'none'
upgrade-insecure-requests自動アップグレード HTTPリクエスト(値なし)
report-uriメールアドレス/csp-report

一般的なCSPコマンドクイックチェック

よくある質問

ポイントとは?

すべての未指定のコマンドの背景を提供し、したがってほとんどのラベルをカバーするために'self'として設定されます。

初めてのレポートのみを使用する必要がありますか?

はい、サイトを破壊することなく戦略を調整するために、一定期間の報告された違反を観察します。

CSPは、すべてのXSSを停止することができますか?

インパクトを大幅に低減しますが、深い防御層であり、入力フィルターを交換することはできません。

CSPはXSSを完全に保護できますか?

いいえ、銀弾ではなく、深い防衛の一部です。 CSPは、外部スクリプトのロードと内部の注入を防止することができますが、許可されたドメイン名で、悪意のあるスクリプト(例えば、CDNと汚染される)を守ることはできません。 2はJSONPエンドポイントを介して注入しました。 3 DOM XSSは、すでに存在するスクリプトの攻撃の直接動作を指示します。 正しい保護レベルは:入力検証出力変換CSP定期的なセキュリティ監査です。 さらに、csp 設定エラー(例: script-src には * が含まれているか、data:) が動作しない。

サードパーティサービスの後、CSPが失敗したのはなぜですか?

サードパーティ(統計、広告、旅客サービス、地図、フォント)は通常、スクリプト、起動リクエストをロードし、iframe を埋め込むため、それぞれが対応する指示が必要です。 チェック方法: ブラウザコンソールを開き、CSP のデフォルトでは、特定のブロックされた URL を印刷し、必要に応じてコマンドを侵害します。 一般的なニーズ: Google Analytics は、script-src + conect-src が必要です。Google フォントはスタイル src + フォント src が必要です。YouTube はフレーム src が必要です。 メニュー ワイルドカードではなく、第三者に別のソースドメイン名を割り当てました。 メニュー

その他のツール