Coletar registros da AWS Control Tower

Compatível com:

Este documento explica como ingerir registros da AWS Control Tower no Google Security Operations. A AWS Control Tower permite governança, compliance e monitoramento de segurança em várias contas da AWS. Com essa integração, é possível analisar registros da AWS Control Tower para melhorar a visibilidade e a postura de segurança.

Antes de começar

Verifique se você atende aos seguintes pré-requisitos:

  • Instância do Google SecOps
  • Acesso privilegiado à AWS

Configurar o bucket do Amazon S3

  1. Crie um bucket do Amazon S3 seguindo este guia do usuário: Como criar um bucket
  2. Salve o Nome e a Região do bucket para uso posterior.
  3. Crie um usuário seguindo este guia: Como criar um usuário do IAM.
  4. Selecione o usuário criado.
  5. Selecione a guia Credenciais de segurança.
  6. Clique em Criar chave de acesso na seção Chaves de acesso.
  7. Selecione Serviço de terceiros como o Caso de uso.
  8. Clique em Próxima.
  9. Opcional: adicione uma tag de descrição.
  10. Clique em Criar chave de acesso.
  11. Clique em Fazer o download do arquivo CSV para salvar a chave de acesso e a chave de acesso secreta para uso posterior.
  12. Clique em Concluído.
  13. Selecione a guia Permissões.
  14. Clique em Adicionar permissões na seção Políticas de permissões.
  15. Selecione Adicionar permissões.
  16. Selecione Anexar políticas diretamente.
  17. Pesquise e selecione as políticas AmazonS3FullAccess e CloudWatchLogsFullAccess.
  18. Clique em Próxima.
  19. Clique em Adicionar permissões

Configurar o CloudTrail na AWS Control Tower

  1. Faça login no Console de Gerenciamento da AWS.
  2. Acesse a AWS Control Tower.
  3. Na barra de pesquisa, digite CloudTrail e selecione na lista de serviços.
  4. Clique em Criar rastreamento para criar um novo rastreamento.

  5. Especifique as configurações de rastreamento:

    • Nome do rastreamento: forneça um nome significativo para o rastreamento (por exemplo, ControlTowerTrail).
    • Aplicar o rastreamento a todas as regiões: selecione Sim em Aplicar o rastreamento a todas as regiões.
    • Eventos de gerenciamento: verifique se os eventos de Leitura/gravação estão definidos como Todos.
    • Opcional: Eventos de dados: ative os eventos de dados do S3 e do Lambda para capturar atividades detalhadas.
    • Opcional: Validação de arquivos de registro: ative essa opção para garantir que os arquivos de registro não sejam adulterados depois de armazenados.
  6. No seletor Evento, escolha registrar Eventos de gerenciamento e Eventos de dados.

Como configurar o CloudTrail

  1. Acesse o console do IAM da AWS.
  2. Clique em Funções.
  3. Procure a função que o CloudTrail usa AWSServiceRoleForCloudTrail. Ela é criada automaticamente quando você configura o CloudTrail.
  4. Na guia Permissões da função, clique em Anexar políticas.
  5. Pesquisar por CloudTrailS3DeliveryPolicy.
  6. Marque a caixa de seleção ao lado da política de CloudTrailS3DeliveryPolicy.
  7. Clique em Anexar política.
  8. Acesse o console do CloudTrail da AWS.
  9. Na seção Local de armazenamento, selecione S3 como o destino dos arquivos de registro.
  10. Selecione o bucket do S3 que você criou anteriormente.
  11. Clique em Permitir quando solicitado para conceder ao CloudTrail permissão para gravar registros no bucket escolhido.
  12. Revise as configurações e clique em Criar (ou Salvar alterações se você estiver editando um rastreamento atual).

Configurar feeds

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

  • Configurações do SIEM > Feeds
  • Central de conteúdo > Pacotes de conteúdo

Configure feeds em Configurações do SIEM > Feeds

Para configurar vários feeds para diferentes tipos de registros nessa família de produtos, consulte Configurar feeds por produto.

Para configurar um único feed, siga estas etapas:

  1. Acesse Configurações do SIEM > Feeds.
  2. Clique em Adicionar novo feed.
  3. Na próxima página, clique em Configurar um único feed.
  4. No campo Nome do feed, insira um nome para o feed (por exemplo, Registros da AWS Control Tower).
  5. Selecione Amazon S3 como o Tipo de origem.
  6. Selecione AWS Control Tower como o Tipo de registro.
  7. Clique em Próxima.
  8. Especifique valores para os seguintes parâmetros de entrada:

    • Região: a região em que o bucket do Amazon S3 está localizado.
    • 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.
    • URI é um: selecione Diretório ou Diretório que inclui subdiretórios, dependendo da estrutura do bucket.
    • Opções de exclusão de origem: selecione a opção de exclusão de acordo com suas preferências de ingestão.

    • ID da chave de acesso: a chave de acesso do usuário com permissões para ler do bucket do S3.

    • Chave de acesso secreta: a chave secreta do usuário com permissões para ler do bucket do S3.

    • Namespace do recurso: o namespace do recurso.

    • Rótulos de ingestão: o rótulo a ser aplicado aos eventos deste feed.

  9. Clique em Próxima.

  10. Revise a nova configuração do feed na tela Finalizar e clique em Enviar.

Configurar feeds na Central de conteúdo

Especifique valores para os seguintes campos:

  • Região: a região em que o bucket do Amazon S3 está localizado.
  • 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.
  • URI é um: selecione Diretório ou Diretório que inclui subdiretórios, dependendo da estrutura do bucket.
  • Opções de exclusão de origem: selecione a opção de exclusão de acordo com suas preferências de ingestão.
  • ID da chave de acesso: a chave de acesso do usuário com permissões para ler do bucket do S3.

  • Chave de acesso secreta: a chave secreta do usuário com permissões para ler do bucket do S3.

Opções avançadas

  • Nome do feed: um valor pré-preenchido que identifica o feed.
  • Tipo de origem: método usado para coletar registros no Google SecOps.
  • Namespace do recurso: namespace associado ao feed.
  • Rótulos de ingestão: rótulos aplicados a todos os eventos deste feed.

Tabela de mapeamento do UDM

Campo de registro Mapeamento da UDM Lógica
awsAccountId target.user.group_identifiers O ID da conta da AWS associada ao evento.
digestPublicKeyFingerprint target.file.sha1 A impressão digital da chave pública usada para assinar o resumo.
digestPublicKeyFingerprint target.resource.attribute.labels.value A impressão digital da chave pública usada para assinar o resumo.
digestS3Bucket target.resource.name O nome do bucket do S3 em que o resumo está armazenado.
digestS3Object target.file.full_path O caminho para o objeto de resumo no bucket do S3.
digestSignatureAlgorithm network.tls.cipher O algoritmo usado para assinar o resumo.
digestSignatureAlgorithm target.resource.attribute.labels.value O algoritmo usado para assinar o resumo.
digestStartTime metadata.event_timestamp O horário de início do período do resumo. Usado como horário do evento se eventTime não estiver disponível.
eventCategory security_result.category_details A categoria do evento.
eventID metadata.product_log_id O ID exclusivo do evento.
eventName metadata.product_event_type O nome do evento.
eventName security_result.summary O nome do evento, usado para gerar o resumo do resultado de segurança.
eventSource target.application A origem do evento.
eventTime metadata.event_timestamp Hora em que o evento ocorreu
eventType additional.fields.value.string_value O tipo do evento.
logFiles.hashValue about.file.sha256 O hash SHA-256 do arquivo de registro.
logFiles.s3Bucket about.resource.name O nome do bucket do S3 em que o arquivo de registro está armazenado.
logFiles.s3Object about.file.full_path O caminho para o objeto do arquivo de registros no bucket do S3.
previousDigestHashValue target.file.sha256 O hash SHA-256 do resumo anterior.
recipientAccountId target.resource.attribute.labels.value O ID da conta da AWS do destinatário do evento.
Records.awsRegion principal.location.name A região da AWS em que o evento ocorreu.
Records.errorCode security_result.rule_id O código do erro, se houver, associado à solicitação.
Records.errorMessage security_result.description A mensagem de erro, se houver, associada à solicitação.
Records.eventCategory security_result.category_details A categoria do evento.
Records.eventID metadata.product_log_id O ID exclusivo do evento.
Records.eventName metadata.product_event_type O nome do evento.
Records.eventName security_result.summary O nome do evento, usado para gerar o resumo do resultado de segurança.
Records.eventSource target.application A origem do evento.
Records.eventTime metadata.event_timestamp Hora em que o evento ocorreu
Records.eventType additional.fields.value.string_value O tipo do evento.
Records.requestID target.resource.attribute.labels.value O ID da solicitação.
Records.requestParameters.groupName target.group.group_display_name O nome do grupo, se houver, associado à solicitação.
Records.requestParameters.userName src.user.userid O nome do usuário, se houver, associado à solicitação.
Records.requestParameters.userName src.user.user_display_name O nome do usuário, se houver, associado à solicitação.
Records.responseElements.ConsoleLogin security_action O resultado da tentativa de login no console.
Records.responseElements.ConsoleLogin security_result.summary O resultado da tentativa de login no console, usado para gerar o resumo dos resultados de segurança.
Records.sourceIPAddress principal.hostname O endereço IP do principal. Usado como nome do host se não for um IP válido.
Records.sourceIPAddress principal.ip O endereço IP do principal.
Records.tlsDetails.cipherSuite network.tls.cipher O pacote de criptografia usado para a conexão TLS.
Records.tlsDetails.tlsVersion network.tls.version A versão do TLS usada para a conexão.
Records.userAgent network.http.user_agent O user agent da solicitação.
Records.userIdentity.accessKeyId additional.fields.value.string_value O ID da chave de acesso usado para a solicitação.
Records.userIdentity.accountId principal.user.group_identifiers O ID da conta da AWS do usuário.
Records.userIdentity.arn principal.user.attribute.labels.value O ARN do usuário.
Records.userIdentity.arn target.user.userid O ARN do usuário. Usado como userid se userName não estiver disponível.
Records.userIdentity.principalId principal.user.product_object_id O ID principal do usuário.
Records.userIdentity.sessionContext.attributes.mfaAuthenticated principal.user.attribute.labels.value Indica se a MFA foi usada na solicitação.
Records.userIdentity.sessionContext.sessionIssuer.userName principal.user.userid O nome de usuário que emitiu a sessão.
Records.userIdentity.type principal.resource.type O tipo de identidade usado para a solicitação.
Records.userIdentity.userName target.user.userid O nome de usuário.
- extensions.auth.mechanism Defina como "REMOTE".
- metadata.event_type Defina como "STATUS_UPDATE", "USER_RESOURCE_ACCESS", "USER_LOGIN" ou "GENERIC_EVENT" com base no eventName.
- metadata.log_type Defina como "AWS_CONTROL_TOWER".
- metadata.product_name Defina como "AWS Control Tower".
- metadata.vendor_name Defina como "AWS".
- principal.asset.attribute.cloud.environment Defina como "AMAZON_WEB_SERVICES".
- security_result.action Definido como "ALLOW" ou "BLOCK" com base no errorCode.
- security_result.severity Defina como "INFORMATIONAL".

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