Content-Security-Policyヘッダを入れなさいと偉い人からお達しが出たので調べて追加してみました。
初耳だったので調べたところ、特定の攻撃に対する効果軽減のために設定するヘッダのようです。
コンテンツセキュリティポリシー (CSP) は、クロスサイトスクリプティング (XSS) やデータインジェクション攻撃など
のような、特定の種類の攻撃を検知し、影響を軽減するために追加できるセキュリティレイヤーです。これらの攻撃は
データの窃取からサイトの改ざん、マルウェアの拡散に至るまで、様々な目的に用いられます。
サイトのページから外部リソースにアクセスする対象を予め列挙しておいて、それ以外へのアクセスは許可しない。という対応でクロスサイトスクリプティングは回避するみたいですね。
上記のサイトには記載がありますが、いまいち読み取れなかったので試行錯誤しながらお試ししてみました。
今回はnginxなので、nginxの構文で記載しています。
add_header Content-Security-Policy "default-src 'self'";
この記載だと、自身のサイト以外のリソース(サブドメインもだめ)の読み込みはしない。という設定。
外部のjavascriptもdata:で始まる画像イメージも読み込めません。
今回は、特定の外部リソース(フォントとかJavascript)も読み込みたいし、data:から始まる画像も表示するのでこんな設定にしました。
add_header Content-Security-Policy "default-src 'self' 'unsafe-inline' data: tekitouna-font.com *.subdomain.thissite.co.jp *.googleapis.com *.googletagmanager.com *.google.com";
サイト側で利用するリソースが増えたらまたnginxの設定を変更しないといけない。。。
めんどくさいなぁ