Tomcat 6でJavaベースのWebアプリケーションを実行しています。アプリケーションはlocalhostとポート9001で実行しています。
アプリケーションのセキュリティを強化し、 [〜#〜] xss [〜#〜] 攻撃のリスクを軽減するために、ヘッダーContent-Security-Policy
に値を追加しました=)default-src * 'unsafe-inline' 'unsafe-eval'; script-src 'self'。これにより、Webアプリケーションが同じドメインからJavaScriptファイルをロードできるようにします。
他のリソースについては、このヘッダーがない場合と同じ方法でロードを続けます。
しかし、以下のエラーが発生します。
Content Security Policy: The page's settings blocked the loading of a resource at self ("script-src http://localhost:9001").
コンテンツセキュリティポリシーヘッダーは、信頼できるソースのホワイトリストです。
default-src
リストは、他のすべての*-src
リストで使用されるリストです。存在しない場合、デフォルトはdefault-src: *
であり、これは「すべてのコンテンツがどこからでも許可される」ことを意味し、XSSに対する保護を提供しません。
したがって、あなたは
default-src none
、すべてのコンテンツが許可されないようにする、またはdefault-src 'self'
。ドメインのコンテンツのみが許可されます。その後、他の*-src
は必要に応じて置き換えることができます。たとえば、次の例では、イメージ以外のすべてに対して自己を信頼しており、イメージはexample.comからのみ許可されています( 'self'からは許可されていません)。
default-src 'self'; img-src example.com;
質問ではdefault-src * 'unsafe-inline' 'unsafe-eval';
を指定します。これは、*
がすでに'unsafe-inline'
および'unsafe-eval'
を示唆しているため、問題を引き起こしている可能性があります。 「すべてを許可し、インラインを許可し、evalを許可する」と言うようなものです。
また、CSPは、IE> = 8のX-Content-Security-Header
を介してサポートされています。
出典: