Salta al contenuto

Perché AWS WAF blocca la mia richiesta o risponde con un errore 403 Forbidden?

4 minuti di lettura
0

Desidero identificare la regola di AWS WAF che blocca la mia richiesta o risponde con un errore 403 Forbidden.

Breve descrizione

Per impostazione predefinita, AWS WAF restituisce un errore "403 Forbidden" per le richieste che corrispondono alle regole di AWS WAF con l'azione Block (Blocca). Se imposti risposte personalizzate per le azioni Block (Blocca), AWS WAF restituisce la risposta configurata.

Per risolvere l'errore "403 Forbidden", identifica la regola o il gruppo di regole di AWS WAF che blocca la richiesta utilizzando le richieste campionate o i log di AWS WAF. Quindi modifica la regola affinché accetti la richiesta.

Risoluzione

Utilizza le richieste campionate

Se AWS WAF ha bloccato la richiesta nelle ultime 3 ore, puoi visualizzare un campione delle richieste web bloccate. Se AWS WAF ha bloccato la richiesta da oltre 3 ore, invia nuovamente la stessa richiesta per generare una nuova richiesta campionata.

Nella tabella Sampled requests (Richieste campionate), esamina le seguenti colonne:

  • Per identificare la richiesta, esamina le colonne Source IP (IP origine) e URI.
  • Per identificare la regola o il gruppo di regole che corrisponde alla richiesta, esamina la colonna Metric name (Nome metrica). Se la richiesta è bloccata da un gruppo di regole, utilizza la colonna Rule inside rule group (Regola all'interno di un gruppo di regole) per identificare la regola.
  • Per verificare che la regola sia impostata suBlock (Blocca), esamina la colonna Action (Azione).

Utilizza i log di AWS WAF

Nota: se non hai attivato la registrazione in AWS WAF al momento della richiesta, attivala e invia nuovamente la stessa richiesta.

Utilizza le query sui log di AWS WAF per identificare le richieste bloccate. Per eseguire query sui log di AWS WAF archiviati in Amazon CloudWatch Logs, utilizza le query di Approfondimenti di Amazon CloudWatch Logs. Per eseguire query sui log di AWS WAF archiviati in Amazon Simple Storage Solution (Amazon S3), utilizza le query di Amazon Athena.

Esempi di query di Approfondimenti di CloudWatch Logs

Per ottenere le prime 10 regole bloccanti, esegui questa query:

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

Per riepilogare le richieste bloccate in base all'indirizzo IP del client, al paese, all'URI e alla regola, esegui questa query:

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

Nota: nell'output, il campo terminatingRuleId identifica la regola o il gruppo di regole di AWS WAF che blocca la richiesta.

Esempio di query di Athena

Per i log di AWS WAF archiviati in un bucket Amazon S3, crea una tabella AWS WAF che esegua query sui log e filtri i dettagli utilizzando Athena. Per ulteriori informazioni, consulta Query su log di AWS WAF. Quindi esegui le query sulla tabella.

Ad esempio, per visualizzare il numero di richieste bloccate da AWS WAF in base all'indirizzo IP e al paese del client, esegui questa query:

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

Modifica la regola di AWS WAF affinché accetti la richiesta

Se la regola bloccante si trova in un gruppo di regole denominato AWS Managed Rules, personalizza il comportamento della regola.

Se la regola bloccante è una regola personalizzata, aggiornane i parametri in modo da utilizzare un'istruzione regola che consenta la richiesta.

Informazioni correlate

Come posso attivare la registrazione di AWS WAF e inviare i log a CloudWatch, Amazon S3 o Kinesis Data Firehose?

Come posso analizzare i log di AWS WAF in CloudWatch?

AWS UFFICIALEAggiornata 8 mesi fa