Coletar registros do AWS CloudTrail

Compatível com:

Este documento descreve como coletar registros do AWS CloudTrail configurando um feed do Google Security Operations e como os campos de registro são mapeados para os campos do Modelo Unificado de Dados (UDM, na sigla em inglês) do Google SecOps.

Para mais informações, consulte [Ingestão de dados no Google SecOps][1].

Uma implantação típica consiste no AWS CloudTrail e no feed do Google SecOps configurados para enviar registros ao Google SecOps. Sua implantação pode ser diferente da implantação típica descrita neste documento. A implantação contém os seguintes componentes:

  • AWS CloudTrail: a plataforma que coleta registros.

  • AWS S3: a plataforma que armazena registros.

  • Feed do Google SecOps: busca registros do AWS S3 e grava registros no Google SecOps.

  • Google SecOps: a plataforma que retém e analisa os registros do AWS CloudTrail.

Um rótulo de ingestão identifica o analisador que normaliza dados de registro brutos para o formato UDM estruturado. As informações neste documento se aplicam ao analisador com o rótulo de ingestão AWS_CLOUDTRAIL.

Antes de começar

Verifique se você tem os pré-requisitos a seguir:

  • Conta da AWS
  • os pré-requisitos para usar o AWS CloudTrail sejam atendidos. Para mais informações, consulte Configuração do AWS CloudTrail.
  • Todos os sistemas na arquitetura de implantação usam o fuso horário UTC.

Etapas básicas para ingerir registros do S3 com o SQS

Nesta seção, descrevemos as etapas básicas para ingerir registros do AWS CloudTrail na sua instância do Google SecOps. As etapas descrevem como fazer isso usando o Amazon S3 com o Amazon SQS como o tipo de origem do feed.

Configurar o AWS CloudTrail e o S3

Neste procedimento, você configura os registros do AWS CloudTrail para serem gravados em um bucket do S3.

  1. No console da AWS, pesquise CloudTrail.
  2. Clique em Criar rastreamento.
  3. Forneça um Nome do rastreamento.
  4. Selecione Criar bucket do S3. Também é possível usar um bucket do S3 atual.
  5. Forneça um nome para o alias do KMS da AWS ou escolha uma chave do KMS da AWS.
  6. Deixe as outras configurações como padrão e clique em Próxima.
  7. Escolha Tipo de evento, adicione Eventos de dados como obrigatório e clique em Próxima.
  8. Revise as configurações em Revisar e criar e clique em Criar rastreamento.
  9. No console da AWS, pesquise Buckets do Amazon S3.
  10. Clique no bucket de registros recém-criado e selecione a pasta AWSLogs. Em seguida, clique em Copiar URI do S3 e salve-o para usar nas etapas a seguir.

Configurar uma fila padrão do SQS e o SNS

Se você usar uma fila do SQS, ela precisa ser padrão, não PEPS.

  1. Ative o AWS CloudTrail e configure-o para entregar registros em um bucket do S3 usando uma trilha nova ou atual.
  2. Abra o console do AWS SNS e crie um tópico padrão. Nomeie-o, por exemplo, CloudTrail-Notification-Topic.
  3. Crie uma fila do SQS usando o console do AWS SQS, por exemplo: CloudTrail-Notification-Queue e atualize a política de acesso para permitir que o ARN do tópico do SNS envie mensagens. Para detalhes sobre como criar filas do SQS, consulte Primeiros passos com o Amazon SQS.

    Exemplo de snippet de política do SQS:

    {
       "Version": "2012-10-17",
       "Id": `PolicyForSNS`,
       "Statement": [
          {
             "Sid": "AllowSNS",
             "Effect": "Allow",
             "Principal": { "Service": "sns.amazonaws.com" },
             "Action": "SQS:SendMessage",
             "Resource": "arn:aws:sqs:REGION:ACCOUNT_ID:CloudTrail-Notification-Queue",
             "Condition": {
             "ArnEquals": { "aws:SourceArn": "arn:aws:sns:REGION:ACCOUNT_ID:CloudTrail-Notification-Topic"}
             }
          }
       ]
    }
    
  4. Acesse Tópico do SNSAssinaturasCriar assinatura, defina o protocolo como SQS e o endpoint como o ARN da fila do SQS.

  5. O CloudTrail não envia novos registros para o SNS de forma nativa. Para ativar as notificações, use um seletor de eventos do CloudTrail para eventos de gerenciamento ou a integração do CloudTrail com o CloudWatch Logs. Em seguida, crie uma regra de evento do CloudWatch que acione notificações definindo um tópico do SNS como destino. Para mais detalhes, consulte configurar notificações no bucket do S3.

    Exemplo de padrão de evento:

    {
       "source": ["aws.s3"],
       "detail-type": ["AWS API Call via CloudTrail"],
       "detail": {
          "eventName": ["PutObject"],
          "requestParameters": {
             "bucketName": [`CloudTrail-Notification-Topic`]
          }
       }
    }
    
  6. Verifique se as funções ou políticas do IAM permitem que o CloudWatch Events publique no SNS e se o SNS pode enviar mensagens para o SQS.

Configurar o usuário do AWS IAM

Configure um usuário do IAM da AWS que o Google SecOps vai usar para acessar a fila do SQS (se usada) e o bucket do S3.

  1. No console da AWS, pesquise IAM.
  2. Clique em Usuários e, na tela seguinte, clique em Criar usuários.
  3. Dê um nome ao usuário, por exemplo, chronicle-feed-user, e selecione Fornecer acesso do usuário ao AWS Management Console.
  4. Selecione Anexar políticas atuais diretamente e escolha AmazonS3ReadOnlyAccess ou AmazonS3FullAccess, conforme necessário. O AmazonS3FullAccess seria usado se o Google SecOps precisasse limpar os buckets do S3 depois de ler os registros para otimizar os custos de armazenamento do AWS S3.
  5. Como uma alternativa recomendada à etapa anterior, é possível restringir ainda mais o acesso apenas ao bucket do S3 especificado criando uma política personalizada. Clique em Criar política e siga a documentação da AWS para criar uma política personalizada.
  6. Ao aplicar uma política, inclua sqs:DeleteMessage. O Google SecOps não pode excluir mensagens se a permissão sqs:DeleteMessage não estiver anexada à fila do SQS. Todas as mensagens são acumuladas no lado da AWS, o que causa um atraso porque o Google SecOps tenta transferir os mesmos arquivos repetidamente.
  7. Clique em Próxima:tags.
  8. Adicione tags, se necessário, e clique em Próxima:análise.
  9. Revise a configuração e clique em Criar usuário.
  10. Depois que o usuário for criado, acesse a guia Credenciais de segurança e clique em Criar chave de acesso.
  11. Escolha CLI e clique em Próxima:tags.
  12. Adicione tags, se necessário, e clique em Criar chave de acesso: revisão.
  13. Copie o ID da chave de acesso e a chave de acesso secreta do usuário criado para usar na próxima etapa.

Como configurar permissões de chave do KMS

Uma chave do KMS é necessária para descriptografar os registros do CloudTrail, que são criptografados do lado do servidor. O AWS KMS oferece criptografia e segurança aprimoradas para dados sensíveis armazenados no Amazon S3.

  1. No console da AWS, pesquise Key Management Service (KMS).
  2. Clique em Criar chave:Próxima.
  3. Adicione um alias para a chave. Se quiser, adicione uma Descrição e Tags, se necessário. Clique em Próxima: Revisar.
  4. Depois de revisar a configuração, clique em Próxima.
  5. Selecione os Usuários principais que devem ter acesso a essa chave e clique em Concluir.

Configurar feeds

Há dois pontos de entrada diferentes para configurar feeds na plataforma do Google SecOps:

  • Configurações do SIEM > Feeds > Adicionar novo
  • Central de conteúdo > Pacotes de conteúdo > Começar

Como configurar o feed do AWS CloudTrail

  1. Clique no pacote Amazon Cloud Platform.
  2. No tipo de registro AWS CloudTrail, especifique os seguintes valores:
  3. Especifique valores para os seguintes campos:

    • Tipo de origem: Amazon SQS V2
    • Nome da fila: o nome da fila do SQS de onde ler.
    • URI do S3: o URI do bucket.
      • s3://your-log-bucket-name/
        • Substitua your-log-bucket-name pelo nome real do seu bucket do S3.
    • Opções de exclusão de origem: selecione a opção de exclusão de acordo com suas preferências de ingestão.

    • Idade máxima do arquivo: inclui arquivos modificados no último número de dias. O padrão é de 180 dias.

    • ID da chave de acesso à fila do SQS: uma chave de acesso à conta que é uma string alfanumérica de 20 caracteres.

    • Chave de acesso secreta da fila do SQS: uma chave de acesso da conta que é uma string alfanumérica de 40 caracteres.

    Opções avançadas

    • Nome do feed: um valor pré-preenchido que identifica o feed.
    • Namespace do recurso: namespace associado ao feed.
    • Rótulos de ingestão: rótulos aplicados a todos os eventos deste feed.
  4. Clique em Criar feed.

Para mais informações sobre como configurar vários feeds para diferentes tipos de registros nessa família de produtos, consulte Configurar feeds por produto.

Tipos de registros do AWS CloudTrail compatíveis

O analisador do AWS CloudTrail é compatível com os seguintes serviços:

  • apigateway.amazonaws.com
  • appconfig.amazonaws.com
  • autoscaling.amazonaws.com
  • cloud9.amazonaws.com
  • cloudsearch.amazonaws.com
  • cloudshell.amazonaws.com
  • cloudtrail.amazonaws.com
  • config.amazonaws.com
  • devicefarm.amazonaws.com
  • ds.amazonaws.com
  • dynamodb.amazonaws.com
  • ec2-instance-connect.amazonaws.com
  • ec2.amazonaws.com
  • ecr-public.amazonaws.com
  • ecr.amazonaws.com
  • ecs.amazonaws.com
  • eks.amazonaws.com
  • elasticache.amazonaws.com
  • elasticloadbalancing.amazonaws.com
  • firehose.amazonaws.com
  • guardduty.amazonaws.com
  • health.amazonaws.com
  • iam.amazonaws.com
  • imagebuilder.amazonaws.com
  • kinesis.amazonaws.com
  • kinesisanalytics.amazonaws.com
  • kinesisvideo.amazonaws.com
  • kms.amazonaws.com
  • lambda.amazonaws.com
  • logs.amazonaws.com
  • macie2.amazonaws.com
  • monitoring.amazonaws.com
  • network-firewall.amazonaws.com
  • organizations.amazonaws.com
  • quicksight.amazonaws.com
  • ram.amazonaws.com
  • rds.amazonaws.com
  • resource-explorer-2.amazonaws.com
  • resource-groups.amazonaws.com
  • route53-recovery-readiness.amazonaws.com
  • route53.amazonaws.com
  • route53domains.amazonaws.com
  • route53resolver.amazonaws.com
  • s3-outposts.amazonaws.com
  • s3.amazonaws.com
  • s3express.amazonaws.com
  • secretsmanager.amazonaws.com
  • securityhub.amazonaws.com
  • ses.amazonaws.com
  • signin.amazonaws.com
  • ssm.amazonaws.com
  • sts.amazonaws.com
  • waf-regional.amazonaws.com
  • waf.amazonaws.com
  • wafv2.amazonaws.com

Para mais informações sobre o mapeamento de campos e da UDM, consulte Mapeamento de campos do AWS CloudTrail.

Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.