mozilla
Your Search Results

    Introducing Content Security Policy

    Content Security Policy (CSP) は、クロスサイトスクリプティング (XSS) やデータインジェクション攻撃を含む、よく知られた種類の攻撃を検出して軽減する、セキュリティの追加レイヤーです。これらの攻撃手法は、データ窃盗からサイト改変、マルウェア感染まで、すべてに使用されます。

    CSP は、完全な後方互換性を保って設計されています。CSP に対応していないブラウザでも、CSP が実装されているサーバに対して動作し、また逆に CSP に対応しているブラウザも CSP を実装していないサーバに対して動作します。CSP に対応していないブラウザは、単純にこれを無視し、Web コンテンツに対しては、標準の同一生成元ポリシー (same-origin policy) を選択して、いつものように機能します。サイトが CSP ヘッダを提供しない場合も同様に、ブラウザは標準の同一生成元ポリシーを選択します。

    CSP は、あなたの Web サーバが Content-Security-Policy HTTP ヘッダを返すように設定するだけで、簡単に有効にできます (Firefox 23 より前は、X-Content-Security-Policy ヘッダを使用していました)。CSP を設定し有効にする方法の詳細は、Content Security Policy の利用方法を参照してください。

    注記: Content Security Policy の標準仕様ではポリシーを設定するために <meta> 要素を使用できると定めていますが、Firefox では未サポートです。本機能のサポート追加は bug 663570 で行っています。

    クロスサイトスクリプティングの軽減

    CSP の最初のゴールは、XSS 攻撃を軽減し、それを報告することです。XSS 攻撃は、ブラウザがサーバから受信したコンテンツを信頼することにつけこみます。コンテンツが表示されているサイトとは別の場所からのものであっても、ブラウザはコンテンツが表示されているサイトを信頼するため、悪意のあるスクリプトが被害者のブラウザによって実行されてしまいます。

    CSP は、実行可能なスクリプトの提供元が検証されていることをブラウザが判別するためのドメインを指定することによって、サーバ管理者が XSS の要因を減らし根絶できるようにします。CSP 互換のブラウザは、ホワイトリストに含まれたドメインから受信したスクリプトだけを実行し、その他のスクリプト (インラインスクリプトやイベントを扱う HTML 属性を含む) をすべて無視します。

    究極的な防護方法としては、実行を許可しないスクリプトのサイトを、スクリプトの実行をグローバルに禁止するサイトに指定することです。

    パケット盗聴攻撃の軽減

    上記に加えて、コンテンツが読み込まれるドメインを制限するために、使用を許可するプロトコルをサーバが指定できます。例えば、(セキュリティの観点から考えて) すべてのコンテンツが HTTPS を使用して読み込まれるように、読み込む条件をサーバが指定できます。

    注記: 完全なデータ伝送のためのセキュリティ戦略には、データ転送に HTTPS を強制するだけでなく、すべての Cookie に安全フラグのマークを付け、HTTP ページから対応する HTTPS ページへの自動リダイレクトを検証することも含まれます。
    注記: サイトは、ブラウザが暗号化されたチャンネルのみを通してこれらへ接続するように Strict-Transport-Security HTTP ヘッダを使用する可能性もあります。

    関連情報

    仕様

    ドキュメントのタグと貢献者

    Contributors to this page: Marsf, yyss
    最終更新者: yyss,