Destinos de logs - AWS WAF, AWS Firewall Manager, e AWS Shield Advanced

Destinos de logs

Esta seção descreve os destinos de logs que você pode escolher para seus logs de política AWS WAF. Cada seção fornece orientações para configurar os logs para o tipo de destino e informações sobre qualquer comportamento específico para o tipo de destino. Depois de configurar seu destino de registro em log, você pode fornecer suas especificações para sua política AWS WAF do Firewall Manager para iniciar o registro em log nele.

O Firewall Manager não tem visibilidade das falhas de log depois de criar a configuração de registro em log. É sua responsabilidade verificar se a entrega de logs está funcionando conforme o esperado.

O Firewall Manager não modifica nenhuma configuração de registro em log existente nas contas dos membros da sua organização.

Fluxos de dados do Amazon Data Firehose

Este tópico fornece informações para enviar seus logs de tráfego de ACL da Web para um fluxo de dados do Amazon Data Firehose.

Quando você habilita o registro de logs do Amazon Data Firehose, o Firewall Manager envia logs das ACLs da Web da sua política para um Amazon Data Firehose, onde você configurou um destino do armazenamento. Depois de habilitar o registro, o AWS WAF entrega logs para o destino de armazenamento por meio do endpoint HTTPS do Kinesis Data Firehose para o destino de armazenamento configurado. Antes de usá-lo, teste seu streaming de entrega para ter certeza de que ele tem throughput suficiente para acomodar os logs da sua organização. Para obter mais informações sobre como criar um Amazon Kinesis Data Firehose e analisar os logs armazenados, consulte O que é o Amazon Data Firehose?

Você deve ter as seguintes permissões para habilitar o registro em log com êxito com um Kinesis:

  • iam:CreateServiceLinkedRole

  • firehose:ListDeliveryStreams

  • wafv2:PutLoggingConfiguration

Quando você configura um destino de registro de logs do Amazon Data Firehose em uma política do AWS WAF, o Firewall Manager cria uma ACL da Web para a política na conta do administrador do Firewall Manager da seguinte forma:

  • O Firewall Manager cria a web ACL na conta do administrador do Firewall Manager, independentemente de a conta estar ou não no escopo da política.

  • A web ACL tem o registro em logs ativado, com um nome de log FMManagedWebACLV2-Loggingpolicy name-timestamp, em que o timestamp é a hora UTC em que o log foi ativado para a web ACL, em milissegundos. Por exemplo, FMManagedWebACLV2-LoggingMyWAFPolicyName-1621880565180. A web ACL não tem grupos de regras nem recursos associados.

  • Você é cobrado pela web ACL de acordo com as diretrizes de preços AWS WAF. Para obter mais informações, consulte Preços do AWS WAF.

  • O Firewall Manager exclui a web ACL quando você exclui a política.

Para obter mais informações sobre funções vinculadas ao serviço e a permissão do iam:CreateServiceLinkedRole, consulte Usar funções vinculadas ao serviço do AWS WAF.

Para obter mais informações sobre como criar seu fluxo de entrega, consulte Criar um fluxo de entrega do Amazon Data Firehose.

Buckets do Amazon Simple Storage Service

Este tópico fornece informações para enviar seus logs de tráfego da web ACL para um bucket do Amazon S3.

O bucket que você escolher como destino de registro em log deve pertencer a uma conta de administrador do Firewall Manager. Para obter informações sobre os requisitos para criar seu bucket do Amazon S3 para requisitos de registro em log e nomenclatura de buckets, consulte Amazon Simple Storage Service no Guia do desenvolvedor AWS WAF.

Consistência eventual

Quando você faz alterações nas AWS WAF políticas configuradas com um destino de registro em log do Amazon S3, o Firewall Manager atualiza a política do bucket para adicionar as permissões necessárias para o registro em log. Ao fazer isso, o Firewall Manager segue os modelos semânticos e de consistência de dados do último escritor que o Amazon Simple Storage Service segue. Se você fizer simultaneamente várias atualizações de políticas em um destino do Amazon S3 no console do Firewall Manager ou por meio da API PutPolicy, algumas permissões podem não ser salvas. Para obter mais informações sobre modelo de consistência de dados do Amazon S3, consulte Modelo de consistência de dados do Amazon S3 no Guia do usuário do Amazon Simple Storage Service.

Permissões para publicar logs em um bucket do Amazon S3

Como configurar o registro de logs de tráfego de ACL da Web para um bucket do Amazon S3 em uma política do AWS WAF requer as seguintes configurações de permissões. O Firewall Manager atribui automaticamente essas permissões ao seu bucket do Amazon S3 quando você configura o Amazon S3 como seu destino de registro em log para dar ao serviço permissão para publicar registros em log no bucket. Se você quiser gerenciar um acesso mais refinado aos seus recursos de registro em log e do Firewall Manager, você mesmo pode definir essas permissões. Para obter mais informações sobre gerenciamento de permissões, consulte Gerenciamento de acesso para recursos da AWS no Guia do usuário do IAM. Para obter informações sobre as políticas gerenciadas do AWS WAF, consulte Políticas gerenciadas pela AWS para o AWS WAF.

{ "Version": "2012-10-17", "Id": "AWSLogDeliveryForFirewallManager", "Statement": [ { "Sid": "AWSLogDeliveryAclCheckFMS", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::aws-waf-logs-LOGGING-BUCKET-SUFFIX" }, { "Sid": "AWSLogDeliveryWriteFMS", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::aws-waf-logs-LOGGING-BUCKET-SUFFIX/policy-id/AWSLogs/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control" } } } ] }

Para evitar problema de “confused deputy” entre serviços, você pode adicionar as chaves de contexto de condição global aws:SourceArn e aws:SourceAccount e as chaves de contexto à política do seu bucket. Para adicionar essas chaves, você pode modificar a política que o Firewall Manager cria para você ao configurar o destino do registro em log ou, se quiser um controle refinado, pode criar sua própria política. Se você adicionar essas condições à sua política de destino de registro em log, o Firewall Manager não validará nem monitorará as proteções de “confused deputy”. Para obter mais informações sobre o problema de “confused deputy”, consulte O problema de “confused deputy”, no Guia do usuário do IAM.

Quando você adiciona a sourceAccount às propriedades sourceArn de adição, isso aumenta o tamanho da política do bucket. Se você estiver adicionando uma longa lista de sourceAccount às propriedades sourceArn de adição, tome cuidado para não exceder a cota de tamanho da política de bucket do Amazon S3.

O exemplo a seguir mostra como evitar o problema de “confused deputy” usando as chaves de contexto de condição globais aws:SourceArn e aws:SourceAccount na política do seu bucket. Substitua member-account-id pelos IDs de conta dos membros da sua organização.

{ "Version":"2012-10-17", "Id":"AWSLogDeliveryForFirewallManager", "Statement":[ { "Sid":"AWSLogDeliveryAclCheckFMS", "Effect":"Allow", "Principal":{ "Service":"delivery.logs.amazonaws.com" }, "Action":"s3:GetBucketAcl", "Resource":"arn:aws:s3:::aws-waf-logs-LOGGING-BUCKET-SUFFIX", "Condition":{ "StringEquals":{ "aws:SourceAccount":[ "member-account-id", "member-account-id" ] }, "ArnLike":{ "aws:SourceArn":[ "arn:aws:logs:*:member-account-id:*", "arn:aws:logs:*:member-account-id:*" ] } } }, { "Sid":"AWSLogDeliveryWriteFMS", "Effect":"Allow", "Principal":{ "Service":"delivery.logs.amazonaws.com" }, "Action":"s3:PutObject", "Resource":"arn:aws:s3:::aws-waf-logs-LOGGING-BUCKET-SUFFIX/policy-id/AWSLogs/*", "Condition":{ "StringEquals":{ "s3:x-amz-acl":"bucket-owner-full-control", "aws:SourceAccount":[ "member-account-id", "member-account-id" ] }, "ArnLike":{ "aws:SourceArn":[ "arn:aws:logs:*:member-account-id-1:*", "arn:aws:logs:*:member-account-id-2:*" ] } } } ] }

Criptografia no lado do servidor de bucket do Amazon S3

Você pode habilitar a criptografia do lado do servidor do Amazon S3 ou usar uma chave gerenciada pelo cliente AWS Key Management Service em seu bucket do S3. Se você optar por usar a criptografia padrão do Amazon S3 em seu bucket do Amazon S3 AWS WAF para registros de logs, não precisará realizar nenhuma ação especial. No entanto, se você optar por usar uma chave de criptografia fornecida pelo cliente para criptografar seus dados do Amazon S3 em repouso, você deve adicionar a seguinte declaração de permissão à sua política de chaves AWS Key Management Service:

{ "Sid": "Allow Logs Delivery to use the key", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" }

Para obter mais informações sobre o uso de chaves de criptografia fornecidas pelo cliente com o Amazon S3, consulte Usando criptografia do lado do servidor com chaves fornecidas pelo cliente (SSE-KMS) no Guia do usuário do Amazon Simple Storage Service.