Turnstile と Cloudflare Bot Challenge が Web トラフィックをどのように保護するか

Specialist in Anti-Bot Strategies
インターネット上のテクノロジーの継続的な成長に伴い、Web リソースのセキュリティは、ウェブサイトの所有者と開発者にとって懸念事項となっています。自動化された攻撃やボットに対抗する保護対策を使用することが、ますます重要になっています。
Cloudflare の革新的なテクノロジーである Turnstile と Bot Challenge は、使いやすさと信頼性の高いセキュリティを兼ね備えています。これらの運用プロセスを詳しく見てみましょう。
開発者によると、これらのテクノロジーを開発する主な目的は、実際のユーザーに影響を与えることなく、有害なボット攻撃を軽減することです。
Cloudflare によるボットの検出方法
このサービスでは、アクティブ (クライアント側) とパッシブ (サーバー側) の両方のボット検出技術が使用されています。
パッシブ メソッド
ボットネットの識別
Cloudflare は、危険なボットネットに関連するデバイス、IP アドレス、および動作をカタログ化しています。これらのネットワークのいずれかに接続されていると疑われるデバイスは、すぐにブロックされるか、クライアント側にさらに問題が発生して修正が必要になります。
IP レピュテーション
ユーザーの IP アドレスのレピュテーションは、その場所、ISP、レピュテーション履歴など、さまざまな要素によって決まります。たとえば、データセンターや評判の良い VPN サービスからの IP アドレスは、住宅からの IP アドレスよりもレピュテーションが低くなります。実際のクライアントからのトラフィックは、そのサービスエリアの外側から発信されるべきではないため、ウェブサイトは、そのようなエリアからのアクセスを制限することもできます。
HTTP リクエストのヘッダー
Cloudflare は、検証のために HTTP リクエスト ヘッダーを使用しています。ブラウザ以外のユーザーエージェントを持っている場合、パーサーはボットと間違えられる可能性があります。ヘッダーなしでリクエストを送信した場合、またはユーザーエージェントに基づいて一致しないヘッダーがある場合は、サービスによってボットがブロックされる可能性があります。
TLS フィンガープリント
サーバーに接続すると、TLS フィンガープリントが生成されます。フィンガープリント ハッシュを決定するために、システムは楕円曲線、拡張機能、および暗号スイートを調べます。
クライアント リクエストからのユーザーエージェント ヘッダーが、記録されたフィンガープリント ハッシュに関連付けられているユーザーエージェントと一致する場合、セキュリティ システムは、リクエストが通常のブラウザから発信されたと結論付けます。これらのデータが一致しない場合は、リクエストは拒否されます。
HTTP/2 フィンガープリント
TLS フィンガープリントと同様に、すべてのクライアント リクエストには、静的な HTTP/2 フィンガープリントがあります。Cloudflare は常に、リクエストからのフィンガープリントとユーザーエージェントのペアを、データベースに保存されているホワイトリストからのペアと比較することで、リクエストの正当性を検証します。
TLS フィンガープリントと HTTP/2 はほぼ同じです。これらの 2 つは、Cloudflare が使用するすべてのパッシブ ボット検出技術の中で、リクエストに基づいて監視するのが技術的に最も難しいです。それにもかかわらず、これらは最も重要なものです。
アクティブ メソッド
イベントのリスニング
Web ページには、JavaScript を使用して Cloudflare が追加した addEventListener 関数がある場合があります。これにより、ウェブサイトは、マウス クリック、キーストローク、動きなどのユーザー入力を監視できます。これらが使用されていない場合は、ユーザーがボットである可能性が高いです。
API リクエスト
特定のブラウザ専用の API。これらの要件は、特定のブラウザには存在しますが、他のブラウザには存在しない場合があります。
たとえば、window.chrome プロパティは、Chrome Web ブラウザに固有です。Chrome を使用していると送信しているデータが、Firefox のユーザーエージェントを使用して送信している場合は、何かがおかしいことが明らかになります。
タイムスタンプ API
Date.now() や window.performance.timing.navigationStart などのタイムスタンプ API を使用して、サービスはユーザーの速度メトリックを追跡します。タグが通常のオンライン動作と一致しない場合は、ユーザーはブロックされます。
自動ブラウザ検出
Cloudflare が求める特性を持つのは、自動化されたセットアップだけです。たとえば、window.document.__selenium_unwrapped や window.callPhantom が存在する場合、PhantomJS や Selenium が使用されます。これが判明した場合は、明らかな理由により、あなたは禁止されます。
サンドボックスの識別
JSDOM を使用して NodeJS にあるようなチェックは、シミュレートされたブラウザ コンテキストを停止します。スクリプトは、NodeJS に固有のプロセス オブジェクト ファイルを探すことができます。Function.prototype.toString.call(functionName) を使用して、関数が変更されていないかどうかを確認することもできます。
Cloudflare Turnstile
Cloudflare Turnstile は、CAPTCHA のインテリジェントな代替手段です。ユーザーに CAPTCHA を送信させたり、トラフィックを Cloudflare にルーティングしたりすることなく、あらゆるウェブサイト リソースに組み込むことができます。
Cloudflare CDN を修正するためにオリジン サーバーに呼び出しを行う
Cloudflare は、自社のネットワークを通過するリクエストしかブロックできないため、リクエストを直接オリジン サーバーに送信できれば理想的です。必要なデータの邪魔になるセキュリティは何もありません!
次の 2 つのステップを実行する必要があります。
1. ソースの IP アドレスを見つける。
セキュアなウェブサイトではDNSレコードはマスクされます。しかし、これはあらゆる場所で当てはまるわけではありません。メールメッセージ、古いサービス、保護されていないサブドメインはすべて、同じドメイン名でアクセスできる場合でも、元のサーバーを参照している可能性があります。
2. 元サーバーにデータ要求を送信します。
素晴らしいですね。まだ元のIPアドレスがあります!では、どうすればよいでしょうか?うまくいかないかもしれませんが、ブラウザのURLバーに貼り付けてみるかもしれません。これは、正当なドメイン名ではなくIPアドレスを使用してのみ接続を受け入れる標準的なサーバー設定です。DNSはドメイン名で使用されているため、それらから離れていなければなりません。
Cloudflareは実際には待合室のようなセキュリティ対策を採用しているため、この方法は頻繁に失敗します。
待合室とは何でしょうか?あなたはロボットではないことを確認するために、あなたのブラウザは特定のタスクを完了する必要があります。あなたがボットとしてフラグ付けられた場合、「アクセス拒否」メッセージが表示されます。そうでない場合は、実際のウェブサイトへの自動リダイレクトが行われます。
しばらくの間、あなたはCloudflareの待合室にいることになります。ターゲットのセキュリティレベルとパーサーがテストに合格する程度によって、正確な時間が決まります。タスクを完了すると、ウェブサイトをしばらくの間閲覧することができます。
Cloudflareの待合室を修正するにはどうすればよいでしょうか?理想的には、JavaScriptのタスクを完了することで、あなたが人間であることを証明しましょう。しかし、タスクの生成を担当するアルゴリズムを理解し、回答を確認するために、JavaScriptのCloudflareチャレンジを分析することも、実用的な戦略です。これにより、スクリプトを再設計することができます。
Bot ChallengeやTurnstileにアクセスする際には、User Agentを注意深く選択し、プレミアムな住宅用プロキシを使用することが重要です。
まとめ
上記を踏まえて、最も簡単な方法は、Scrapelessなどのリソースに対してCloudflare Bot ChallengeとTurnstileを通過するために作成されたテクノロジーを信頼することです。Scrapelessは、これらのセキュリティ対策に対して効率的なソリューションを提供し、他のサービスと比べてはるかに低いコストで利用できます。
CAPTCHAやウェブサイトのスクレイピングのブロックにうんざりしていませんか?
Scrapelessは、最高のオールインワンのオンラインスクレイピングソリューションです!
私たちの強力なツールキットを利用して、データ抽出の潜在能力を最大限に引き出しましょう:
最高のCAPTCHAソルバー
複雑なCAPTCHAを自動的に解決し、継続的でスムーズなスクレイピングを保証します。
無料でお試しください!
Scrapeless では、適用される法律、規制、および Web サイトのプライバシー ポリシーを厳密に遵守しながら、公開されているデータのみにアクセスします。 このブログのコンテンツはデモンストレーションのみを目的としており、違法または侵害的な活動には関与していません。 私たちは、このブログまたはサードパーティのリンクからの情報の使用についていかなる保証もせず、一切の責任を負いません。 スクレイピング活動を行う前に、法律顧問に相談し、対象となる Web サイトの利用規約を確認するか、必要な許可を取得してください。