Coletar registros do AWS Key Management Service

Compatível com:

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

  1. Crie um bucket do Amazon S3 seguindo este guia do usuário: Criar um bucket.
  2. Salve o Nome e a Região do bucket para uso futuro.
  3. Crie um usuário seguindo este guia: Como criar um usuário do IAM.
  4. Selecione o Usuário criado.
  5. Selecione a guia Credenciais de segurança.
  6. Clique em Criar chave de acesso na seção Chaves de acesso.
  7. Selecione Serviço de terceiros como o caso de uso.
  8. Clique em Próxima.
  9. Opcional: adicione uma tag de descrição.
  10. Clique em Criar chave de acesso.
  11. Clique em Fazer o download do arquivo CSV para salvar a chave de acesso e a chave de acesso secreta para uso futuro.
  12. Clique em Concluído.
  13. Selecione a guia Permissões.
  14. Clique em Adicionar permissões na seção Políticas de permissões.
  15. Selecione Adicionar permissões.
  16. Selecione Anexar políticas diretamente.
  17. Pesquise e selecione a política AmazonS3FullAccess.
  18. Clique em Próxima.
  19. Clique em Adicionar permissões

Configurar o CloudTrail para o AWS KMS

  1. Faça login no Console de Gerenciamento da AWS.
  2. Na barra de pesquisa, digite e selecione CloudTrail na lista de serviços.
  3. Clique em Criar trilha.
  4. Informe um nome de trilha (por exemplo, KMS-Activity-Trail).
  5. Marque a caixa de seleção Ativar para todas as contas na minha organização.
  6. 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.
  7. Se o SSE-KMS estiver ativado, forneça um nome para o alias do AWS KMS ou escolha uma chave do AWS KMS.
  8. Deixe as outras configurações como padrão.
  9. Clique em Próxima.
  10. Selecione Eventos de gerenciamento e Eventos de dados em Tipos de evento.
  11. Clique em Próxima.
  12. Revise as configurações em Revisar e criar.
  13. Clique em Criar trilha.
  14. Opcional: se você criou um bucket, siga este processo:
    1. Acesse S3.
    2. Identifique e selecione o bucket de registros recém-criado.
    3. Selecione a pasta AWSLogs.
    4. Clique em Copiar URI do S3 e salve.

Configurar um feed no Google SecOps para ingerir registros do AWS KMS

  1. Acesse Configurações do SIEM > Feeds.
  2. Clique em Adicionar novo.
  3. No campo Nome do feed, insira um nome para o feed (por exemplo, AWS KMS Logs).
  4. Selecione Amazon S3 como o Tipo de origem.
  5. Selecione AWS KMS como o Tipo de registro.
  6. Clique em Próxima.
  7. 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.
    • 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.

  8. Clique em Próxima.

  9. 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.