Coletar registros do AWS Key Management Service
Este documento explica como transferir os registros do AWS Key Management Service (KMS) para o Google Security Operations. O AWS KMS é um serviço totalmente gerenciado que permite criar e controlar as chaves de criptografia usadas para criptografar seus dados. Essa integração ajuda a monitorar e auditar o uso de chaves de criptografia.
Antes de começar
- Verifique se você tem uma instância do Google SecOps.
- Verifique se você tem acesso privilegiado à AWS.
Configurar o Amazon S3 e o IAM
- Crie um bucket do Amazon S3 seguindo este guia do usuário: Criar um bucket.
- Salve o Nome e a Região do bucket para uso futuro.
- Crie um usuário seguindo este guia: Como criar um usuário do IAM.
- Selecione o Usuário criado.
- Selecione a guia Credenciais de segurança.
- Clique em Criar chave de acesso na seção Chaves de acesso.
- Selecione Serviço de terceiros como o caso de uso.
- Clique em Próxima.
- Opcional: adicione uma tag de descrição.
- Clique em Criar chave de acesso.
- Clique em Fazer o download do arquivo CSV para salvar a chave de acesso e a chave de acesso secreta para uso futuro.
- Clique em Concluído.
- Selecione a guia Permissões.
- Clique em Adicionar permissões na seção Políticas de permissões.
- Selecione Adicionar permissões.
- Selecione Anexar políticas diretamente.
- Pesquise e selecione a política AmazonS3FullAccess.
- Clique em Próxima.
- Clique em Adicionar permissões
Configurar o CloudTrail para o AWS KMS
- Faça login no Console de Gerenciamento da AWS.
- Na barra de pesquisa, digite e selecione CloudTrail na lista de serviços.
- Clique em Criar trilha.
- Informe um nome de trilha (por exemplo, KMS-Activity-Trail).
- Marque a caixa de seleção Ativar para todas as contas na minha organização.
- Digite o URI do bucket do S3 criado anteriormente (o formato deve ser
s3://your-log-bucket-name/
) ou crie um novo bucket do S3. - Se o SSE-KMS estiver ativado, forneça um nome para o alias do AWS KMS ou escolha uma chave do AWS KMS.
- Deixe as outras configurações como padrão.
- Clique em Próxima.
- Selecione Eventos de gerenciamento e Eventos de dados em Tipos de evento.
- Clique em Próxima.
- Revise as configurações em Revisar e criar.
- Clique em Criar trilha.
- Opcional: se você criou um bucket, siga este processo:
- Acesse S3.
- Identifique e selecione o bucket de registros recém-criado.
- Selecione a pasta AWSLogs.
- Clique em Copiar URI do S3 e salve.
Configurar um feed no Google SecOps para ingerir registros do AWS KMS
- Acesse Configurações do SIEM > Feeds.
- Clique em Adicionar novo.
- No campo Nome do feed, insira um nome para o feed (por exemplo, AWS KMS Logs).
- Selecione Amazon S3 como o Tipo de origem.
- Selecione AWS KMS como o Tipo de registro.
- Clique em Próxima.
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 bucket.
- Substitua
- O URI é: selecione Diretório ou Diretório que inclui subdiretórios.
Opções de exclusão da origem: selecione a opção de exclusão de acordo com sua preferência.
ID da chave de acesso: a chave de acesso do usuário com acesso ao bucket do S3.
Chave de acesso secreta: a chave secreta do usuário com acesso ao bucket do S3.
Namespace de recursos: o namespace de recursos.
Rótulos de ingestão: o rótulo a ser aplicado aos eventos desse feed.
Clique em Próxima.
Revise a configuração do novo feed na tela Finalizar e clique em Enviar.
Tabela de mapeamento do UDM
Campo de registro | Mapeamento do UDM | Lógica |
---|---|---|
data.detail.awsRegion | principal.location.country_or_region | Mapeado diretamente do campo data.detail.awsRegion no registro bruto. |
data.detail.eventCategory | security_result.category_details | Mapeado diretamente do campo data.detail.eventCategory no registro bruto. |
data.detail.eventName | metadata.product_event_type | Mapeado diretamente do campo data.detail.eventName no registro bruto. Esse campo determina o valor de metadata.event_type com base na lógica: se eventName for "Decrypt" ou "Encrypt", event_type será "USER_RESOURCE_ACCESS". Se eventName for "GenerateDataKey", event_type será "USER_RESOURCE_CREATION". Caso contrário, event_type será "GENERIC_EVENT". |
data.detail.requestID | additional.fields.key | O valor é codificado como "requestID" no código do analisador. |
data.detail.requestID | additional.fields.value.string_value | Mapeado diretamente do campo data.detail.requestID no registro bruto. |
data.detail.requestParameters.encryptionAlgorithm | security_result.detection_fields.key | O valor é codificado como "encryptionAlgorithm" no código do analisador. |
data.detail.requestParameters.encryptionAlgorithm | security_result.detection_fields.value | Mapeado diretamente do campo data.detail.requestParameters.encryptionAlgorithm no registro bruto. |
data.detail.resources.ARN | target.resource.id | Mapeado diretamente do campo data.detail.resources.ARN no registro bruto. |
data.detail.resources.type | target.resource.resource_subtype | Mapeado diretamente do campo data.detail.resources.type no registro bruto. |
data.detail.userIdentity.sessionContext.attributes.mfaAuthenticated | principal.user.attribute.labels.key | O valor é codificado como "mfaAuthenticated" no código do analisador. |
data.detail.userIdentity.sessionContext.attributes.mfaAuthenticated | principal.user.attribute.labels.value | Mapeado diretamente do campo data.detail.userIdentity.sessionContext.attributes.mfaAuthenticated no registro bruto. |
data.detail.userIdentity.sessionContext.sessionIssuer.principalId | principal.user.userid | Mapeado diretamente do campo data.detail.userIdentity.sessionContext.sessionIssuer.principalId no registro bruto. |
data.detail.userIdentity.sessionContext.sessionIssuer.userName | principal.user.user_display_name | Mapeado diretamente do campo data.detail.userIdentity.sessionContext.sessionIssuer.userName no registro bruto. |
data.detail.userIdentity.type | principal.user.attribute.roles.name | Mapeado diretamente do campo data.detail.userIdentity.type no registro bruto. |
data.id | metadata.product_log_id | Mapeado diretamente do campo data.id no registro bruto. |
data.time | metadata.event_timestamp.seconds | O valor em segundos do carimbo de data/hora analisado do campo data.time no registro bruto. |
N/A | metadata.event_type | Esse campo é derivado da lógica do analisador com base no valor de data.detail.eventName : se eventName for "Decrypt" ou "Encrypt", event_type será "USER_RESOURCE_ACCESS". Se eventName for "GenerateDataKey", event_type será "USER_RESOURCE_CREATION". Caso contrário, event_type será "GENERIC_EVENT". |
N/A | metadata.log_type | O valor é codificado como "AWS_KMS" no código do analisador. |
N/A | metadata.product_name | O valor é codificado como "AWS Key Management Service" no código do analisador. |
N/A | metadata.vendor_name | O valor é codificado como "AMAZON" no código do analisador. |
N/A | principal.asset.attribute.cloud.environment | O valor é codificado como "AMAZON_WEB_SERVICES" no código do analisador. |
Alterações
2022-05-27
- Melhoria:
- O valor armazenado em metadata.product_name foi modificado para "AWS Key Management Service".
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.