このブログに過去、Content Security Policy を reports-only で適用しました。
前回 ポリシーを変更してから3-4ヶ月が経過しましたので、再度レポートを集計し、定義を見直していきます。
結果を以下に記載します。
前回変更時の記事
AMP HTML を作成後に、Content Security Policy (CSP) の report を 集計して、ポリシーを見直す | Monotalk
現在のポリシー定義
Content-Security-Policy-Report-Only: script-src 'self' 'unsafe-inline' 'unsafe-eval' pagead2.googlesyndication.com www.google-analytics.com *.disqus.com c.disquscdn.com disqus.com *.googletagmanager.com *.google-analytics.com *.ampproject.org; child-src 'self' 'unsafe-inline' *.disquscdn.com *.google.com *.googleapis.com; default-src 'self'; frame-src 'self' googleads.g.doubleclick.net staticxx.facebook.com *.disqus.com disqus.com kemsakurai.github.io *.ampproject.net; img-src 'self' *.disqus.com *.disquscdn.com *.googleusercontent.com *.google.com *.googledrive.comgoogledrive.com data: googledrive.com drive.google.com www.gstatic.com www.monotalk.xyz ssl.gstatic.com ir-jp.amazon-adsystem.com ssl.google-analytics.com; connect-src 'self' *.disqus.com; object-src pagead2.googlesyndication.com; font-src 'self' fonts.gstatic.com; report-uri /report/
CSP のレポートデータの収集と、集計について
MongoDB
に レポートデータは登録しています。
収集、集計方法については以下をご確認ください。
Content Security Policy (CSP) の report を 10 日くらい集計して、ポリシーを見直す(の途中) | Monotalk
集計と、修正の方針
violated-directive
ごとのblocked-uri
を集計、その結果を元にポリシー定義を修正しています。
集計には、AMP HTML を作成後に、Content Security Policy (CSP) の report を 集計して、ポリシーを見直す | Monotalk に記載している MongoDB のクエリ を使用しています。
TOP10 以下も存在しますが、ほとんどのアクセスが TOP10以内に含まれていたため、TOP10以下は除外しています。
violated-directive
ごとの blocked-uri
の集計結果
violated-directive : script-src
での 集計
- 結果
各ドメインごとの設定要否
adservice.google.com
定義ファイルを更新しました(1028) | 280blocker を見る限り、Google ads のドメインに思われるので、許可します。adservice.google.co.jp https://280blocker.net/files/280blocker_adblock.txt に記載があります。Google ads のドメインに思われるので、許可します。
uh.nakanohito.jp 無料ヒートマップ解析ツール User Heat : どこが読まれているか見えるアクセス解析 を導入したのですが、javacript タグで出力されています。許可します。
platform.twitter.com twitter のつぶやきを埋め込んだ記事があるのですが、それで出力されているようです。
特定のツイートをWebサイトやブログに埋め込む | Twitterの使い方 | ぼくらのハウツーノート
許可します。cdn.syndication.twimg.com
これも twitter のつぶやきを埋め込んだ記事で出力されています。許可します。tagmanager.google.com
GTM の デバッグ時にアクセスするドメインです。許可します。googleads.g.doubleclick.net 広告表示時にこのドメインにアクセスにいくことがあるようです。Google 関連のドメインです。許可します。
ダブルクリック (企業) - Wikipedia。
violated-directive : style-src
での 集計
- 結果
各ドメインごとの設定要否
monotalk.xyz
このブログのドメインになります。現在、monotalk.xyz
、www.monotalk.xyz
でもアクセスできるようにしています。
自ドメインの設定は行っていなかったので、許可します。platform.twitter.com twitter の埋め込み記事により出力されているため、許可します。
ton.twimg.com twitter の埋め込み記事により出力されているため、許可します。
www.monotalk.xyz
このブログのドメインになります。現在、monotalk.xyz
、www.monotalk.xyz
でもアクセスできるようにしています。
自ドメインの設定は行っていなかったので、許可します。pwm-image.trendmicro.jp これは、パスワードマネージャー などの plugin でのアクセスでしょうか。
設定はせず、様子を見ます。
violated-directive : frame-src
での 集計
frame-src から、child-src に変更したのですが、report は frame-src で記録されているようです。
- 結果
count | blocked-uri |
---|---|
331 | |
244 | https://platform.twitter.com |
154 | data |
121 | https://syndication.twitter.com |
62 | https://securepubads.g.doubleclick.net |
28 | https://api.weblio.jp |
19 | https://pwm-image.trendmicro.jp |
12 | chrome-error |
9 | https://www.googletagmanager.com |
8 | http://rcm-fe.amazon-adsystem.com |
各ドメインごとの設定要否
platform.twitter.com twitter の埋め込み記事により出力されているため、許可します。
data
結構な数が出力されています。広告で iframe data 属性を使用しているものがあるのかもしれません。
別のHTMLを用意せずにiframeを表示する - Qiita
無視して様子を見ます。syndication.twitter.com 「このツイートをサイトに埋め込む」のための隠し Twitter API の存在 に記載があるように、埋め込みツイートで使われているドメインかと思います。許可します。
api.weblio.jp
英和辞典・和英辞典 - Weblio辞書 の Chrome extention 等で出力されるのでしょうか。
一旦無視して様子を見ます。pwm-image.trendmicro.jp
これは、パスワードマネージャー などの plugin でのアクセスでしょうか。
設定はせず、様子を見ます。www.googletagmanager.com
GTM の デバッグ時にアクセスするドメインです。許可します。rcm-fe.amazon-adsystem.com
以下の記事に記載がありますが、これは amazon のアフィリエイトでアクセスするドメインのようです。許可します。
SSL(https)でAmazonの商品リンク(iframeタグ)が表示されない | FeeeeeLog (フィーログ)
violated-directive : connect-src
での 集計
- 結果
各ドメインごとの設定要否
uh0.nakanohito.jp
無料ヒートマップ解析ツール User Heat : どこが読まれているか見えるアクセス解析 を導入しています。
許可します。www.google-analytics.com
https://www.google-analytics.com/collect
は、[Measurement Protocol のリファレンス | アナリティクス Measurement Protocol | Google Developers] の URL ですね。
Event の送付時などにアクセスがあるように思います。許可します。pagead2.googlesyndication.com
SSL 対応の AdSense 用広告コード - AdSense ヘルプ に記載のある ads の広告表示スクリプトの配置されているドメインです。許可します。syndication.twitter.com
「このツイートをサイトに埋め込む」のための隠し Twitter API の存在 に記載があるように、埋め込みツイートで使われているドメインかと思います。許可します。3p.ampproject.net
Changes from ads.ampproject.net to 3p.ampproject.net · Issue #224 · ampproject/amphtml に記載がありますが、amp の ads がアクセスするドメインのようです。
許可します。www.googletagmanager.com
GTM の デバッグ時にアクセスするドメインです。許可します。
violated-directive : font-src
での集計
- 結果
- 各ドメインごとの設定要否
- monotalk.xyz
自ドメインですので、許可します。
- monotalk.xyz
violated-directive = object-src
での 集計
- 結果
count | blocked-uri |
---|---|
2 |
2件、空白のデータが記録されていました。
無視します。
まとめ
Content Security Policy の report を集計し、定義を修正しました。以下、まとめます。
Googleアドセンス を使っていると、よくわからないドメインにアクセスがあり、且つ、不定期で変わっている?
そのため、Googleアドセンス を使っている限り、report-only を外すのはとても難しいように思う。自ドメインも、サイトのドメインリダイレクト設定如何では policy に定義したほうがいい。
外部サービスのタグを埋め込む場合も、見直しは必要。
以上です。
コメント