Direkt zum Inhalt

Warum blockiert AWS WAF meine Anforderung oder reagiert mit dem Fehler „403 Forbidden“?

Lesedauer: 3 Minute
0

Ich möchte die AWS-WAF-Regel identifizieren, die meine Anforderung blockiert oder mit dem Fehler „403 Forbidden“reagiert.

Kurzbeschreibung

Standardmäßig gibt AWS WAF den Fehler „403 Forbidden“ bei Anforderungen zurück, die den AWS-WAF-Regeln mit der Aktion Blockieren entsprechen. Wenn du benutzerdefinierte Antworten für Aktionen „Blockieren“ einrichtest, gibt AWS WAF die konfigurierte Antwort zurück.

Um den Fehler „403 Forbidden“ zu beheben, verwende Stichprobenartig geprüfte Anfragen oder AWS-WAF-Protokolle, um die AWS-WAF-Regel oder Regelgruppe zu identifizieren, welche die Anforderung blockiert. Ändere dann die Regel, um die Anforderung zuzulassen.

Lösung

Stichprobenartig geprüfte Anfragen anzeigen

Wenn AWS WAF die Anforderung innerhalb der letzten 3 Stunden blockiert hat, kannst du eine Auswahl blockierter Webanforderungen anzeigen. Wenn AWS WAF die Anforderung vor mehr als 3 Stunden blockiert hat, sende dieselbe Anforderung erneut, um eine neue stichprobenartig geprüfte Anfrage zu generieren.

Überprüfe in der Tabelle Stichprobenartig geprüfte Anfragen die folgenden Spalten:

  • Überprüfe die Spalten Quell-IP und URI, um die Anforderung zu identifizieren.
  • Überprüfe die Spalte Name der Metrik, um die Regel oder Regelgruppe zu identifizieren, die der Anforderung entspricht. Wenn eine Regelgruppe die Anforderung blockiert, verwende die Spalte Regel innerhalb der Regelgruppe, um die Regel zu identifizieren.
  • Überprüfe die Spalte Aktion, um zu bestätigen, dass die Regel auf Blockieren gesetzt ist.

AWS-WAF-Protokolle verwenden

Hinweis: Wenn du die AWS-WAF-Protokollierung zum Zeitpunkt der Anforderung nicht aktiviert hast, aktiviere die AWS-WAF-Protokollierung und sende dieselbe Anforderung erneut.

Verwende die Abfragen in den AWS-WAF-Protokollen, um die blockierten Anforderungen zu identifizieren. Verwende Abfragen in Amazon CloudWatch Logs Insights, um AWS-WAF-Protokolle abzufragen, die du in Amazon CloudWatch Logs speicherst. Verwende Amazon-Athena-Abfragen, um AWS-WAF-Protokolle abzufragen, die du in Amazon Simple Storage Solution (Amazon S3) speicherst.

Beispielabfragen für CloudWatch Logs Insights

Führe die folgende Abfrage aus, um die 10 wichtigsten beendenden Regeln abzufragen:

fields terminatingRuleId
| stats count() as requestCount by terminatingRuleId
| sort requestCount desc
| limit 10

Führe die folgende Abfrage aus, um die von AWS WAF blockierten Anforderungen nach Client-IP-Adresse, Land, URI und Regel zusammenzufassen:

fields httpRequest.clientIp as ClientIP, httpRequest.country as Country, httpRequest.uri as URI, terminatingRuleId as Rule
| filter action = "BLOCK"
| stats count() as RequestCount by Country, ClientIP, URI, Rule
| sort RequestCount desc

Hinweis: In der Ausgabe identifiziert das Feld terminatingRuleId die AWS-WAF-Regel oder -Regelgruppe, welche die Anforderung blockiert.

Athena-Beispielabfrage

Verwende Athena für AWS-WAF-Protokolle, die du in einem Amazon-S3-Bucket speicherst, um eine AWS-WAF-Tabelle zu erstellen, die Protokolle abfragt und Details filtert. Weitere Informationen findest du unter Abfragen von AWS-WAF-Protokollen. Führe dann Abfragen für die Tabelle aus.

Um beispielsweise die Anzahl der Anforderungen anzuzeigen, die AWS WAF basierend auf der Client-IP-Adresse und dem Land blockiert hat, führe die folgende Abfrage aus:

SELECT  "httprequest"."clientip"
,"count"(*) "count"  
, "httprequest"."country"
FROM
waf_logs
WHERE ("action" LIKE 'BLOCK')
GROUP BY "httprequest"."clientip", "httprequest"."country"
ORDER BY "count" DESC

AWS-WAF-Regel ändern, um die Anforderung zuzulassen

Wenn sich die Blockierregel in einer Regelgruppe von AWS-verwalteten Regeln befindet, passe das Regelverhalten an.

Wenn es sich bei der Blockierregel um eine benutzerdefinierte Regel handelt, aktualisiere deine Regelparameter, um eine Regelanweisung zu verwenden und so die Anforderung zuzulassen.

Ähnliche Informationen

Wie aktiviere ich die AWS-WAF-Protokollierung und sende Protokolle an CloudWatch, Amazon S3 oder Firehose?

Wie analysiere ich AWS-WAF-Protokolle in CloudWatch?

AWS OFFICIALAktualisiert vor 9 Monaten