コンテンツセキュリティポリシーとは何ですか
ウェブサイトのコンテンツセキュリティポリシー(CSP)は、ウェブ管理者がリソース(スクリプト、スタイルシート、画像、フォントなど)がウェブサイトでどのように読み込まれ、実行されるかについてのルールを定義し、強制することを可能にするセキュリティメカニズムです。クロスサイトスクリプティング(XSS)攻撃やその他のコードインジェクション脆弱性から保護するのに役立ちます。
CSPは、許可されたさまざまな種類のコンテンツのソースを定義するポリシー指令を含むHTTPヘッダーまたはウェブサイトのHTMLコード内のメタタグを指定することによって機能します。これらのソースには、ホスト名、パス、または特定のタイプのコンテンツが含まれる場合があります(例:同じオリジンの場合は 'self'、禁止されている場合は 'none'、インラインスクリプト/スタイルの場合は 'unsafe-inline'、コードを動的に評価する場合は 'unsafe-eval')。
<!DOCTYPE html>
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self' 'unsafe-inline' www.example.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com; img-src 'self' data:; font-src 'self' fonts.gstatic.com;">
</head>
この例では:
- default-src 'self' ; は、すべてのリソースタイプのデフォルトポリシーを設定し、同じオリジン('self')からのリソースのみを許可します。
- script-src 'self' 'unsafe-inline' www.example.com ; は、同じオリジン('self')からスクリプトを読み込むことを許可し、インラインスクリプト('unsafe-inline')を許可し、 www.example.com からのスクリプトを許可します。
- style-src 'self' 'unsafe-inline' fonts.googleapis.com ; は、同じオリジン ('self') からスタイルシートを読み込むことを許可し、インラインスタイル ('unsafe-inline') を許可し、 fonts.googleapis.com からのスタイルシートを許可します。
- img-src 'self' data ; は、同じオリジン('self')から画像を読み込むことを許可し、データURLを許可します。
- font-src 'self' fonts.gstatic.com ; は、同じオリジン ('self') からフォントを読み込むことを許可し、 fonts.gstatic.com からフォントを許可します。
CSP(Content Security Policy)は、ウェブサイトがどのようにコンテンツを表示し、どのリソースを読み込むことができるかを制御するためのセキュリティ機能です。これにより、クロスサイトスクリプティング(XSS)やデータインジェクション攻撃からウェブアプリケーションを保護することができます。CSPを適切に設定することで、悪意のあるコードの実行を防ぎ、ユーザーのデータを安全に保つことが可能になります。
CSPが有効なウェブサイトを訪れると、ユーザーのブラウザは要求されたリソースが定義されたポリシーに準拠しているかどうかを確認します。ポリシーのルールに合わないリソースがある場合、ブラウザは構成に応じてそれらの動作をブロックまたは変更することがあります。
CSPは、以下を含むいくつかの利点を提供します:
- XSS攻撃の軽減 : 実行可能なコードのソースを制限することにより、CSPは信頼できるソースのみを許可することで悪意のあるコードの挿入リスクを減少させます。
- データ流出防止 : CSPは、データを送信できるオリジンを制限することで、不正なデータ送信を防ぐことができます。
- クリックジャッキングに対する保護 : CSPは、フレームまたはiframeのソースを制限することでクリックジャッキング攻撃を防ぐことができます。
- 強化されたセキュリティ対策 : CSPは、さまざまな種類の攻撃に対する追加の保護層を提供することによって、ウェブアプリケーションやウェブサイトの全体的なセキュリティを強化するのに役立ちます。
パーソナライズにどのように影響しますか
ウェブサイトに対して許可されたコンテンツの読み込み元を指定するコンテンツセキュリティポリシー(CSP)を実装している場合、ブラウザはホワイトリストにないソースからのコンテンツを拒否します。このシナリオでは、ブラウザはMoEngageがあなたのウェブサイトにコンテンツを読み込むことを許可しません。その結果、あなたがMoEngageで作成したバリエーションの読み込みに影響が出る可能性があります。
CSPをナビゲートする方法
あなたのウェブサイトでバリエーションを読み込むためにMoEngageを有効にし、バリエーションのプレビューを生成するには、既存のコンテンツセキュリティポリシー(CSP)で対応するルールを更新してMoEngageをホワイトリストに追加する必要があります。
ポリシー指令 |
指令に追加するものは何ですか? |
script-src-elem または script-src |
*.moengage.com |
style-src |
'unsafe-hashes' *.moengage.com fonts.bunny.net |
img-src |
*.moengage.com moe-email-campaigns.s3.amazonaws.com |
font-src |
*.googleapis.com *.moengage.com fonts.gstatic.com; |
connect-src |
*.moengage.com |
frame-src |
*.moengage.com |
media-src |
*.moengage.com |