コンテンツに移動
Silktideヘルプ

コンテンツセキュリティポリシー

Silktide は、すべてのページでコンテンツセキュリティポリシーが宣言されているかをチェックします。コンテンツセキュリティポリシーは、ページで使用が許可されているスクリプト、画像、その他のコンテンツの出典をブラウザーに伝える、標準的なセキュリティ対策です。

コンテンツセキュリティポリシー(CSP)は、またはメタタグとして配信されます。例:

Content-Security-Policy: default-src 'self'; script-src 'self' scripts.example.com

この例では、ブラウザーに対して、自分のドメインと、信頼された 1 つのホストからのスクリプトのみを読み込むよう指示しています。

重要な理由

CSP がない場合、ページは与えられたものをそのまま実行します。攻撃者が、侵害されたサードパーティ製タグ、脆弱なコメント欄、乗っ取られた広告ネットワークなどを通じてスクリプトを挿入できると、ブラウザーはページへの完全なアクセス権を持つそのスクリプトを実行します。これには訪問者が入力したあらゆる内容も含まれます。この種の攻撃であるクロスサイトスクリプティングは、今もウェブサイトが侵害される最も一般的な方法の 1 つです。

CSP はブラウザー側の安全網です。承認されていない出典から挿入されたコンテンツは、単純に読み込まれません。また、ページが通信するサードパーティを文書化するため、 などのプライバシー規制への準拠を示す際にも役立ちます。

修正方法

  1. ページがコンテンツを読み込む正当な出典を一覧にします。自社ドメイン、、アナリティクス、フォント、埋め込みメディアなどです。
  2. それらの出典のみを許可するポリシーを作成します。まずは default-src 'self' のように厳格に設定し、必要に応じてコンテンツの種類ごと(script-src、img-src、style-src など)に特定の出典を追加します。
  3. ウェブサーバー、ホスティングプラットフォーム、または CDN を設定し、すべてのページで Content-Security-Policy ヘッダーとしてポリシーを送信します。ヘッダーを変更できない場合は、ページの head 内に <meta http-equiv="Content-Security-Policy"> タグを配置する方法もありますが、ヘッダーが推奨されます。
  4. 適用前にテストします。まずポリシーを Content-Security-Policy-Report-Only として送信し、ブロックされるはずだったコンテンツをブラウザーのコンソールで確認します。このチェックは適用用のヘッダーを確認するため、Report-Only ポリシーでは合格しないことに注意してください。

Silktide によるテスト方法

  1. 各ページを読み込み、HTTP ヘッダーと、ページ内の http-equiv メタタグを収集します。ブラウザーはこれらを同じ方法で扱います。
  2. いずれかの場所に Content-Security-Policy の値があるかを確認します。
  3. どちらにも存在しない場合、または値が空の場合、そのページを報告します。
  4. Silktide はポリシーの品質を判定せず、存在することだけを確認します。

トラブルシューティング

ポリシーを設定したのにチェックが失敗する

スキャン対象となっている正確なページにヘッダーが表示されることを確認してください。ポリシーがホームページまたは 1 つの仮想ホストにのみ設定されていることがあります。ページが返すヘッダーは、ブラウザーの開発者ツールの Network タブで確認できます。

CSP によってウェブサイトが壊れることはありますか?

厳しすぎるポリシーは、自分のスクリプトやスタイルをブロックする可能性があります。そのため、まず Content-Security-Policy-Report-Only でテストすることを強く推奨します。これにより、何もブロックせずに違反を報告できます。

詳細情報

最終更新

このページは役に立ちましたか?