概要

コンテンツセキュリティポリシー (CSP) は、クロスサイトスクリプティング (XSS) やデータインジェクション攻撃などのような、特定の種類の攻撃を検知し、影響を軽減するために追加できるセキュリティレイヤーです。これらの攻撃はデータの窃取からサイトの改ざん、マルウェアの拡散に至るまで、様々な目的に用いられます。

—— MDN

参考

Contents Security Policy (CSP) のお勉強 – Qiita

コンテンツセキュリティポリシー (CSP) | MDN

導入

参考

HTTP CSP について – Qiita

Content-Security-Policy の概要メモ – Qiita

CSP (Contents Security Policy) の記述例 | ラボラジアン

Content Security Policy でユーザーを守ろう | bitbank techblog

Content Security Policy | 酒と涙とRubyとRailsと

Content Security Policy の導入 | Mozilla Developer Street (modest)

使い方

参考

CSP (コンテンツセキュリティポリシー) について調べてみた | SSTエンジニアブログ

Content-Security-Policy | MDN

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

Can I use

参考

Content Security Policy 1.0 | Can I use Support Tables

Content Security Policy Level 2 | Can I use Support Tables

混在コンテンツ (Mixed Content)

  • block-all-mixed-content
  • upgrade-insecure-requests

参考

混在コンテンツ | MDN

混在 (ミックス) コンテンツと CSP | DigiCert デジサート 正規代理店

SSL なのに安全でない?! 混在コンテンツとは | 4CREATOR JAPAN

mixed contents 対応を促進する CSP ディレクティブ | blog.jxck.io

Google Chrome と Mixed Content | だるろぐ

What is mixed content? | web.dev

block-all-mixed-content | MDN

upgrade-insecure-requests | MDN

混在コンテンツの修正

参考

HTTPS 化で困る混在コンテンツ (Mixed Content) の発見と退治方法 | after work Labo

HTTP を HTTPS に一括置換する Upgrade Insecure Requests | Hatena Blog Theme Custom

混在コンテンツでブロックされるウェブサイトを修正するには | MDN

Fixing mixed content | web.dev

block-all-mixed-content / report-uri

参考

Mixed Content のブロックされた URI をレポートさせる仕様追加 | ASnoKaze blog

block-all-mixed-content | MDN

JSONP エンドポイントによる CSP バイパス対策

参考

Content Security Policy Level 3 における XSS 対策 | pixiv inside

base-uri

参考

base-uri | MDN

default-src

参考

default-src | MDN

script-src

参考

script-src | MDN

style-src

参考

style-src | MDN

unsafe-inline / nonce

参考

nonce-source について調べてみた | A Day in Serenity Reloaded

そろそろ CSP Lv.2 nonce やろう | teppeis blog

How to prevent the use of unsafe-inline in CSP | Barry van Veen

ダイジェスト/ハッシュ値

参考

CSP Hash Examples and Guide | CSP Reference & Examples (content-security-policy.com)

Whitelisting inline script with csp sha-256 in firefox – Stack Overflow

Correctly using hash with content security policy (CSP) – Stack Overflow

What is a hash for href=javascript: code? – Stack Overflow

unsafe-hashes

参考

unsafe-hashes | CSP Reference & Examples (content-security-policy.com)

unsafe-hashes | Chrome Platform Status

Usage of “‘unsafe-hashes'” | Content Security Policy Level 3 (w3.org)

unsafe-eval

文字列からコードを生成する安全ではないメソッドの実行を許可する。

  • eval
  • Function
  • setTimeout
  • setInterval

参考

安全ではない eval 式 | MDN

データ URI スキーム

参考

Why would ‘data:’ be a script-src for CSP? – Stack Overflow

ソースリスト

  • 'none'全てのリソースをブロックする
  • 'self'現在の URL の生成元と一致するリソースのみ許可する
  • URL 直接表記
  • URI スキーム
  • ホスト名
  • ワイルドカードを用いたドメイン内ホストの指定 → 下位ホストが全て含まれる
  • ノンスノンスが一致するインラインリソースを許可する
  • ダイジェストスクリプトまたはスタイルシートのハッシュ値 (sha256 / sha384 / sha512)

参考

ソースリスト | Content Security Policy Level 3 日本語訳 (triple-underscore.github.io)

Source Lists | Content Security Policy Level 3 (w3.org)

Matching host-source expression in Content Security Policy (CSP) | Jaroslaw Porzucek

W3C Working Draft

参考

Content Security Policy Level 3 日本語訳 (triple-underscore.github.io)

Content Security Policy Level 2 | W3C (w3.org)

Content Security Policy Level 3 | W3C (w3.org)

サンプル

参考

nico3333fr/CSP-useful/csp-for-third-party-services – GitHub

サイト

参考

CSP Reference & Examples | Foundeo (content-security-policy.com)

nico3333fr/CSP-useful: Collection of scripts, thoughts about CSP (Content Security Policy) – GitHub

CSP Evaluator

参考

CSP Evaluator | withgoogle.com

google/csp-evaluator – GitHub

CSP Mitigator

参考

CSP Mitigator – Chrome ウェブストア

Chrome Extensions

参考

Content Security Policy (CSP) | Google Chrome [Official]

記事をシェアする:
タグ:

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です