Recuento de los orígenes de referencia, las direcciones IP o las reglas coincidentes
En los ejemplos de esta sección se consultan los recuentos de elementos de registro de interés.
ejemplo : contar el número de referencias que contienen un término especificado
La siguiente consulta cuenta el número de referencias que contienen el término “amazon” para el intervalo de fechas especificado.
WITH test_dataset AS (SELECT header FROM waf_logs CROSS JOIN UNNEST(httprequest.headers) AS t(header) WHERE "date" >= '2021/03/01' AND "date" < '2021/03/31') SELECT COUNT(*) referer_count FROM test_dataset WHERE LOWER(header.name)='referer' AND header.value LIKE '%amazon%'
ejemplo : contar todas las direcciones IP coincidentes en los últimos 10 días que coincidieron con las reglas excluidas
En la siguiente consulta se cuenta el número de veces que, en los últimos 10 días, la dirección IP coincidió con la regla excluida del grupo de reglas.
WITH test_dataset AS (SELECT * FROM waf_logs CROSS JOIN UNNEST(rulegrouplist) AS t(allrulegroups)) SELECT COUNT(*) AS count, "httprequest"."clientip", "allrulegroups"."excludedrules", "allrulegroups"."ruleGroupId" FROM test_dataset WHERE allrulegroups.excludedrules IS NOT NULL AND from_unixtime(timestamp/1000) > now() - interval '10' day GROUP BY "httprequest"."clientip", "allrulegroups"."ruleGroupId", "allrulegroups"."excludedrules" ORDER BY count DESC
ejemplo : agrupar todas las reglas administradas contadas por el número de veces que coinciden
Si estableció las acciones de reglas del grupo de reglas en Contar en su configuración de ACL web antes del 27 de octubre de 2022, AWS WAF guardó las anulaciones en el archivo JSON de ACL web como excludedRules
. Ahora, la configuración JSON para anular una regla en Contar se encuentra en la configuración ruleActionOverrides
. Para obtener más información, consulte Anulación de acciones en grupos de reglas en la Guía para desarrolladores de AWS WAF. Para extraer las reglas administradas en el modo Contar de la estructura de registro nueva, consulte nonTerminatingMatchingRules
en la sección ruleGroupList
en lugar del campo excludedRules
, como en el siguiente ejemplo.
SELECT count(*) AS count, httpsourceid, httprequest.clientip, t.rulegroupid, t.nonTerminatingMatchingRules FROM "waf_logs" CROSS JOIN UNNEST(rulegrouplist) AS t(t) WHERE action <> 'BLOCK' AND cardinality(t.nonTerminatingMatchingRules) > 0 GROUP BY t.nonTerminatingMatchingRules, action, httpsourceid, httprequest.clientip, t.rulegroupid ORDER BY "count" DESC Limit 50
ejemplo : agrupar todas las reglas personalizadas contadas por el número de veces que coinciden
En la siguiente consulta se agrupan todas las reglas personalizadas contadas según el número de veces que coinciden.
SELECT count(*) AS count, httpsourceid, httprequest.clientip, t.ruleid, t.action FROM "waf_logs" CROSS JOIN UNNEST(nonterminatingmatchingrules) AS t(t) WHERE action <> 'BLOCK' AND cardinality(nonTerminatingMatchingRules) > 0 GROUP BY t.ruleid, t.action, httpsourceid, httprequest.clientip ORDER BY "count" DESC Limit 50
Para obtener información sobre las ubicaciones de registro de las reglas personalizadas y los grupos de reglas administrados, consulte Supervisión y ajuste en la Guía para desarrolladores de AWS WAF.