🙇

学校向けサイトに Cloudflare Turnstile を使わないで!

に公開
8
GitHubで編集を提案

Discussion

たぬきの教祖たぬきの教祖

Cloudflareの問題なのかフィルタリングシステム作ってるところの問題なのか
とは思うところがある
使えない事実は変わらないけれど

tuna2134tuna2134

プロキシの問題かな?
おそらくCloudflareとしては大規模にアクセスしてきたらDDoSだと思って防がないといけないので

結局の話Fortigateなりを自分の学校に導入して運用した方がいいとは思う

kinokoshopkinokoshop

フィルタリングプロキシはX-Forwarded-Forとかを返してるのかな?
もし返しててもCloudflareがDDoS扱いにするならCloudflareはそういう扱いをしているとして諦めるしか無いのかもしれない。
腑に落ちないのは大手のVPNなどでも同IPという意味では似たようなものなのにTurnstile付きサイトにアクセスしてもこの手の問題に遭遇したことがないところ。

nakasyounakasyou

X-Forwarded-For を認識する場合、攻撃者が IP アドレスを偽造していくらでもリクエストを送信できてしまうという可能性があると思います。
こんな感じです:

while (true) {
  request('https://example.com/login', {
    headers: {
      'X-Forwarded-For': randomIP()
    },
    body: {
      username: random(),
      password: random()
    }
  })
}
kazukazu

同IPになる構成はいくらでもあると思うので、フィルタリングシステムでcookieか何かCloudflare Turnstileが付与したはずの匿名ユーザを識別する情報まで勝手にフィルタリングして同じ1ユーザに見えていませんかね?1IP1ユーザ(付与したはずの識別情報無し)で大量のチャレンジが来たら、そりゃブロックするでしょう
ログイン先のサービスはまだユーザ認証前のはずですが、Cloudflare Turnstileは何らかの方法で識別しているのではないかと思います

Na.17Na.17

CAPTCHAの正常な仕様ですから、諦めるべきです。
対策は、プロキシサーバ(NAT)のパブリックIPを増やす、IPv6でNATなしのフィルタリングを行うとかで利用者サイドでは対策不可能です。

最近のCAPTCHAはPoW(Proof of Work)を課していて(授業始めのようなやDDoS)アクセス集中するときにはそれに比例してより計算負荷の高い演算をした後でなければ接続できなくしていたと記憶しています。

チャレンジに繰り返し失敗するときの挙動を解析したことがありますが Cloudflareのチャレンジ生成するようの通信が失敗していた時でした。
で、大抵のフィルタリングはホワイトリストでありCAPTCHAを作る側としては対策されやすいと困るので相性が最悪な組み合わせなんだと思います。

pennepenne

デメリット > メリット
ですかな