Content-Security-Policy

提供: セキュリティ
2015年4月29日 (水) 12:12時点におけるDaemon (トーク | 投稿記録)による版

(差分) ←前の版 | 最新版 (差分) | 次の版→ (差分)
移動: 案内検索
スポンサーリンク

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ヘッダの関係

Content-Security-Policy
ヘッダのフィールド 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を利用することができます。

関連項目




スポンサーリンク