CSPContent Security Policy
CSP (Content Security Policy) は、ブラウザに読み込み許可するスクリプト・スタイル・画像等の出所をホワイトリストで指定するセキュリティ機構で、XSS対策の主要手段です。
詳細解説
CSP は、HTTPレスポンスヘッダー「Content-Security-Policy」または meta タグで、ブラウザが許可するリソース取得元を細かく制御するW3C仕様です。ディレクティブとして default-src / script-src / style-src / img-src / connect-src / frame-ancestors / form-action などがあり、'self' / 'none' / nonce-xxx / 'strict-dynamic' / hash-値 などの指定が可能です。'unsafe-inline' と 'unsafe-eval' はXSSを許容するため避けるのが原則で、代わりにnonce方式 (リクエストごとにランダムnonceを生成) や hash方式が推奨されます。違反検知のためreport-to / report-uri ディレクティブで違反レポートを集約できます。CSP3 では 'strict-dynamic' により信頼スクリプトが動的に他スクリプトを読み込めるようになっています。
実装例 / 使い方
- 01Content-Security-Policy: default-src 'self'; script-src 'self' 'nonce-rAnd0m'
- 02frame-ancestors 'none' でクリックジャッキング対策
- 03report-uri /csp-report で違反を Sentry に転送
関連する用語
XSS
Cross-Site ScriptingXSS (Cross-Site Scripting) は、悪意あるスクリプトをWebページに埋め込み他ユーザーのブラウザで実行させる攻撃で、Reflected・...
SRI
Subresource IntegritySRI (Subresource Integrity) は、外部 CDN から読み込むスクリプトやスタイルのハッシュ値を integrity 属性で検証し、改ざ...
CORS
Cross-Origin Resource SharingCORS (Cross-Origin Resource Sharing) は、ブラウザの同一オリジン制約を超えてクロスオリジンHTTPリクエストを許可する仕組み...
クリックジャッキング
Clickjacking / UI Redress Attackクリックジャッキングは、透明iframeで標的サイトを重ね利用者の意図と異なる操作 (送金・SNS投稿等) をクリックさせる攻撃です。対策は X-Frame-O...
CSPを、実際に活用する
用語の意味は分かった。次は実装。EXBANK の無料診断で、貴社で具体的にどう活用できるかをご提案します。
営業時間 平日10-18時 / 通常24時間以内に返信
