ブロックされたリクエストまたはアドレスをクエリする
このセクションの例では、ブロックされたリクエストまたはアドレスをクエリします。
-
Extract the top 100 IP addresses blocked by a specified rule type
-
Count the number of times a request from a specified country has been blocked
-
Count the number of times a request has been blocked, grouping by specific attributes
-
Count the number of times a specific terminating rule ID has been matched
-
Retrieve the top 100 IP addresses blocked during a specified date range
例 – 指定されたルールタイプによってブロックされた上位 100 個の IP アドレスを抽出する
以下のクエリは、指定した日付範囲内で RATE_BASED
終了ルールによってブロックされた上位 100 個の IP アドレスを抽出し、計上します。
SELECT COUNT(httpRequest.clientIp) as count, httpRequest.clientIp FROM waf_logs WHERE terminatingruletype='RATE_BASED' AND action='BLOCK' and "date" >= '2021/03/01' AND "date" < '2021/03/31' GROUP BY httpRequest.clientIp ORDER BY count DESC LIMIT 100
例 – 指定された国からのリクエストがブロックされた回数を計上する
次のクエリは、アイルランド (IE) に属し、RATE_BASED
終了ルールによってブロックされた IP アドレスからリクエストが到着した回数を数えます。
SELECT COUNT(httpRequest.country) as count, httpRequest.country FROM waf_logs WHERE terminatingruletype='RATE_BASED' AND httpRequest.country='IE' GROUP BY httpRequest.country ORDER BY count LIMIT 100;
例 – リクエストがブロックされた回数を計上し、特定の属性でグループ化する
以下のクエリは、リクエストがブロックされた回数をカウントし、結果を WebACL、RuleId、ClientIP、および HTTP リクエスト URI によってグループ化します。
SELECT COUNT(*) AS count, webaclid, terminatingruleid, httprequest.clientip, httprequest.uri FROM waf_logs WHERE action='BLOCK' GROUP BY webaclid, terminatingruleid, httprequest.clientip, httprequest.uri ORDER BY count DESC LIMIT 100;
例 – 特定の終了ルール ID が一致した回数を計上する
以下のクエリは、特定の終了ルール ID が (WHERE
terminatingruleid='e9dd190d-7a43-4c06-bcea-409613d9506e'
) に一致した回数を計上します。その結果を WebACL、Action、ClientIP、および HTTP Request URI によってグループ化します。
SELECT COUNT(*) AS count, webaclid, action, httprequest.clientip, httprequest.uri FROM waf_logs WHERE terminatingruleid='e9dd190d-7a43-4c06-bcea-409613d9506e' GROUP BY webaclid, action, httprequest.clientip, httprequest.uri ORDER BY count DESC LIMIT 100;
例 – 指定した日付範囲内でブロックされた上位 100 個の IP アドレスを取得する
以下のクエリは、指定された日付範囲内でブロックされた上位 100 個の IP アドレスを抽出します。このクエリは、IP アドレスがブロックされた回数もリストします。
SELECT "httprequest"."clientip", "count"(*) "ipcount", "httprequest"."country" FROM waf_logs WHERE "action" = 'BLOCK' and "date" >= '2021/03/01' AND "date" < '2021/03/31' GROUP BY "httprequest"."clientip", "httprequest"."country" ORDER BY "ipcount" DESC limit 100