Recolha registos do AWS CloudTrail
Este documento descreve como recolher registos do AWS CloudTrail configurando um feed do Google Security Operations e como os campos de registo são mapeados para os campos do modelo de dados unificado (UDM) do Google SecOps.
Para mais informações, consulte o artigo [Carregamento de dados para o Google SecOps][1].
Uma implementação típica consiste no AWS CloudTrail e no feed do Google SecOps configurado para enviar registos para o Google SecOps. A sua implementação pode ser diferente da implementação típica descrita neste documento. A implementação contém os seguintes componentes:
AWS CloudTrail: a plataforma que recolhe registos.
AWS S3: a plataforma que armazena registos.
Feed do Google SecOps: o feed do Google SecOps que obtém registos do AWS S3 e escreve registos no Google SecOps.
Google SecOps: a plataforma que retém e analisa os registos do AWS CloudTrail.
Uma etiqueta de carregamento identifica o analisador que normaliza os dados de registo não processados para o formato UDM estruturado. As informações neste documento aplicam-se ao analisador com a etiqueta de carregamento AWS_CLOUDTRAIL
.
Antes de começar
Certifique-se de que tem os seguintes pré-requisitos:
- Conta da AWS
- Os pré-requisitos para usar o AWS CloudTrail são cumpridos. Para mais informações, consulte o artigo Configuração do AWS CloudTrail.
- Todos os sistemas na arquitetura de implementação usam o fuso horário UTC
Passos básicos para carregar registos do S3 com o SQS
Esta secção descreve os passos básicos para carregar registos do AWS CloudTrail para a sua instância do Google SecOps. Os passos descrevem como o fazer usando o Amazon S3 com o Amazon SQS como o tipo de origem do feed.
Configure o AWS CloudTrail e o S3
Neste procedimento, configura os registos do AWS CloudTrail para serem escritos num contentor do S3.
- Na consola da AWS, pesquise CloudTrail.
- Clique em Criar trilho.
- Indique um nome do rasto.
- Selecione Criar novo contentor S3. Também pode optar por usar um contentor S3 existente.
- Indique um nome para o alias do AWS KMS ou escolha uma chave do AWS KMS existente.
- Pode deixar as outras definições como predefinições e clicar em Seguinte.
- Escolha Tipo de evento, adicione Eventos de dados conforme necessário e clique em Seguinte.
- Reveja as definições em Rever e criar e clique em Criar trilho.
- Na consola da AWS, pesquise Amazon S3 Buckets.
- Clique no contentor de registos recém-criado e selecione a pasta AWSLogs. Em seguida, clique em Copiar URI do S3 e guarde-o para utilização nos passos seguintes.
Configure uma fila SQS padrão e o SNS
Se usar uma fila SQS, tem de ser uma fila padrão e não uma fila FIFO.
- Ative o AWS CloudTrail e configure-o para enviar registos para um contentor S3 através de um caminho novo ou existente.
- Abra a consola do AWS SNS e crie um novo tópico padrão. Dê-lhe um nome, por exemplo, CloudTrail-Notification-Topic.
Crie uma fila SQS através da consola do AWS SQS, por exemplo: CloudTrail-Notification-Queue e atualize a respetiva política de acesso para permitir que o ARN do tópico do SNS envie mensagens. Para ver detalhes sobre a criação de filas SQS, consulte o artigo Introdução ao Amazon SQS.
Exemplo de fragmento da 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"} } } ] }
Aceda ao tópico SNS → Subscrições → Criar subscrição, defina o protocolo como SQS e o ponto final como o ARN da fila SQS.
O CloudTrail não envia nativamente novos registos para o SNS. Para ativar as notificações, pode usar um seletor de eventos do CloudTrail para eventos de gestão ou usar a integração do CloudTrail com os registos do CloudWatch e, em seguida, criar uma regra de eventos do CloudWatch que acione notificações definindo um tópico do SNS como destino. Para mais detalhes, consulte o artigo configure as notificações no seu contentor 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`] } } }
Certifique-se de que as funções ou as políticas do IAM permitem que o CloudWatch Events publique no SNS e certifique-se de que o SNS tem autorização para enviar mensagens para o SQS.
Configure o utilizador do IAM da AWS
Configure um utilizador do IAM da AWS que o Google SecOps vai usar para aceder à fila SQS (se usada) e ao contentor S3.
- Na consola da AWS, pesquise IAM.
- Clique em Utilizadores e, no ecrã seguinte, clique em Criar utilizadores.
- Indique um nome para o utilizador, por exemplo, chronicle-feed-user, e selecione Conceder acesso do utilizador à AWS Management Console.
- Selecione Anexe políticas existentes diretamente e selecione AmazonS3ReadOnlyAccess ou AmazonS3FullAccess, conforme necessário. AmazonS3FullAccess seria usado se o Google SecOps devesse limpar os contentores do S3 após a leitura dos registos para otimizar os custos de armazenamento do AWS S3.
- Como alternativa recomendada ao passo anterior, pode restringir ainda mais o acesso apenas ao contentor 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.
- Quando aplicar uma política, certifique-se de que incluiu
sqs:DeleteMessage
. A Google SecOps não consegue eliminar mensagens se asqs:DeleteMessage
autorização não estiver anexada à fila SQS. Todas as mensagens são acumuladas no lado da AWS, o que provoca um atraso, uma vez que o Google SecOps tenta repetidamente transferir os mesmos ficheiros. - Clique em Seguinte:Etiquetas.
- Adicione etiquetas, se necessário, e clique em Seguinte:Rever.
- Reveja a configuração e clique em Criar utilizador.
- Depois de criar o utilizador, aceda ao separador Credenciais de segurança e clique em Criar chave de acesso.
- Escolha CLI e clique em Seguinte:etiquetas.
- Adicione etiquetas, se necessário, e, de seguida, clique em Criar chave de acesso: rever.
- Copie o ID da chave de acesso e a chave de acesso secreta do utilizador criado para utilização no passo seguinte.
Configurar autorizações de chaves do KMS
É necessária uma chave do KMS para desencriptar os registos do CloudTrail, que são encriptados do lado do servidor. O AWS KMS oferece encriptação e segurança melhoradas para dados confidenciais armazenados no Amazon S3.
- Na consola da AWS, pesquise Key Management Service (KMS).
- Clique em Criar chave:seguinte.
- Adicione um alias para a chave. Opcionalmente, adicione uma Descrição e Etiquetas, se necessário. Clique em Seguinte: rever.
- Depois de rever a configuração, clique em Seguinte.
- Selecione os Utilizadores principais que devem ter acesso a esta chave e, de seguida, clique em Concluir.
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 CloudTrail
- Clique no pacote Amazon Cloud Platform.
- No tipo de registo AWS CloudTrail, especifique os seguintes valores:
Especifique valores para os 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.
Tipos de registos do AWS CloudTrail suportados
O analisador do AWS CloudTrail suporta 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 o mapeamento de UDM, consulte o artigo Mapeamento de campos do AWS Cloudtrail
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais da Google SecOps.