【要注意】Cloudflare、ネームサーバー切り替え時に勝手に解析ツールを埋め込んでくる仕様について
Tell HN: Cloudflare silently injects its analytics when you switch nameservers
Tell HN: Cloudflare silently injects its analytics when you switch nameservers
数時間前、R2バケットを自身のサブドメインで配信するために、ネームサーバーをCloudflareに切り替えました。すると、私の「HTMLのみ・JSなし」で構成されたサイト(textlog.cc)に、Cloudflareが勝手にJS解析スニペットを注入しているのを発見したのです。このスニペットを無効にするためには、わざわざAnalyticsダッシュボードにアクセスしてサイトを追加し、その上でようやくオフにできるという非常に面倒なプロセスが必要でした。このような仕様はユーザーの領域を侵害しており、本来であればオプトアウト式ではなく、明示的なオプトイン式であるべきです。まだ気づいていない方への注意喚起として共有します。
CFをプロキシとして使うなら、これって常識じゃないの?そうじゃないと、どうやってトラフィックやDDoSのテレメトリを提供してるのか謎だけど。
そう、Webアナリティクスが有効になってるとJSが追加されるんだよね。昔からあるサイトでは手動で有効にする必要があったはずだけど、最近ドメインを追加したときはデフォルトで有効になってたりするのかな?
うわっ!確かにこれが出てるわ:<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4513226..." integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon='{"version":"2024.11.0","token":"c0859b51a7804ab5a9cc8e9e2b2c4cde","r":1}' crossorigin="anonymous"></script>
1.1.1.1(Cloudflareが運営してるやつ)のことかと思ったら、元々のWebサイトDNSホスティングサービスの方か。気づくのにちょっとかかったわ。
CFをプロキシとして使ってる?それともDNSだけ?自分のダッシュボードで確認してみたんだけど(数年前に買ったやつも、数日前に買ったやつも)、どれもWebアナリティクスは有効になってなかったんだよね。全部DNSのみの設定にしててCFプロキシは通してないんだけど、それが理由かな?
代替案:<meta http-equiv="Content-Security-Policy" content="script-src 'self' https://only-scripts-allowed-from-here.com"> これを使えば、ブラウザはセルフホストされたスクリプトか、指定したオリジンからのスクリプトしか読み込まなくなるよ。CSPで許容される他のディレクティブ(スタイル、画像、フレームの制限など)と組み合わせればさらに安全。詳細はここ:https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/CSP
もしCloudflareをDNSとしてしか使ってなくて、HTTPS接続が直接自分のサーバーに向かってるなら、どうやってHTMLにコードを注入するんだ?CloudflareにHTTPSの終端処理をさせてる、つまりプロキシとして使ってるってことじゃないの?
昔の無料ホスティングサービスを思い出すな。勝手にスクリプトや広告を注入してくるやつ。当時も終了タグ(</body>とか</html>)を検知して注入したり、タグを省略したり、大文字小文字を混ぜたり(ハードコードされたチェックを避けるため)、Content-Typeをいじったりして回避策を探ってたっけ。今のブラウザがどう対処するのかはよく知らないけど。
Cloudflareなんてマルウェアみたいなもんだろ。何を期待してたのさ?