Invio di registri ACL del traffico Web a un bucket Amazon Simple Storage Service - AWS WAF, AWS 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à.

Invio di registri ACL del traffico Web a un bucket Amazon Simple Storage Service

Questo argomento fornisce informazioni per inviare i log ACL del traffico Web a un bucket Amazon S3.

Nota

Oltre ai costi di utilizzo, ti verranno addebitati i costi per la registrazione AWS WAF Per informazioni, consulta Prezzi per la registrazione delle informazioni sul ACL traffico web.

Per inviare i log ACL del traffico Web ad Amazon S3, devi configurare un bucket Amazon S3 dallo stesso account che usi per gestire il ACL Web e assegnare un nome al bucket a partire da. aws-waf-logs- Quando abiliti l'accesso AWS WAF, fornisci il nome del bucket. Per informazioni sulla creazione di un bucket di registrazione, consulta Create a Bucket nella Amazon Simple Storage Service User Guide.

Puoi accedere e analizzare i log di Amazon S3 utilizzando il servizio di query interattivo Amazon Athena. Athena semplifica l'analisi dei dati direttamente in Amazon S3 utilizzando lo standard. SQL Con alcune azioni nel AWS Management Console, puoi indirizzare Athena ai tuoi dati archiviati in Amazon S3 e iniziare rapidamente a utilizzare SQL lo standard per eseguire query ad hoc e ottenere risultati. Per ulteriori informazioni, consulta Interrogazione AWS WAF accede alla guida per l'utente di Amazon Athena. Per ulteriori esempi di query Amazon Athena, consulta waf-log-sample-athenaaws-samples/ -queries sul sito Web. GitHub

Nota

AWS WAF supporta la crittografia con bucket Amazon S3 per il tipo di chiave Amazon S3 key (-S3) e per SSE AWS Key Management Service (SSE-KMS) AWS KMS keys. AWS WAF non supporta la crittografia per AWS Key Management Service chiavi gestite da AWS.

Il tuo sito web ACLs pubblica i propri file di log nel bucket Amazon S3 a intervalli di 5 minuti. Ogni file di registro contiene i record di registro del traffico registrato nei 5 minuti precedenti.

Le dimensioni file massime per un file di log sono di 75 MB. Se il file di registro raggiunge il limite di dimensione del file entro un periodo di 5 minuti, interrompe l'aggiunta di record, lo pubblica nel bucket Amazon S3 e quindi crea un nuovo file di registro.

I file di log sono compressi. Se apri i file utilizzando la console Amazon S3, Amazon S3 decomprime i record di log e li visualizza. Se scarichi i file di registro, devi decomprimerli per visualizzare i record.

Un singolo file di registro contiene voci interlacciate con più record. Per visualizzare tutti i file di registro di un sito WebACL, cerca le voci aggregate in base al ACL nome web, alla regione e all'ID dell'account.

Requisiti di denominazione e sintassi

I nomi dei tuoi bucket per AWS WAF la registrazione deve iniziare con aws-waf-logs- e può terminare con qualsiasi suffisso desiderato. Ad esempio aws-waf-logs-DOC-EXAMPLE-BUCKET-SUFFIX.

Ubicazione del bucket

Le posizioni dei bucket utilizzano la seguente sintassi:

s3://aws-waf-logs-DOC-EXAMPLE-BUCKET-SUFFIX/
Secchio ARN

Il formato del bucket Amazon Resource Name (ARN) è il seguente:

arn:aws:s3:::aws-waf-logs-DOC-EXAMPLE-BUCKET-SUFFIX
Posizioni dei bucket con prefissi

Se utilizzi dei prefissi nel nome delle chiavi oggetto per organizzare i dati archiviati nei bucket, puoi fornire i prefissi nei nomi dei bucket di registrazione.

Nota

Questa opzione non è disponibile tramite la console. Usa il AWS WAF APIsCLI, o AWS CloudFormation.

Per informazioni sull'uso dei prefissi in Amazon S3, consulta Organizing objects using prefixes nella Amazon Simple Storage Service User Guide.

Le posizioni dei bucket con prefissi utilizzano la seguente sintassi:

s3://aws-waf-logs-DOC-EXAMPLE-BUCKET-SUFFIX/DOC-EXAMPLE-KEY-NAME-PREFIX/
Cartelle e nomi di file dei bucket

All'interno dei tuoi bucket e seguendo i prefissi che fornisci, i AWS WAF i log sono scritti in una struttura di cartelle determinata dall'ID dell'account, dalla regione, dal ACL nome web e dalla data e dall'ora.

AWSLogs/account-id/WAFLogs/Region/web-acl-name/YYYY/MM/dd/HH/mm

All'interno delle cartelle, i nomi dei file di registro seguono un formato simile:

account-id_waflogs_Region_web-acl-name_timestamp_hash.log.gz

Le specifiche temporali utilizzate nella struttura delle cartelle e nel nome del file di registro rispettano le specifiche del formato del timestamp. YYYYMMddTHHmmZ

Di seguito viene illustrato un esempio di file di log in un bucket Amazon S3 per un bucket denominato. DOC-EXAMPLE-BUCKET Il Account AWS è. 11111111111 Il web ACL è TEST-WEBACL e la Regione èus-east-1.

s3://DOC-EXAMPLE-BUCKET/AWSLogs/11111111111/WAFLogs/us-east-1/TEST-WEBACL/2021/10/28/19/50/11111111111_waflogs_us-east-1_TEST-WEBACL_20211028T1950Z_e0ca43b5.log.gz
Nota

I tuoi nomi preferiti per AWS WAF la registrazione deve iniziare con aws-waf-logs- e può terminare con qualsiasi suffisso desiderato.

Autorizzazioni necessarie per pubblicare i log su Amazon S3

La configurazione della registrazione ACL del traffico Web per un bucket Amazon S3 richiede le seguenti impostazioni di autorizzazione. Queste autorizzazioni vengono impostate automaticamente quando utilizzi una delle AWS WAF politiche gestite di accesso completo, AWSWAFConsoleFullAccess oppureAWSWAFFullAccess. Se desideri gestire un accesso più dettagliato ai tuoi log e AWS WAF risorse, puoi impostare queste autorizzazioni tu stesso. Per informazioni sulla gestione delle autorizzazioni, vedere Gestione degli accessi per AWS risorse nella Guida per l'IAMutente. Per informazioni sulla AWS WAF politiche gestite, vedereAWS politiche gestite per AWS WAF.

Le seguenti autorizzazioni consentono di modificare la configurazione del web ACL logging e di configurare la consegna dei log al bucket Amazon S3. Queste autorizzazioni devono essere associate all'utente che utilizzi per la gestione AWS WAF.

Nota

Quando imposti le autorizzazioni elencate di seguito, potresti riscontrare degli errori nei AWS CloudTrail registri che indicano l'accesso negato, ma le autorizzazioni sono corrette per AWS WAF registrazione.

{ "Version":"2012-10-17", "Statement":[ { "Action":[ "wafv2:PutLoggingConfiguration", "wafv2:DeleteLoggingConfiguration" ], "Resource":[ "*" ], "Effect":"Allow", "Sid":"LoggingConfigurationAPI" }, { "Sid":"WebACLLogDelivery", "Action":[ "logs:CreateLogDelivery", "logs:DeleteLogDelivery" ], "Resource": "*", "Effect":"Allow" }, { "Sid":"WebACLLoggingS3", "Action":[ "s3:PutBucketPolicy", "s3:GetBucketPolicy" ], "Resource": [ "arn:aws:s3:::aws-waf-logs-amzn-s3-demo-bucket" ], "Effect":"Allow" } ] }

Quando le azioni sono consentite su tutti AWS risorse, è indicato nella politica con un'"Resource"impostazione di"*". Ciò significa che le azioni sono consentite su tutti AWS risorse supportate da ogni azione. Ad esempio, l'azione wafv2:PutLoggingConfiguration è supportata solo per la wafv2 registrazione delle risorse di configurazione.

Per impostazione predefinita, i bucket Amazon S3 e gli oggetti che contengono sono privati. Solo il proprietario del bucket può accedere al bucket e agli oggetti in esso archiviati. Il proprietario del bucket, tuttavia, può concedere l'accesso ad altre risorse e utenti scrivendo una politica di accesso.

Se l'utente che crea il log è proprietario del bucket, il servizio allega automaticamente la seguente policy al bucket per concedere al log l'autorizzazione a pubblicare i log su di esso:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSLogDeliveryWrite", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::aws-waf-logs-amzn-s3-demo-bucket/AWSLogs/account-id/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "aws:SourceAccount": ["account-id"] }, "ArnLike": { "aws:SourceArn": ["arn:aws:logs:region:account-id:*"] } } }, { "Sid": "AWSLogDeliveryAclCheck", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::aws-waf-logs-amzn-s3-demo-bucket", "Condition": { "StringEquals": { "aws:SourceAccount": ["account-id"] }, "ArnLike": { "aws:SourceArn": ["arn:aws:logs:region:account-id:*"] } } } ] }
Nota

I nomi dei tuoi bucket per AWS WAF la registrazione deve iniziare con aws-waf-logs- e può terminare con qualsiasi suffisso desiderato.

Se l'utente che crea il log non è proprietario del bucket o non dispone delle autorizzazioni GetBucketPolicy e dei PutBucketPolicy permessi per il bucket, la creazione del log ha esito negativo. In questo caso, il proprietario del bucket deve aggiungere manualmente la politica precedente al bucket e specificare quella del creatore del log Account AWS ID. Per ulteriori informazioni, consulta Come aggiungere una policy per un bucket S3 nella Guida per l'utente di Amazon Simple Storage Service. Se il bucket riceve log da più account, aggiungi un Resource elemento all'AWSLogDeliveryWriteinformativa relativa a ciascun account.

Ad esempio, la seguente policy sui bucket consente Account AWS 111122223333per pubblicare i log in un bucket denominato: aws-waf-logs-amzn-s3-demo-bucket

{ "Version": "2012-10-17", "Id": "AWSLogDeliveryWrite20150319", "Statement": [ { "Sid": "AWSLogDeliveryWrite", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::aws-waf-logs-amzn-s3-demo-bucket/AWSLogs/111122223333/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "aws:SourceAccount": ["111122223333"] }, "ArnLike": { "aws:SourceArn": ["arn:aws:logs:us-east-1:111122223333:*"] } } }, { "Sid": "AWSLogDeliveryAclCheck", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::aws-waf-logs-amzn-s3-demo-bucket", "Condition": { "StringEquals": { "aws:SourceAccount": ["111122223333"] }, "ArnLike": { "aws:SourceArn": ["arn:aws:logs:us-east-1:111122223333:*"] } } } ] }

Autorizzazioni per l'utilizzo AWS Key Management Service con una chiave KMS

Se la destinazione di registrazione utilizza la crittografia lato server con chiavi archiviate in AWS Key Management Service (SSE-KMS) e si utilizza una chiave gestita dal cliente (KMSchiave), è necessario fornire AWS WAF permesso di usare la tua KMS chiave. Per fare ciò, aggiungi una politica chiave alla KMS chiave per la destinazione scelta. Questo permette AWS WAF registrazione per scrivere i file di registro nella destinazione.

Aggiungi la seguente politica chiave alla tua KMS chiave per consentire AWS WAF per accedere al tuo bucket Amazon S3.

{ "Sid": "Allow AWS WAF to use the key", "Effect": "Allow", "Principal": { "Service": [ "delivery.logs.amazonaws.com" ] }, "Action": "kms:GenerateDataKey*", "Resource": "*" }

Autorizzazioni necessarie per accedere ai file di registro di Amazon S3

Amazon S3 utilizza le liste di controllo degli accessi (ACLs) per gestire l'accesso ai file di log creati da un AWS WAF registro. Per impostazione predefinita, il proprietario del bucket dispone di autorizzazioni FULL_CONTROL su ogni file di log. Il proprietario della distribuzione dei log, se diverso dal proprietario del bucket, non dispone di autorizzazioni. L'account di distribuzione dei log dispone delle autorizzazioni READ e WRITE. Per ulteriori informazioni, consulta la panoramica di Access Control List (ACL) nella Guida per l'utente di Amazon Simple Storage Service.