「Content-Security-Policy」の版間の差分
提供: セキュリティ
行53: | 行53: | ||
* ウェブページと同じサーバから配信されるJavaScriptだけをscript srcで読込、実行可能です([[同一生成元ポリシー]])。 | * ウェブページと同じサーバから配信されるJavaScriptだけをscript srcで読込、実行可能です([[同一生成元ポリシー]])。 | ||
* eval などの関数の実行が禁止されます。 | * eval などの関数の実行が禁止されます。 | ||
+ | == テスト == | ||
+ | [[Content-Security-Policy]]をテストするために、[[Content-Security-Policy-Report-Only]]を利用することができます。 | ||
== 関連項目 == | == 関連項目 == | ||
* [[Content-Security-Policy-Report-Only]] | * [[Content-Security-Policy-Report-Only]] |
2015年4月29日 (水) 12:12時点における最新版
Content-Security-Policy (CSP, コンテンツセキュリティポリシー)とは、コンピュータセキュリティコンセプトで、XSS(Cross-site Scripting, クロスサイトスクリプティング)や関連した攻撃を防ぐためのものです。これは、ウェブアプリケーションセキュリティのW3Cワーキンググループの勧告候補です。CSPは、ブラウザがページでロードするべきコンテンツの承認されたソースを宣言する標準のHTTPヘッダをウェブサイトのオーナに提供します。JavaScript, CSS, HTML フレーム、フォント、画像、Javaアプレット、ActiveX, オーディオやビデオファイルなどの貼り付けオブジェクトのタイプをカバーしています。
読み方
- Content-Security-Policy
- こんてんと せきゅりてぃ ぽりしー
概要
Content-Security-Policy(CSP)のオリジナルは、Mozilla Foundation によって開発され、Firefox 4 で最初の実装がなされました。2012年に、W3C候補になりました。以下のヘッダ名が実験的なCSPの実装として使われています。
- Content-Security-Policy
- W3C ドキュメントによって、標準ヘッダ名として提案されました。Google Chrome バージョン 25 でサポートされました。2013-8-6にリリースされた Firefox 23 でサポートされました。
- X-WebKit-CSP
- 2011年に、Google Chrome や ほかのWebKitベースのブラウザ(Safari)で実験的に導入されたヘッダです。
- X-Content-Security-Policy
- Geco 2 ベースのブラウザで実験的なヘッダとして導入されました。(Firefox 4 - 22, Thunderbird 3.3, SeaMonkey 2.1)
Internet Explorer 10やInternet Explorer 11は、CSPのsandboxディレクティブをサポートしました。
新しい CSP 1.1 の仕様は、W3Cによって提案されています。
Angular JS や Django のようないくつかのウェブフレームワークは、CSPをサポートしています。
ブラウザとCSPヘッダの関係
ヘッダのフィールド | Mozilla Firefox | Apple Safari | Google Chrome | Internet Explorer |
---|---|---|---|---|
X-Content-Security-Policy | 4.0 - 22 | - | - | 10以降 |
Content-Security-Policy(W3C 1.0) | 23 - | 7 - | 25 - | - |
X-Webkit-CSP | - | 6 | 14 - 24 | - |
書式
Content-Security-Policy: オプション
使い方
ブラウザによるスクリプトの実行の禁止
Content-Security-Policy: default-src 'self'
この設定では、以下の制限が課せられます。
- HTML内のインラインスクリプトの実行が禁止されます。
- ウェブページと同じサーバから配信されるJavaScriptだけをscript srcで読込、実行可能です(同一生成元ポリシー)。
- eval などの関数の実行が禁止されます。
テスト
Content-Security-Policyをテストするために、Content-Security-Policy-Report-Onlyを利用することができます。