Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Zählen Sie Referrer, IP-Adressen oder übereinstimmende Regeln
In den Beispielen in diesem Abschnitt wird die Anzahl der für Sie interessanten Protokollelemente abgefragt.
Beispiel – Zählt die Anzahl der Referrer, die einen bestimmten Begriff enthalten
Die folgende Abfrage zählt die Anzahl der Referrer, die den Begriff „amazon“ für den angegebenen Datumsbereich enthalten.
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%'
Beispiel – Zählt alle übereinstimmenden IP-Adressen in den letzten 10 Tagen, die mit ausgeschlossenen Regeln übereinstimmen
Mit der folgenden Abfrage wird die Anzahl der Male in den letzten 10 Tagen gezählt, die die IP-Adresse der ausgeschlossenen Regel in der Regelgruppe entspricht.
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
Beispiel – Gruppiert alle gezählten verwalteten Regeln nach der Anzahl der Treffer
Wenn Sie in Ihrer ACL Webkonfiguration vor dem 27. Oktober 2022 Regelgruppen-Regelaktionen auf Anzahl gesetzt AWS WAF haben, haben Sie Ihre Überschreibungen im Web unter ACL JSON gespeichert. excludedRules
Jetzt befindet sich die JSON Einstellung zum Überschreiben einer Regel auf Count in den ruleActionOverrides
Einstellungen. Weitere Informationen finden Sie unter Aktionsüberschreibungen in Regelgruppen im AWS WAF -Entwicklerhandbuch. Um verwaltete Regeln im Zähl-Modus aus der neuen Protokollstruktur zu extrahieren, fragen Sie den Wert nonTerminatingMatchingRules
im Abschnitt ruleGroupList
statt im Feld excludedRules
ab, wie im folgenden Beispiel.
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
Beispiel – Gruppiert alle gezählten benutzerdefinierten Regeln nach der Anzahl der Treffer
Die folgende Abfrage gruppiert alle gezählten benutzerdefinierten Regeln nach der Anzahl der Übereinstimmungen.
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
Informationen zu den Protokollspeicherorten für benutzerdefinierte Regeln und verwaltete Regelgruppen finden Sie unter Überwachung und Optimierung im AWS WAF -Entwicklerhandbuch.