コンテンツセキュリティポリシー(CSP)
英語の正式名称:Content Security Policy
CSPは、Webサイトに読み込むコンテンツの種類や取得元を、細かく制限できるしくみです。
主な目的は、悪意あるスクリプトの実行や不正なコンテンツの読み込みを防ぐことにあります。例えば、外部の広告やアクセス解析タグを読み込むとき、その配信元が信頼できるとは限りません。もし攻撃者がその配信元を乗っ取ったら、知らないうちに不正なJavaScriptプログラムが実行され、利用者の情報が盗まれる可能性があります。CSPは「このサイトはこのドメインからのスクリプトだけを許可する」というルールを設定し、それ以外の読み込みを拒否します。まるで、鍵のかかったゲートで不審な荷物を止めるようなものですね。
CSPで制御できる対象は、スクリプトや画像、スタイルシート、フォント、メディアファイルなど多岐にわたります。ルールはHTTPレスポンスヘッダやHTMLのタグで指定します。例えば、script-src 'self' https://example.comと書けば、自分のサイトと指定したドメインからのスクリプトだけを読み込めるようになります。
CSPを導入すると、クロスサイトスクリプティング(XSS)などの攻撃を大幅に防げます。ただし、設定が厳しすぎると正しいコンテンツまで読み込めなくなり、ページの表示が崩れることもあります。そのため、まずは「レポートモード」で適用し、違反があれば報告を受け取って確認する流れが安心です。
便利な機能だからといって、設定して終わりではありません。新しい外部サービスを導入したり、ページ構造を変更したときは、CSPのルールも更新する必要があります。こうした継続的なメンテナンスが、長期的な安全を守る鍵になるのではないでしょうか。
CSPは、見えない場所でサイトを守る“門番”のような存在です。うまく使いこなせば、攻撃の多くを未然に防げます。セキュリティの強化策として、早めに検討してみましょう。
用語解説の監修:増井 敏克