Conta i referrer, gli indirizzi IP o le regole corrispondenti - Amazon Athena

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Conta i referrer, gli indirizzi IP o le regole corrispondenti

Gli esempi di questa sezione richiedono il conteggio degli elementi di registro di interesse.

Esempio
: Conta il numero di riferimenti contenenti un termine specificato

La query seguente conta il numero di riferimenti che contengono il termine "amazon" per l'intervallo di date specificato.

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%'
Esempio
: Conta tutti gli indirizzi IP corrispondenti negli ultimi 10 giorni che hanno soddisfatto le regole escluse

La query seguente conteggia il numero di volte in cui l'indirizzo IP corrisponde alla regola esclusa nel gruppo di regole.

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
Esempio
: Raggruppa tutte le regole gestite conteggiate in base al numero di corrispondenze

Se hai impostato le azioni delle regole del gruppo di regole su Count nella tua ACL configurazione web prima del 27 ottobre 2022, AWS WAF hai salvato le sostituzioni nel Web ACL JSON come. excludedRules Ora, l'JSONimpostazione per sovrascrivere una regola su Count è nelle impostazioni. ruleActionOverrides Per ulteriori informazioni, consulta Sostituzione delle azioni nei gruppi di regole nella Guida per gli sviluppatori di AWS WAF . Per estrarre le regole gestite in modalità Count dalla nuova struttura di log, esegui una query su nonTerminatingMatchingRules nella sezione ruleGroupList anziché nel campo excludedRules, come nell'esempio seguente.

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
Esempio
: Raggruppa tutte le regole personalizzate contate in base al numero di corrispondenze

La seguente query raggruppa tutte le regole personalizzate contate in base al numero di volte in cui sono state confrontate.

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

Per informazioni sui percorsi dei log per le regole personalizzate e i gruppi di regole gestiti, consulta Controllo e regolazione nella Guida per gli sviluppatori di AWS WAF .