概要
悪意のある攻撃者は通常、標的サイトに対して体系的な脆弱性スキャンを実行し、短時間に大量の攻撃リクエストを送信してセキュリティホールを探ります。このような高頻度スキャン行為はサーバーリソースを消費するだけでなく、脆弱性が発見され悪用される可能性を高め、データ漏洩や業務中断などの深刻な結果を引き起こす恐れがあります。高頻度スキャン防御は、短時間にマネージドルールへ頻繁にヒットする訪問者をIIし、その後のアクセスを自動的にブロックすることで、攻撃の連鎖を断ち切り、セキュリティホールや弱点が体系的に探査・悪用されるリスクを軽減します。
説明:
注1:高頻度スキャン防御は、「ブロックとして設定」されたマネージドルールにヒットしたリクエストのみをカウントします。監視モードとして設定されたマネージドルールのヒットは統計に含まれません。
注2:高頻度スキャン防御は「評価モード」の管理範囲に属します。評価モードが有効な場合、高頻度スキャン防御がブロックとして設定されていても、実際にリクエストをブロックすることはなく、ログのみを記録します。
注3:高頻度スキャン防御は標準版プラン以上(トライアルプランを含む)に適用されます。
使用シナリオ
高頻度スキャン防御は、さまざまな悪意のあるスキャン攻撃に効果的に対応できます。典型的なシナリオは以下の通りです:
脆弱性スキャン攻撃:攻撃者は自動化ツールを使用してWebサイトに対して大規模な脆弱性スキャンを実行し、SQLインジェクション、XSS、ファイルインクルージョンなどのセキュリティホールを発見しようとします。高頻度スキャン防御はこのような行為を迅速に識別し、攻撃元を自動的にブロックできます。
APIインターフェース探索:攻撃者はAPIインターフェースに対して体系的なテストを実行し、未承認のアクセスポイントやパラメータインジェクションの脆弱性を発見しようとします。APIリクエストの異常パターンを監視することで、悪意のある探索行為を迅速にブロックします。
0-Day脆弱性の悪用:新しいセキュリティホールが公開された後、攻撃者は迅速に大規模なスキャンと悪用を実行します。高頻度スキャン防御はマネージドルールのリアルタイム更新と組み合わせることで、攻撃が大規模化する前に効果的にブロックできます。
高頻度スキャン防御ポリシーの設定
シナリオ例
ある金融テクノロジー企業はオンライン決済および融資業務プラットフォームを運営しており、ユーザー資金や機密性の高い金融データを扱うため、セキュリティ対策に対する要件が非常に厳格です。このプラットフォームは自動化ツールによる高頻度の脆弱性スキャン攻撃を頻繁に受けており、攻撃者は短時間でシステムの脆弱性を探り、悪用可能なセキュリティ上の欠陥を発見すると直ちに攻撃を仕掛けます。業務の安全性を確保するため、疑わしいスキャン行為に対してはゼロトレランスで対処する必要があります。
業務の特徴:
金融業務ではセキュリティに対する要件が非常に高く、潜在的なセキュリティリスクは一切許容されません。
通常のユーザーアクセスパターンは比較的固定されており、短時間に大量のセキュリティルールをトリガーすることはほとんどありません。
異常なスキャン行為を迅速に検知し、ブロックする必要があります。
ビジネス継続性に対する要件が高く、防护策略が通常のユーザー体験に影響を与えることは許容されません。
防护ニーズ:
疑わしいスキャン行為に対しては、即時にブロックします。
最小化攻击者的探测窗口期。
通常の業務に影響が及ばないようにします。
後続の分析に使用できる詳細な攻撃ログを提供します。
操作手順
このような高度なセキュリティ要件が求められる金融業務シナリオでは、以下の厳格な高頻度スキャン防御設定を採用することを推奨します:
2. Web防护ページの上部で、対応する防护ポリシー設定方法を選択します:
サイト全体に統一ポリシーを設定する必要がある場合は、サイトレベル保護ポリシータグページに留まってください。
特定ドメインに差別化ポリシーを設定する必要がある場合は、ドメインレベル保護ポリシーをクリックし、対象ドメインを選択します。例えば:pay.example.com
3. ページでマネージドルールモジュールを見つけ、高頻度スキャン防御機能エリアに移動します。
4. 高頻度スキャン防御の右側にある設定をクリックし、機能設定を有効にします。
5. 表示された設定ウィンドウで、ルールを有効にするスイッチをオンにした後、サンプルシナリオに従って保護パラメータを入力します。詳細については、設定項目の説明を参照してください。 トリガー条件:ウィンドウ時間を5秒に設定し、リクエスト数閾値を1回に設定します。
訪問者のマッチング方法:クライアントIPを選択します。
ブロック時間:10分に設定します。
処理方法:ブロックを選択します。
6. 保存をクリックして設定を完了します。ルールは直ちにグローバルエッジノードに展開されて有効になり、クライアントが5秒以内にマネージドルールによるブロックを1回トリガーすると、即座に10分間ブロックされます。
設定項目の説明
トリガー条件:トリガー条件は、高頻度スキャン防御メカニズムをいつ開始するかを決定します。高頻度スキャン防御はローリングウィンドウ統計方式を使用し、任意の時間枠内で、マッチングリクエスト数が閾値に達すると、防御ルールがトリガーされます。ブロック期間中に新しいマッチングリクエストがあっても、ブロック時間は再計算されません。統計時間枠は、1~1800秒の範囲でサポートされます。デフォルト値は60秒です。
訪問者のマッチング方法:訪問者のマッチング方法は、異なる訪問者を識別および区別する方法を決定します。
クライアントIP:接続元のクライアントIPアドレスを直接使用してマッチングを行います。直接アクセスシナリオや、プロキシサーバーを管理する必要がある場合に適しています。(推奨)
クライアントIP(XFFヘッダーを優先的にマッチング):X-Forwarded-Forヘッダーから実際のクライアントIPを優先的に取得し、他のリバースプロキシサービス経由でEdgeOneにアクセスするシナリオに適しています。
説明:
リクエストヘッダーは改ざんや偽造される可能性があるため、お客様のサイトが他のリバースプロキシを経由してEdgeOneにアクセスする場合は、クライアントIP(XFFヘッダーを優先的にマッチング)方式で訪問者をマッチングすると同時に、お客様が指定したリバースプロキシサービスのみがEdgeOneにアクセスできるようにカスタムルールを設定し、防御を迂回されるリスクを低減することをお勧めします。
ブロック時間:ブロック時間は、高頻度スキャン防御がトリガーされた後、訪問者に対して実行される処理の継続時間を決定します。設定可能な時間範囲:1~1440分。デフォルト値は30分です。
説明:
高頻度スキャン防御をトリガーしたクライアントに対して、そのリクエストへの処理を継続します。ブロック期間中のリクエストは、カウント統計を再トリガーしません。
対処方法:対処方法は、高頻度スキャン防御をトリガーした訪問者に対して実行される具体的なアクションを決定します。以下は3種類です: 観察:ログのみを記録し、リクエストに対して実際の処理は行いません。ポリシーテストおよび効果評価の段階に適しています。
遮断:リクエストを直接拒否し、遮断ページを返します。悪意のあるアクセスを明確にブロックする必要があるシナリオに適しています。(推奨)
JavaScriptチャレンジ:クライアントにJavaScriptチャレンジを送信し、特定のコードを実行した後にのみアクセスを継続できます。自動化ツールと実際のユーザーを効果的に区別でき、セキュリティとユーザーエクスペリエンスのバランスを取る必要があるシナリオに適しています。