Registrazione informazioni di traffico ACL Web - AWS WAFAWS Firewall Manager, e AWS Shield Advanced

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à.

Registrazione informazioni di traffico ACL Web

Nota

Questa è la documentazione AWS WAF classica. Dovresti usare questa versione solo se hai creato AWS WAF risorse, come regole e ACL web, AWS WAF prima di novembre 2019 e non le hai ancora migrate alla versione più recente. Per eseguire la migrazione delle risorse, consulta Migrazione delle risorse AWS WAF Classic a AWS WAF.

Per la versione più recente di AWS WAF, vedi. AWS WAF

Nota

Non puoi utilizzare Amazon Security Lake per raccogliere dati AWS WAF Classic.

È possibile attivare la registrazione per ottenere informazioni dettagliate sul traffico analizzato dall'ACL Web. Le informazioni contenute nei log includono l'ora in cui AWS WAF Classic ha ricevuto la richiesta dalla tua AWS risorsa, informazioni dettagliate sulla richiesta e l'azione relativa alla regola a cui ogni richiesta corrisponde.

Per iniziare, configurare un Amazon Kinesis Data Firehose. Come parte del processo, scegliere una destinazione per l'archiviazione dei log. Successivamente, scegli l'ACL Web per cui si desidera attivare la registrazione. Dopo aver abilitato la registrazione, AWS WAF invia i log alla destinazione di archiviazione tramite il firehose.

Per informazioni su come creare un Amazon Kinesis Data Firehose e rivedere i log memorizzati, consulta What Is Amazon Data Firehose? Per comprendere le autorizzazioni richieste per la configurazione di Kinesis Data Firehose, consulta Controlling Access with Amazon Kinesis Data Firehose.

È necessario disporre delle autorizzazioni seguenti per attivare la registrazione:

  • iam:CreateServiceLinkedRole

  • firehose:ListDeliveryStreams

  • waf:PutLoggingConfiguration

Per ulteriori informazioni sui ruoli collegati ai servizi e sull'autorizzazione iam:CreateServiceLinkedRole, consulta Utilizzo di ruoli collegati ai servizi per Classic AWS WAF.

Per attivare la registrazione per un ACL Web
  1. Crea un Amazon Kinesis Data Firehose utilizzando un nome che inizia con il aws-waf-logs prefisso "-» Ad esempio,. aws-waf-logs-us-east-2-analytics Creare i dati firehose con un'origine PUT e nella regione in cui si sta lavorando. Se stai acquisendo log per Amazon CloudFront, crea la firehose negli Stati Uniti orientali (Virginia settentrionale). Per ulteriori informazioni, consulta Creating an Amazon Data Firehose Delivery Stream.

    Importante

    Non scegliere Kinesis stream come origine.

    Un registro AWS WAF Classic equivale a un record Firehose. Se in genere ricevi 10.000 richieste al secondo e abiliti i log completi, dovresti avere un'impostazione di 10.000 record al secondo in Firehose. Se non configuri Firehose correttamente, AWS WAF Classic non registrerà tutti i log. Per ulteriori informazioni, consulta Quote di Amazon Kinesis Data Firehose.

  2. Accedi AWS Management Console e apri la AWS WAF console all'indirizzo https://console.aws.amazon.com/wafv2/.

    Se vedi Passa alla AWS WAF versione classica nel riquadro di navigazione, selezionalo.

  3. Nel riquadro di navigazione, scegliere Web ACLs (ACL Web).

  4. Scegli il nome dell'ACL web per cui desideri abilitare la registrazione. Si apre una pagina con i dettagli dell'ACL Web nel riquadro a destra.

  5. Nella scheda Logging (Registrazione), selezionare Enable logging (Attiva registrazione).

  6. Scegliere la Kinesis Data Firehose creata durante la prima fase. Devi scegliere una manichetta antincendio che inizi con "aws-waf-logs-».

  7. (Facoltativo) Se non si desidera che determinati campi e i relativi valori vengano inclusi nei log, omettere tali campi. Scegliere il campo da omettere, quindi selezionare Add (Aggiungi). Se necessario, ripetere l'operazione per omettere i campi aggiuntivi. I campi omessi vengono visualizzati come REDACTED nei log. Ad esempio, se si omette il campo cookie, il campo cookie nei log sarà REDACTED.

  8. Scegliere Enable Logging (Attiva registrazione).

    Nota

    Quando abiliti correttamente la registrazione, AWS WAF Classic creerà un ruolo collegato al servizio con le autorizzazioni necessarie per scrivere log su Amazon Kinesis Data Firehose. Per ulteriori informazioni, consulta Utilizzo di ruoli collegati ai servizi per Classic AWS WAF.

Per disabilitare la registrazione per un ACL Web
  1. Nel riquadro di navigazione, scegliere Web ACLs (ACL Web).

  2. Scegli il nome dell'ACL web per cui desideri disabilitare la registrazione. Si apre una pagina con i dettagli dell'ACL Web nel riquadro a destra.

  3. Nella scheda Logging (Registrazione), selezionare Disable logging (Disabilita registrazione).

  4. Nella finestra di dialogo, selezionare Disable logging (Disabilita registrazione).

Esempio Log di esempio
{ "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" } }

Di seguito è riportata una spiegazione di ciascuna voce elencata in questi log:

timestamp

Time Stamp in millisecondi.

Tipo di formato

Tipo di formato per il log.

webaclId

GUID dell'ACL Web.

terminatingRuleId

ID della regola che ha terminato la richiesta. Se non viene terminata la richiesta, il valore è Default_Action.

terminatingRuleType

Tipo della regola che ha terminato la richiesta. Valori possibili: RATE_BASED, REGULAR e GROUP.

action

Operazione. Valori possibili per una regola di terminazione: ALLOW e BLOCK. COUNT non è un valore valido per una regola di terminazione.

terminatingRuleMatchDettagli

Informazioni dettagliate sulla regola di terminazione corrispondente alla richiesta. Una regola di terminazione ha un'azione che termina il processo di ispezione di una richiesta Web. Le possibili operazioni per una regola di terminazione sono ALLOW e BLOCK. Questo viene popolato solo per le istruzioni delle regole di corrispondenza SQL injection e Cross-site scripting (XSS). Come per tutte le istruzioni di regola che controllano più di un oggetto, AWS WAF applica l'operazione alla prima corrispondenza e interrompe l'ispezione della richiesta Web. Una richiesta Web con un'operazione di terminazione potrebbe contenere altre minacce, oltre a quella segnalata nel log.

httpSourceName

Origine della richiesta. Valori possibili: CF (se l'origine è Amazon CloudFront), APIGW (se l'origine è Amazon API Gateway) e ALB (se l'origine è un Application Load Balancer).

httpSourceId

ID origine. Questo campo mostra l'ID della CloudFront distribuzione Amazon associata, l'API REST per API Gateway o il nome di un Application Load Balancer.

ruleGroupList

Elenco dei gruppi di regole che hanno operato su questa richiesta. Nell'esempio di codice precedente, ce n'è uno solo.

ruleGroupId

ID del gruppo di regole. Se la regola ha bloccato la richiesta, l'ID per ruleGroupID è uguale all'ID per terminatingRuleId.

terminatingRule

Regola all'interno del gruppo di regole che hanno terminato la richiesta. Se questo è un valore non null, contiene anche ruleid e action. In questo caso, l'operazione sarà sempre BLOCK.

nonTerminatingMatchingRegole

L'elenco di regole nel gruppo di regole che corrispondono alla richiesta. Queste sono sempre regole di tipo COUNT (regole di non terminazione che corrispondono).

azione (gruppo nonTerminatingMatching Regole)

Questa è sempre una regola di tipo COUNT (regole di non terminazione che corrispondono).

RuleID (gruppo RulesnonTerminatingMatching)

ID della regola all'interno del gruppo di regole corrispondente alla richiesta e che non è di terminazione. Cioè regole COUNT.

excludedRules

L'elenco di regole nel gruppo di regole che sono state escluse. L'operazione impostata per queste regole è COUNT.

exclusionType (gruppo excludedRules)

Tipo che indica che la regola esclusa contiene l'operazione COUNT.

ruleId (gruppo excludedRules)

L'ID della regola all'interno del gruppo di regole che è esclusa.

rateBasedRuleElenco

Elenco dei gruppi di regole basate su tariffa che hanno operato su questa richiesta.

rateBasedRuleId

ID della regola basata sulla frequenza che ha operato su questa richiesta. Se ciò ha terminato la richiesta, l'ID di rateBasedRuleId è uguale all'ID di terminatingRuleId.

limitKey

Il campo AWS WAF utilizzato per determinare se è probabile che le richieste arrivino da un'unica fonte e quindi siano soggette al monitoraggio della frequenza. Valore possibile: IP.

maxRateAllowed

Numero massimo di richieste, che hanno lo stesso valore nel campo specificato da limitKey, consentite in un periodo di tempo di cinque minuti. Se il numero di richieste supera il maxRateAllowed e vengono soddisfatti anche gli altri predicati specificati nella regola, AWS WAF attiva l'azione specificata per questa regola.

httpRequest

Metadati sulla richiesta.

clientIp

Indirizzo IP del client che invia la richiesta.

country

Paese di origine della richiesta. Se non AWS WAF è in grado di determinare il paese di origine, imposta questo campo su. -

headers

Elenco intestazioni.

uri

URI della richiesta. Il precedente esempio di codice illustra quale sarebbe il valore se il campo venisse omesso.

args

Stringa query.

httpVersion

Versione HTTP.

httpMethod

Metodo HTTP nella richiesta.

requestId

ID della richiesta.