概要
人機検証ページは、クライアント環境検証に基づく能動的防御機能です。この機能は、強制的なインタラクティブ検証を通じて、自動化スクリプトのトラフィックを識別・フィルタリングし、ビジネス訪問者が正常なユーザーであることを検証することを目的としています。
この機能を有効にすると、EdgeOneは対象範囲内のすべてのHTTP/HTTPSリクエストに対してセッションチケット(Session Ticket)検証を実行します。有効なチケットを持たないリクエストはブロックされ、人機検証コンポーネントを含むHTMLページが応答されます。クライアントがインタラクティブ検証を完了すると、システムは資格情報を発行し、後続のリクエストの通過を許可します。
機能適用範囲
適用シーン
以下のシナリオで有効にすることをお勧めします:
1. 一般的なクローラーの制限:高頻度の自動スクレイピング動作に対し、かつ通常のIPブロックとレート制限ポリシーが無効な場合です。
2. アプリケーション層DDoS緩和:サーバーが突発的なアプリケーション層攻撃(例えばCC攻撃)を受けた場合、高いインタラクションコストで悪意のあるトラフィックをクリーニングし、オリジンサーバーの可用性を確保する必要があります。
3. 重要経路保護:ログイン、登録、クーポン取得などの高価値インターフェースを保護し、自動化スクリプトによるクレデンシャルスタッフィングや大量取得を防止します。
クライアント環境要件
人機検証ページは、クライアントが少なくとも要件を満たすことを要求します:
HTTP Cookieの読み取りと返送をサポートします。
完全なHTMLレンダリングとJavaScript実行能力を備えています。
非互換のデプロイメントシナリオ
お客様のサイトに以下のアクセスシナリオがある場合は、サイトで直接人機検証ページを有効にしないでください。テストサイトで互換性を検証してから、本番サイトで本機能を有効にしてください。
注意:
お客様のサイトに互換性のないデプロイメントシナリオが存在する場合、人機検証ページを直接有効にすると、サービス中断を引き起こす可能性があります。
APIサービス呼び出し:サードパーティ製プログラムやスクリプト(cURL、Python requests、Postmanなど)から呼び出されるRESTful/GraphQLインターフェースです。クライアントはHTML応答およびJSインタラクションを処理できないため、JSON解析エラーが発生します。
ネイティブモバイルアプリ(Native App):WebViewコンポーネントを使用していない、またはネットワーク層とCookieを共有できないネイティブアプリです。アプリは業務データではなくHTMLコードを受信するため、リクエストが失敗します。
ネイティブミニプログラム:ミニプログラムのネットワークリクエスト(wx.requestなど)はDOM操作とHTMLレンダリングをサポートしていないため、人機インタラクションを完了できません。
非ブラウザ静的リソース読み込み:メールクライアント、RSSリーダーなどの非標準ブラウザ環境から直接参照される画像またはCSSリソースです。
上記のシナリオがある場合は、以下のいずれかの方法を採用することをお勧めします:
ブラウザアクセスの業務を独立したドメインでデプロイし、上記の非互換業務シナリオとは異なるドメインを使用して、ブラウザアクセスのドメインでのみ人機検証ページを有効にします。
検索エンジンSEO注意事項
説明:
すでに高度なBot管理を購読している場合は、Bot管理のカスタムルールを使用し、リクエスト検索エンジン特徴の一致条件とマネージドチャレンジの処理アクションを通じて、人機検証ページの検証範囲を調整してください。
SEO(検索エンジンランキング最適化)のニーズがある場合は、人機検証ページを有効にする前に、検索エンジンクローラー向けの例外ルールをデプロイしていることを確認してください。
SEOのインデックスとランキングを維持する必要がある場合は、例外ルールでルールを設定し、User-Agentに検索エンジン識別子(Googlebot、Bingbotなど)が含まれるリクエストに対してBOT管理モジュールをスキップする処理アクションを設定してください。
説明:
例外ルールを追加していない場合、人機検証ページは検索エンジンクローラーのクロールリクエストをブロックします。これは標準的なクローラーが通常JavaScriptを実行しないためです。
機能説明
人間検証ページでは以下の基本メカニズムを使用しています:
全量ブロックと検証:有効範囲内で、有効な資格情報を保持していないすべてのリクエストは検証ページにリダイレクトされます。
クライアント依存:認証とチケット検証ロジックは、クライアントのJavaScript実行環境とCookie保存能力に依存します。
状態保持:検証通過後、EdgeOneは暗号化されたCookieをセッションチケットとしてクライアントに書き込みます。後続のリクエストがこのCookieを保持している場合、有効期間内は検証を省略できます。
シナリオ例
お客様はWebセキュリティ分析モジュール内で、www.example.comサイト配下の画像リソース/download/welcome.pngに大量のアクセスがあることを確認しました。これらのIPはいくつかの集約されたネットワークセグメントから発生しており、Webサイトのホームページにアクセスせず、リソースに直接アクセスして大量の帯域幅を占有しています。しかし、アクセス元IPが多いため、単一IPあたりのリクエスト回数はわずか1~2回です。アクセス特徴から判断すると、分散型BOTを使用してダウンロード帯域幅を濫用している疑いがあります。セキュリティポリシーを強化するため、サイトがブラウザアクセスのみをサポートする必要があることを考慮し、検索エンジンクローラーが例外ルールに追加されていることを確認した後、人機検証ページを有効にしてBotアクセスをブロックします。
操作手順
1. EdgeOneコンソールにログインし、左側のメニューバーで「サービス概要」に入り、「Webサイト安全な加速」内で設定が必要なサイトをクリックします。
2. セキュリティ保護>Web保護をクリックします。デフォルトではサイトレベル保護ポリシーです。ドメインレベル保護ポリシータブをクリックし、ドメインレベル保護ポリシーで対象ドメインをクリックして、対象ドメインの保護ポリシー設定画面に入ります。例えば:www.example.com。
3. Bot管理カードに移動し、人間認証ページの下にあるスイッチをクリックして、機能を起動します。