Recolha registos do AWS Control Tower

Compatível com:

Este documento explica como ingerir registos do AWS Control Tower no Google Security Operations. O AWS Control Tower permite a governação, a conformidade e a monitorização da segurança em várias contas da AWS. Esta integração permite-lhe analisar registos do AWS Control Tower para uma melhor visibilidade e postura de segurança.

Antes de começar

Certifique-se de que cumpre os seguintes pré-requisitos:

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

Configure o contentor do Amazon S3

  1. Crie um contentor do Amazon S3 seguindo este manual do utilizador: Criar um contentor
  2. Guarde o Nome e a Região do contentor para utilização posterior.
  3. Crie um utilizador seguindo este guia do utilizador: Criar um utilizador do IAM.
  4. Selecione o utilizador criado.
  5. Selecione o separador Credenciais de segurança.
  6. Clique em Criar chave de acesso na secção Chaves de acesso.
  7. Selecione Serviço de terceiros como o Exemplo de utilização.
  8. Clicar em Seguinte.
  9. Opcional: adicione uma etiqueta de descrição.
  10. Clique em Criar chave de acesso.
  11. Clique em Transferir ficheiro CSV para guardar a chave de acesso e a chave de acesso secreta para utilização posterior.
  12. Clique em Concluído.
  13. Selecione o separador Autorizações.
  14. Clique em Adicionar autorizações na secção Políticas de autorizações.
  15. Selecione Adicionar autorizações.
  16. Selecione Anexar políticas diretamente.
  17. Pesquise e selecione as políticas AmazonS3FullAccess e CloudWatchLogsFullAccess.
  18. Clicar em Seguinte.
  19. Clique em Adicionar autorizações.

Configure o CloudTrail no AWS Control Tower

  1. Inicie sessão na AWS Management Console.
  2. Aceda ao AWS Control Tower.
  3. Na barra de pesquisa, escreva CloudTrail e selecione-o na lista de serviços.
  4. Clique em Criar percurso para criar um novo percurso.

  5. Especifique as definições de rastreio:

    • Nome da trilha: indique um nome significativo para a trilha (por exemplo, ControlTowerTrail).
    • Aplicar percurso a todas as regiões: certifique-se de que seleciona Sim para Aplicar percurso a todas as regiões.
    • Eventos de gestão: certifique-se de que os eventos Leitura/escrita estão definidos como Todos.
    • Opcional: Eventos de dados: ative os eventos de dados do S3 e os eventos de dados do Lambda para capturar a atividade de dados detalhada.
    • Opcional: Validação de ficheiros de registo: ative esta opção para garantir que os ficheiros de registo não são adulterados depois de serem armazenados.
  6. No seletor Evento, opte por registar Eventos de gestão e Eventos de dados.

Como configurar o CloudTrail

  1. Aceda à consola do IAM da AWS.
  2. Clique em Funções.
  3. Pesquise a função que o CloudTrail usa AWSServiceRoleForCloudTrail (a função é criada automaticamente quando configura o CloudTrail).
  4. No separador Permissões da função, clique em Anexar políticas.
  5. Pesquise CloudTrailS3DeliveryPolicy.
  6. Selecione a caixa de verificação junto à política CloudTrailS3DeliveryPolicy.
  7. Clique em Anexar política.
  8. Aceda à consola do CloudTrail da AWS.
  9. Na secção Localização de armazenamento, selecione S3 como destino dos ficheiros de registo.
  10. Selecione o contentor S3 que criou anteriormente.
  11. Clique em Permitir quando lhe for pedido para conceder autorização ao CloudTrail para escrever registos no contentor escolhido.
  12. Reveja as definições e clique em Criar (ou Guardar alterações se estiver a editar um rasto existente).

Configure feeds

Existem dois pontos de entrada diferentes para configurar feeds na plataforma Google SecOps:

  • Definições do SIEM > Feeds > Adicionar novo
  • Content Hub > Pacotes de conteúdo > Começar

Como configurar o feed do AWS Control Tower

  1. Clique no pacote Amazon Cloud Platform.
  2. Localize o tipo de registo AWS Control Tower.
  3. Especifique os valores nos seguintes campos.

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

    • Idade máxima do ficheiro: inclua ficheiros modificados no último número de dias. A predefinição é 180 dias.

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

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

    Opções avançadas

    • Nome do feed: um valor pré-preenchido que identifica o feed.
    • Espaço de nomes do recurso: espaço de nomes associado ao feed.
    • Etiquetas de carregamento: etiquetas aplicadas a todos os eventos deste feed.
  4. Clique em Criar feed.

Para mais informações sobre a configuração de vários feeds para diferentes tipos de registos nesta família de produtos, consulte o artigo Configure feeds por produto.

Tabela de mapeamento da UDM

Campo de registo Mapeamento do UDM Lógica
awsAccountId target.user.group_identifiers O ID da conta da AWS associado ao evento.
digestPublicKeyFingerprint target.file.sha1 A pegada digital da chave pública usada para assinar o resumo.
digestPublicKeyFingerprint target.resource.attribute.labels.value A pegada digital da chave pública usada para assinar o resumo.
digestS3Bucket target.resource.name O nome do contentor do S3 onde o resumo está armazenado.
digestS3Object target.file.full_path O caminho para o objeto de resumo no contentor 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 A hora de início do período do resumo. Usado como hora 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 dos resultados de segurança.
eventSource target.application A origem do evento.
eventTime metadata.event_timestamp A hora em que o evento ocorreu.
eventType additional.fields.value.string_value O tipo de evento.
logFiles.hashValue about.file.sha256 O hash SHA-256 do ficheiro de registo.
logFiles.s3Bucket about.resource.name O nome do contentor do S3 onde o ficheiro de registo está armazenado.
logFiles.s3Object about.file.full_path O caminho para o objeto do ficheiro de registo no contentor 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 onde o evento ocorreu.
Records.errorCode security_result.rule_id O código de erro, se existir, associado ao pedido.
Records.errorMessage security_result.description A mensagem de erro, se existir, associada ao pedido.
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 dos resultados de segurança.
Records.eventSource target.application A origem do evento.
Records.eventTime metadata.event_timestamp A hora em que o evento ocorreu.
Records.eventType additional.fields.value.string_value O tipo de evento.
Records.requestID target.resource.attribute.labels.value O ID do pedido.
Records.requestParameters.groupName target.group.group_display_name O nome do grupo, se existir, associado ao pedido.
Records.requestParameters.userName src.user.userid O nome do utilizador, se existir, associado ao pedido.
Records.requestParameters.userName src.user.user_display_name O nome do utilizador, se existir, associado ao pedido.
Records.responseElements.ConsoleLogin security_action O resultado da tentativa de início de sessão na consola.
Records.responseElements.ConsoleLogin security_result.summary O resultado da tentativa de início de sessão na consola, usado para gerar o resumo do resultado de segurança.
Records.sourceIPAddress principal.hostname O endereço IP do principal. Usado como nome do anfitrião 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 conjunto de cifras usado para a ligação TLS.
Records.tlsDetails.tlsVersion network.tls.version A versão do TLS usada para a ligação.
Records.userAgent network.http.user_agent O agente do utilizador do pedido.
Records.userIdentity.accessKeyId additional.fields.value.string_value O ID da chave de acesso usado para o pedido.
Records.userIdentity.accountId principal.user.group_identifiers O ID da conta da AWS do utilizador.
Records.userIdentity.arn principal.user.attribute.labels.value O ARN do utilizador.
Records.userIdentity.arn target.user.userid O ARN do utilizador. Usado como userid se userName não estiver disponível.
Records.userIdentity.principalId principal.user.product_object_id O ID principal do utilizador.
Records.userIdentity.sessionContext.attributes.mfaAuthenticated principal.user.attribute.labels.value Se a MFA foi usada para o pedido.
Records.userIdentity.sessionContext.sessionIssuer.userName principal.user.userid O nome de utilizador do utilizador que emitiu a sessão.
Records.userIdentity.type principal.resource.type O tipo de identidade usado para o pedido.
Records.userIdentity.userName target.user.userid O nome de utilizador do utilizador.
- extensions.auth.mechanism Definido como "REMOTE".
- metadata.event_type Definido como "STATUS_UPDATE", "USER_RESOURCE_ACCESS", "USER_LOGIN" ou "GENERIC_EVENT" com base no eventName.
- metadata.log_type Definido como "AWS_CONTROL_TOWER".
- metadata.product_name Definido como "AWS Control Tower".
- metadata.vendor_name Definido como "AWS".
- principal.asset.attribute.cloud.environment Definido como "AMAZON_WEB_SERVICES".
- security_result.action Defina como "ALLOW" ou "BLOCK" com base no errorCode.
- security_result.severity Definido como "INFORMATIONAL".

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