「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。

-[[戻る>セキュリティ強化のHTTPヘッダ]]

* 目次 [#m9593f4e]
#contents

*概要 [#s95cf358]
特定の種類の攻撃を検知し、
-データの窃取から
-サイトの改ざんによるマルウェアの拡散

など影響を軽減するために追加できるセキュリティレイヤー

*詳細 [#c4b97d8a]
-Content-Security-Policy: W3C 仕様の標準ヘッダー。
-Firefox 23 以上、Chrome 25 以上、および Opera 19 以上でサポート。

-以下のようなポリシーを設定し、それをWebブラウザに強制させる。
--ロード可能なスクリプトを制限する
--インライン記述のスクリプトの実行を禁止する

**方式 [#z0e87136]
コンテンツの

-提供元(URL)
-取得方法(HTTPS経由のみなど)

を制限することで、

-攻撃者のコンテンツを読み込ませることを阻止し、
-結果として、コンテンツに対する攻撃を軽減する。

**対応方法 [#vd8e08b9]

***クロスサイトスクリプティング [#bc4dc4af]
XSS の発生する箇所を削減・根絶することができる。

-実行を許可するスクリプトの正しいドメインをブラウザに向けて指定する。
-究極的な防衛策として、スクリプトの実行を全面的に拒否することも可能。

***パケットキャプチャ [#lfae43b5]
取得するコンテンツのドメインを制限することに加え、~
サーバは通信に使うプロトコルを指定することも可能。

-すべてのコンテンツを HTTPS で取得されるように指定。
-Cookie に secure フラグを付与するように指定。
-[[Strict-Transport-Security HTTPヘッダ>#c8dd0eb5]]

**設定 [#z0c7248b]

***方法 [#w93d3219]
-Content-Security-Policy HTTP ヘッダ~
CSP で優先される配信のしくみは HTTPヘッダ

-<meta http-equiv="Content-Security-Policy" content="・・・">タグ~
ページのマークアップに直接ポリシーを設定する場合に便利

***記述 [#n3179bfc]
-CSP 1.0 仕様
--connect-src
--font-src
--img-src
--media-src
--object-src
--script-src
--style-src
--default-src
--frame-src
--report-uri
--sandbox

-CSP2 の新しいディレクティブ
--form-action
--frame-ancestors
--plugin-types
--base-uri
--child-src

**後方互換性 [#r1b0b682]
-後方互換性を保って設計されている。
--CSP 未対応のブラウザでも CSP 実装済のサーバと通信できる。
--CSP 未対応のサーバでも CSP 実装済のブラウザと通信できる。

-CSP 2 については後方互換性が無い

*関連するヘッダ [#n54ac3d3]

**Strict-Transport-Security [#c8dd0eb5]
-W3C 仕様の標準ヘッダ
-現在接続しているドメインへの次回以降のアクセスにおいて、HTTPSの使用を強制する。

**Content-Security-Policy-Report-Only [#re58040f]

-W3C 仕様の標準ヘッダー。
-Firefox 23 以上、Chrome 25 以上、および Opera 19 以上でサポート。

-ポリシーを強制せず、ポリシー違反が起きた時のレポーティングのみを行う。
-違反レポートは JSON の文書で構成され、HTTP POSTリクエストを介して指定された URI に送信される。

**廃止されたヘッダ [#uc9c2703]

***X-Content-Security-Policy [#ua41991f]
以前のFirefoxで、Content-Security-Policyは、X-Content-Security-Policyだった。
-これらの実装は廃止されている。
-制限があり、一貫性がなく、非常に多くのバグが含まれるので使用してはいけない。

***X-Webkit-CSP [#dbccaaaa]
以前のWebKit系で、Content-Security-Policyは、X-Webkit-CSPだった。
-これらの実装は廃止されている。
-制限があり、一貫性がなく、非常に多くのバグが含まれるので使用してはいけない。

*参考 [#n54c5775]
-Content Security Policy (CSP) - Web セキュリティ | MDN~
https://developer.mozilla.org/ja/docs/Web/Security/CSP

-Content Security Policy の導入 | Mozilla Developer Street (modest)~
https://dev.mozilla.jp/2016/02/implementing-content-security-policy/

-CSP に関するチートシート - OWASP~
https://jpcertcc.github.io/OWASPdocuments/CheatSheets/ContentSecurityPolicy.html

-Cotents Security Policy(CSP)のお勉強 - Qiita~
https://qiita.com/o_Ozzzzk/items/c505b7dd20707eb4ee08

-コンテンツ セキュリティ ポリシー  |  Web  |  Google Developers~
https://developers.google.com/web/fundamentals/security/csp/?hl=ja

**導入しました系 [#n8ed2504]
-Content Security Policy(CSP)をサイトに適用しました~
(Analytics,Adsenseも動くよ) | Webセキュリティの小部屋~
https://www.websec-room.com/2017/05/05/2822

-EGセキュアソリューションズオフィシャルブログ~
弊社のホームページにContent Security Policy(CSP)を導入しました~
http://blog.eg-secure.co.jp/2013/12/Content-Security-Policy-CSP.html

----
Tags: [[:IT国際標準]], [[:通信技術]], [[:IIS]], [[:.NET開発]], [[:.NET Core]],  [[:ASP.NET]], [[:ASP.NET MVC]]

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS