Coletar registros do AWS CloudTrail
Versão do analisador:30.0
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 de dados unificado (UDM) do Google SecOps.
Para mais informações, consulte Ingestão de dados no Google SecOps.
Uma implantação típica consiste no AWS CloudTrail e no feed do Google SecOps configurado 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: o feed do Google SecOps que 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 foram 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
Esta seção descreve as etapas básicas para ingerir registros do AWS CloudTrail na 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.
- No console da AWS, pesquise CloudTrail.
- Clique em Criar trilha.
- Forneça um nome da trilha.
- Selecione Criar novo bucket do S3. Também é possível usar um bucket do S3 atual.
- Forneça um nome para o alias do AWS KMS ou escolha uma chave do AWS KMS atual.
- Você pode deixar as outras configurações como padrão e clicar em Próxima.
- Escolha o tipo de evento, adicione eventos de dados conforme necessário e clique em Próxima.
- Revise as configurações em Revisar e criar e clique em Criar trilha.
- No console da AWS, pesquise Buckets do Amazon S3.
- 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 uso nas próximas etapas.
Configurar uma fila SQS padrão e SNS
Se você usar uma fila SQS, ela precisa ser uma fila padrão, não uma fila FIFO.
- Ative o AWS CloudTrail e configure-o para entregar registros a um bucket do S3 usando uma trilha nova ou atual.
- Abra o console do AWS SNS e crie um novo tópico padrão. Nomeie-o, por exemplo, CloudTrail-Notification-Topic.
Crie uma fila 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 SNS envie mensagens. Para detalhes sobre como criar filas SQS, consulte Introdução ao Amazon SQS.
Exemplo de snippet de política 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"} } } ] }Acesse o Tópico do SNS → Assinaturas → Criar assinatura, defina o protocolo como SQS e o endpoint como o ARN da fila SQS.
O CloudTrail não envia novos registros ao 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 os registros do CloudWatch e crie uma regra de eventos 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`] } } }Verifique se os papéis ou políticas do IAM permitem que o CloudWatch Events publique no SNS e se o SNS pode enviar mensagens ao SQS.
Configurar o usuário do AWS IAM
Configure um usuário do AWS IAM que o Google SecOps usará para acessar a fila SQS (se usada) e o bucket do S3.
- No console da AWS, pesquise IAM.
- Clique em Usuários e, na tela a seguir, clique em Criar usuários.
- Forneça um nome para o usuário, por exemplo, chronicle-feed-user, e selecione Fornecer acesso do usuário ao AWS Management Console.
- Selecione Anexar políticas atuais diretamente e selecione AmazonS3ReadOnlyAccess ou AmazonS3FullAccess, conforme necessário. AmazonS3FullAccess será usado se o Google SecOps precisar limpar os buckets do S3 após a leitura dos registros para otimizar os custos de armazenamento do AWS S3.
- Como uma alternativa recomendada à etapa anterior, você pode 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.
- Ao aplicar uma política, verifique se você incluiu
sqs:DeleteMessage. O Google SecOps não pode excluir mensagens se a permissãosqs:DeleteMessagenão estiver anexada à fila SQS. Todas as mensagens são acumuladas no lado da AWS, o que causa um atraso, já que o Google SecOps tenta transferir os mesmos arquivos repetidamente. - Clique em Próxima:tags.
- Adicione tags, se necessário, e clique em Próxima:revisar.
- Revise a configuração e clique em Criar usuário.
- Depois que o usuário for criado, acesse a guia Credenciais de segurança e clique em Criar chave de acesso.
- Escolha CLI e clique em Próxima:tags.
- Adicione tags, se necessário, e clique em Criar chave de acesso: revisar.
Copie o ID da chave de acesso e a chave de acesso secreta do usuário criado para uso na próxima etapa.
Para encontrar o
SubjectID, siga estas etapas:- Inicie o processo de configuração do feed do AWS CloudTrail no Google SecOps.
- Navegue até o bucket do Amazon S3 designado e revise os registros do AWS CloudTrail para entradas relacionadas à tentativa de configuração do feed.
- Abra a entrada de registro relevante e procure a seção
userIdentitynos dados JSON brutos. - Nessa seção, localize o campo
principalIdouuserName. O valor numérico listado aqui é seu SubjectID exclusivo. - Copie esse SubjectID e adicione-o à política de confiança do papel do IAM da AWS para conceder as permissões de acesso necessárias.
Como configurar permissões de chave do KMS
Uma chave do KMS é necessária para descriptografar os registros do CloudTrail, que são criptografados no lado do servidor. O AWS KMS oferece criptografia avançada e segurança aprimorada para dados sensíveis armazenados no Amazon S3.
- No console da AWS, pesquise serviço de gerenciamento de chaves (KMS).
- Clique em Criar chave:próxima.
- Adicione um alias para a chave. Se quiser, adicione uma descrição e tags. Clique em Próxima: revisar.
- Depois de revisar a configuração, clique em Próxima.
- Selecione os usuários de chave que devem ter acesso a ela 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
- Hub de conteúdo > Pacotes de conteúdo > Comece já
Como configurar o feed do AWS CloudTrail
- Clique no pacote Amazon Cloud Platform.
- No tipo de registro 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 ser lida
- URI do S3: o URI do bucket.
s3://your-log-bucket-name/- Substitua
your-log-bucket-namepelo nome real do bucket do S3.
- Substitua
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 nos últimos dias. O padrão é 180 dias.
ID da chave de acesso da fila SQS: uma chave de acesso da conta que é uma string alfanumérica de 20 caracteres.
Chave de acesso secreta da fila 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 desse feed.
Clique em Criar feed.
Para mais informações sobre como configurar vários feeds para diferentes tipos de registro nessa família de produtos, consulte Configurar feeds por produto.
Tipos de registro 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
Formatos de registro do AWS CloudTrail compatíveis
O analisador do AWS CloudTrail é compatível com registros no formato JSON.
Registros de amostra do AWS CloudTrail compatíveis
JSON:
{ "Records": [{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "AROAXELJRGZMPHEYTK4Q4:redlock", "arn": "arn:aws:sts::111111111111:assumed-role/PrismaCloudReadOnlyRole/redlock", "accountId": "111111111111", "accessKeyId": "ASIAXELJRGZMNUCV3DC4", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROAXELJRGZMPHEYTK4Q4", "arn": "arn:aws:iam::111111111111:role/PrismaCloudReadOnlyRole", "accountId": "111111111111", "userName": "PrismaCloudReadOnlyRole" }, "webIdFederationData": {}, "attributes": { "creationDate": "2021-07-01T03:20:01Z", "mfaAuthenticated": "false" } } }, "eventTime": "2021-07-01T03:35:42Z", "eventSource": "kms.amazonaws.com", "eventName": "DescribeKey", "awsRegion": "eu-west-1", "sourceIPAddress": "198.51.100.0", "userAgent": "aws-sdk-java/1.11.1025Linux/4.14.232-176.381.amzn2.x86_64OpenJDK_64-Bit_Server_VM/11.0.10+9java/11.0.10groovy/2.5.12vendor/AdoptOpenJDKcfg/retry-mode/legacy", "requestParameters": { "keyId": "11a011a1-1010-11a1-a0aa-c4e1a9367642" }, "responseElements": null, "requestID": "11a011a1-1010-11a1-a0aa-604ac86fc50e", "eventID": "11a011a1-1010-11a1-a0aa-17ef2bdeb889", "readOnly": true, "resources": [{ "accountId": "111111111111", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:eu-west-1:111111111111:key/11a011a1-1010-11a1-a0aa-c4e1a9367642" }], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111111111111", "eventCategory": "Management" }] }
Para mais informações sobre o mapeamento de campos e o mapeamento de UDM, consulte Mapeamento de campos do AWS CloudTrail
Registro de alterações
Consulte o registro de alterações desse analisador.
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.