Recolha registos do AWS Control Tower
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
- Crie um contentor do Amazon S3 seguindo este manual do utilizador: Criar um contentor
- Guarde o Nome e a Região do contentor para utilização posterior.
- Crie um utilizador seguindo este guia do utilizador: Criar um utilizador do IAM.
- Selecione o utilizador criado.
- Selecione o separador Credenciais de segurança.
- Clique em Criar chave de acesso na secção Chaves de acesso.
- Selecione Serviço de terceiros como o Exemplo de utilização.
- Clicar em Seguinte.
- Opcional: adicione uma etiqueta de descrição.
- Clique em Criar chave de acesso.
- Clique em Transferir ficheiro CSV para guardar a chave de acesso e a chave de acesso secreta para utilização posterior.
- Clique em Concluído.
- Selecione o separador Autorizações.
- Clique em Adicionar autorizações na secção Políticas de autorizações.
- Selecione Adicionar autorizações.
- Selecione Anexar políticas diretamente.
- Pesquise e selecione as políticas AmazonS3FullAccess e CloudWatchLogsFullAccess.
- Clicar em Seguinte.
- Clique em Adicionar autorizações.
Configure o CloudTrail no AWS Control Tower
- Inicie sessão na AWS Management Console.
- Aceda ao AWS Control Tower.
- Na barra de pesquisa, escreva CloudTrail e selecione-o na lista de serviços.
Clique em Criar percurso para criar um novo percurso.
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.
No seletor Evento, opte por registar Eventos de gestão e Eventos de dados.
Como configurar o CloudTrail
- Aceda à consola do IAM da AWS.
- Clique em Funções.
- Pesquise a função que o CloudTrail usa
AWSServiceRoleForCloudTrail
(a função é criada automaticamente quando configura o CloudTrail). - No separador Permissões da função, clique em Anexar políticas.
- Pesquise
CloudTrailS3DeliveryPolicy
. - Selecione a caixa de verificação junto à política
CloudTrailS3DeliveryPolicy
. - Clique em Anexar política.
- Aceda à consola do CloudTrail da AWS.
- Na secção Localização de armazenamento, selecione S3 como destino dos ficheiros de registo.
- Selecione o contentor S3 que criou anteriormente.
- Clique em Permitir quando lhe for pedido para conceder autorização ao CloudTrail para escrever registos no contentor escolhido.
- 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
- Clique no pacote Amazon Cloud Platform.
- Localize o tipo de registo AWS Control Tower.
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.
- Substitua
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.
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.