Protokollieren von Web-ACL-Traffic-Informationen - AWS WAFAWS Firewall Manager, und AWS Shield Advanced

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.

Protokollieren von Web-ACL-Traffic-Informationen

Anmerkung

Dies ist die AWS WAF klassische Dokumentation. Sie sollten diese Version nur verwenden, wenn Sie AWS WAF Ressourcen wie Regeln und Web-ACLs AWS WAF vor November 2019 erstellt und diese noch nicht auf die neueste Version migriert haben. Informationen zum Migrieren Ihrer Ressourcen finden Sie unter Migrieren Sie Ihre AWS WAF Classic-Ressourcen zu AWS WAF.

Die neueste Version von AWS WAF finden Sie unter. AWS WAF

Anmerkung

Sie können Amazon Security Lake nicht zum Sammeln von AWS WAF Classic-Daten verwenden.

Sie können die Protokollierung aktivieren, um detaillierte Informationen über den Traffic zu erhalten, der von Ihrer Web-ACL analysiert wird. Zu den Informationen, die in den Protokollen enthalten sind, gehören der Zeitpunkt, zu dem AWS WAF Classic die Anfrage von Ihrer AWS Ressource erhalten hat, detaillierte Informationen über die Anfrage und die Aktion für die Regel, der jede Anfrage entsprach.

Um zu beginnen, richten Sie einen Amazon Kinesis Data Firehose ein. Wählen Sie im Rahmen dieses Prozesses ein Ziel zur Speicherung Ihrer Protokolle aus. Als Nächstes wählen Sie die Web-ACL aus, für die Sie die Protokollierung aktivieren möchten. Nachdem Sie die Protokollierung aktiviert haben AWS WAF , werden die Protokolle über die Firehose an Ihr Speicherziel gesendet.

Informationen dazu, wie Sie eine Amazon Kinesis Data Firehose erstellen und Ihre gespeicherten Protokolle überprüfen, finden Sie unter Was ist Amazon Data Firehose? Informationen zu den für Ihre Kinesis-Data-Firehose-Konfiguration erforderlichen Berechtigungen finden Sie unter Controlling Access with Amazon Kinesis Data Firehose (Zugriff mit Amazon Kinesis Data Firehose steuern).

Sie müssen über die folgenden Berechtigungen verfügen, um erfolgreich die Protokollierung zu aktivieren:

  • iam:CreateServiceLinkedRole

  • firehose:ListDeliveryStreams

  • waf:PutLoggingConfiguration

Weitere Informationen zu serviceverknüpften Rollen und zur Berechtigung iam:CreateServiceLinkedRole finden Sie unter Verwenden von serviceverknüpften Rollen für Classic AWS WAF.

Aktivieren der Protokollierung für eine Web-ACL
  1. Erstellen Sie eine Amazon Kinesis Data Firehose mit einem Namen, der mit dem Präfix "aws-waf-logs-“ beginnt. Zum Beispiel. aws-waf-logs-us-east-2-analytics Erstellen Sie den Data Firehose mit einer PUT-Quelle und in der Region, in der Sie aktiv sind. Wenn Sie Logs für Amazon erfassen CloudFront, erstellen Sie die Firehose in USA East (Nord-Virginia). Weitere Informationen finden Sie unter Amazon Data Firehose Delivery Stream erstellen.

    Wichtig

    Wählen Sie nicht Kinesis stream als Ihre Quelle.

    Ein AWS WAF Classic-Protokoll entspricht einem Firehose-Datensatz. Wenn Sie in der Regel 10.000 Anfragen pro Sekunde erhalten und vollständige Protokolle aktivieren, sollten Sie in Firehose eine Einstellung von 10.000 Datensätzen pro Sekunde haben. Wenn Sie Firehose nicht richtig konfigurieren, zeichnet AWS WAF Classic nicht alle Protokolle auf. Weitere Informationen finden Sie unter Amazon Kinesis Data Firehose-Kontingente.

  2. Melden Sie sich bei der an AWS Management Console und öffnen Sie die AWS WAF Konsole unter https://console.aws.amazon.com/wafv2/.

    Wenn im Navigationsbereich die Option Zu AWS WAF Classic wechseln angezeigt wird, wählen Sie es aus.

  3. Wählen Sie im Navigationsbereich Web ACLs aus.

  4. Wählen Sie die Web-ACL aus, für die Sie die Protokollierung aktivieren möchten. Dadurch wird im rechten Bereich eine Seite mit den Details der Web-ACL geöffnet.

  5. Klicken Sie auf der Registerkarte Logging (Protokollieren) auf Enable logging (Protokollieren aktivieren).

  6. Wählen Sie den Kinesis Data Firehose, den Sie im ersten Schritt erstellt haben. Sie müssen einen Firehose wählen, der mit "aws-waf-logs-“ beginnt.

  7. (Optional) Wenn Sie nicht möchten, dass bestimmte Felder und deren Werte in den Protokollen enthalten sind, machen Sie diese Felder unkenntlich. Wählen Sie das Feld aus, das unkenntlich gemacht werden soll, und klicken Sie dann auf Add (Hinzufügen). Wiederholen Sie diesen Vorgang nach Bedarf, um zusätzliche Felder unkenntlich zu machen. Die unkenntlich gemachten Felder werden als REDACTED in den Protokollen angezeigt. Wenn Sie beispielsweise das Feld Cookie unkenntlich machen, wird das Feld Cookie in den Protokollen als REDACTED angezeigt.

  8. Wählen Sie Enable logging (Protokollierung aktivieren) aus.

    Anmerkung

    Wenn Sie die Protokollierung erfolgreich aktivieren, erstellt AWS WAF Classic eine serviceverknüpfte Rolle mit den erforderlichen Berechtigungen, um Protokolle in die Amazon Kinesis Data Firehose zu schreiben. Weitere Informationen finden Sie unter Verwenden von serviceverknüpften Rollen für Classic AWS WAF.

Deaktivieren der Protokollierung für eine Web-ACL
  1. Wählen Sie im Navigationsbereich Web ACLs aus.

  2. Wählen Sie die Web-ACL aus, für die Sie die Protokollierung deaktivieren möchten. Dadurch wird im rechten Bereich eine Seite mit den Details der Web-ACL geöffnet.

  3. Klicken Sie auf der Registerkarte Logging (Protokollieren) auf Disable logging (Protokollieren deaktivieren).

  4. Wählen Sie im Dialogfeld Disable logging (Protokollieren deaktivieren).

Beispielprotokoll
{ "timestamp":1533689070589, "formatVersion":1, "webaclId":"385cb038-3a6f-4f2f-ac64-09ab912af590", "terminatingRuleId":"Default_Action", "terminatingRuleType":"REGULAR", "action":"ALLOW", "httpSourceName":"CF", "httpSourceId":"i-123", "ruleGroupList":[ { "ruleGroupId":"41f4eb08-4e1b-2985-92b5-e8abf434fad3", "terminatingRule":null, "nonTerminatingMatchingRules":[ {"action" : "COUNT", "ruleId" : "4659b169-2083-4a91-bbd4-08851a9aaf74"} ], "excludedRules": [ {"exclusionType" : "EXCLUDED_AS_COUNT", "ruleId" : "5432a230-0113-5b83-bbb2-89375c5bfa98"} ] } ], "rateBasedRuleList":[ { "rateBasedRuleId":"7c968ef6-32ec-4fee-96cc-51198e412e7f", "limitKey":"IP", "maxRateAllowed":100 }, { "rateBasedRuleId":"462b169-2083-4a93-bbd4-08851a9aaf30", "limitKey":"IP", "maxRateAllowed":100 } ], "nonTerminatingMatchingRules":[ {"action" : "COUNT", "ruleId" : "4659b181-2011-4a91-bbd4-08851a9aaf52"} ], "httpRequest":{ "clientIp":"192.10.23.23", "country":"US", "headers":[ { "name":"Host", "value":"127.0.0.1:1989" }, { "name":"User-Agent", "value":"curl/7.51.2" }, { "name":"Accept", "value":"*/*" } ], "uri":"REDACTED", "args":"usernam=abc", "httpVersion":"HTTP/1.1", "httpMethod":"GET", "requestId":"cloud front Request id" } }

Im Folgenden finden Sie Beschreibungen aller Elemente, die in diesen Protokollen aufgelistet werden.

Zeitstempel

Der Zeitstempel in Millisekunden.

formatVersion

Die Formatversion für das Protokoll.

webaclId

Die GUID der Web-ACL.

terminatingRuleId

Die ID der Regel, die die Anforderung beendet. Wenn nichts zur Beendigung der Anforderung führt, ist der Wert Default_Action.

terminatingRuleType

Der Typ der Regel, die die Anforderung beendet. Mögliche Werte: RATE_BASED, REGULAR und GROUP.

action

Die Aktion. Mögliche Werte für eine beendende Regel: ALLOW und BLOCK. COUNT ist kein gültiger Wert für eine beendende Regel.

terminatingRuleMatchEinzelheiten

Detaillierte Informationen zur Beendigungsregel, die mit der Anforderung übereingestimmt hat. Eine Beendigungsregel verfügt über eine Aktion, die den Inspektionsprozess für eine Webanforderung beendet. Mögliche Aktionen für Beendigungsregeln sind ALLOW und BLOCK. Dies wird nur für SQL-Injection und Cross-Site Scripting (XSS) -Übereinstimmungsregelanweisungen aufgefüllt. Wie bei allen Regelanweisungen, die auf mehr als ein Element prüfen, wendet AWS WAF die Aktion auf die erste Übereinstimmung an und stoppt die Überprüfung der Webanforderung. Eine Webanforderung mit einer Beendungsaktion kann zusätzlich zu den im Protokoll gemeldeten Bedrohungen weitere Bedrohungen enthalten.

httpSourceName

Die Quelle der Anforderung. Mögliche Werte: CF (wenn die Quelle Amazon ist CloudFront), APIGW (wenn die Quelle Amazon API Gateway ist) und ALB (wenn die Quelle ein Application Load Balancer ist).

httpSourceId

Die Quell-ID. Dieses Feld zeigt die ID der zugehörigen CloudFront Amazon-Distribution, die REST-API für API Gateway oder den Namen für einen Application Load Balancer.

ruleGroupList

Die Liste der Regelgruppen, die auf diese Anforderung reagiert haben. Im vorangehenden Beispiel gibt es nur eine.

ruleGroupId

Die ID der Regelgruppe. Wenn die Regel die Anforderung blockiert hat, ist die ID für ruleGroupID mit der ID für terminatingRuleId identisch.

terminatingRule

Die Regel innerhalb der Regelgruppe, die die Anforderung beendet hat. Wenn es sich um einen Nicht-Null-Wert handelt, enthält er auch eine ruleid (Regel-ID) und eine action (Aktion). In diesem Fall ist die Aktion stets BLOCK.

nonTerminatingMatchingRegeln

Die Liste der Regeln in der Regelgruppe, die mit der Anforderung übereinstimmen. Dies sind stets COUNT-Regeln (nicht beendende Regeln, die übereinstimmen).

Aktion (Gruppe „nonTerminatingMatchingRegeln“)

Dies ist stets COUNT (nicht beendende Regeln, die übereinstimmen).

ruleId (Gruppe „nonTerminatingMatchingRegeln“)

Die ID der Regel innerhalb der Regelgruppe, die mit der Anforderung übereinstimmt und nicht beendend war. Also COUNT-Regeln.

excludedRules

Die Liste der Regeln in der Regelgruppe, die von Ihnen ausgeschlossen wurden. Die Aktion für diese Regeln ist auf COUNT festgelegt.

exclusionType (excludedRules-Gruppe)

Ein Typ, der anzeigt, dass die ausgeschlossene Regel die Aktion COUNT hat.

ruleId (excludedRules-Gruppe)

Die ID der Regel innerhalb der Regelgruppe, die ausgeschlossen ist.

rateBasedRuleListe

Die Liste der ratenbasierten Regeln, die auf die Anforderung reagiert haben.

rateBasedRuleAusweis

Die ID der ratenbasierten Regel, die auf die Anforderung reagiert hat. Wenn die Anforderung hierdurch beendet wurde, ist die ID für rateBasedRuleId mit der ID für terminatingRuleId identisch.

limitKey

Das Feld, AWS WAF anhand dessen bestimmt wird, ob Anfragen wahrscheinlich aus einer einzigen Quelle stammen und daher einer Tarifüberwachung unterliegen. Möglicher Wert: IP.

maxRateAllowed

Die maximale Anzahl von Anforderungen mit einem identischen Wert in dem Feld, das durch limitKey angegeben wird, zulässig innerhalb eines Zeitraums von fünf Minuten. Wenn die Anzahl der Anfragen den Wert überschreitet maxRateAllowed und die anderen in der Regel angegebenen Prädikate ebenfalls erfüllt sind, wird die für diese Regel angegebene Aktion AWS WAF ausgelöst.

httpRequest

Die Metadaten zu der Anforderung.

clientIp

Die IP-Adresse des Clients, der die Anforderung sendet.

country

Das Quellland der Anforderung. Wenn AWS WAF das Herkunftsland nicht bestimmt werden kann, wird dieses Feld auf gesetzt. -

Header

Die Liste der Header.

uri

Der URI der Anforderung. Das vorangehende Codebeispiel zeigt, wie der Wert aussehen würde, wenn dieses Feld redigiert worden wäre.

args

Die Abfragezeichenfolge.

httpVersion

Die HTTP-Version.

httpMethod

Die HTTP-Methode in der Anforderung.

requestId

Die ID der Anfrage.