Coletar registros da Central de Segurança da AWS

Compatível com:

Este documento explica como transferir os registros do AWS Security Hub para o Google Security Operations. O AWS Security Hub oferece uma visão abrangente dos alertas e descobertas de segurança em todas as contas da AWS. Ao enviar essas descobertas para o Google SecOps, você pode usar os recursos do Google SecOps para melhorar o monitoramento e a detecção de ameaças.

Antes de começar

  • Verifique se você tem uma instância do Google SecOps.
  • Verifique se você tem acesso privilegiado à AWS.

Configurar o AWS 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 AWS Security Hub para encaminhar descobertas com o EventBridge

  1. Faça login no Console de Gerenciamento da AWS.
  2. Na barra de pesquisa, digite e selecione Security Hub na lista de serviços.
  3. Clique em Configurações.
  4. Na seção Integrations, encontre EventBridge e clique em Enable.
  5. Na barra de pesquisa, digite e selecione EventBridge na lista de serviços.
  6. No console do EventBridge, clique em Regras > Criar regra.
  7. Forneça a seguinte configuração de regra:
    1. Nome da regra: informe um nome descritivo para a regra (por exemplo, SendSecurityHubFindingsToS3).
    2. Origem do evento: selecione Serviços da AWS.
    3. Nome do serviço: escolha Hub de segurança.
    4. Tipo de evento: selecione Descobertas do hub de segurança.
    5. Definir o destino: escolha o bucket do S3 como o destino das descobertas.
    6. Bucket do S3: selecione o bucket em que as descobertas vão ser armazenadas.
      • Se você ainda não tiver um bucket do S3 configurado, crie um:
      • Acesse o Console do S3 .
      • Clique em Criar bucket.
      • Informe um nome de bucket (por exemplo, securityhub-findings-logs).
      • Clique em Criar.
    7. Configurar permissões: o EventBridge configura automaticamente as permissões necessárias para enviar descobertas ao bucket do S3 especificado. Se você estiver usando um bucket personalizado, verifique se as permissões adequadas do S3 estão em vigor para permitir que o EventBridge grave registros no bucket.
  8. Clique em Criar.

Configurar um feed no Google SecOps para ingerir registros do AWS Security Hub

  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 Security Hub Logs).
  4. Selecione Amazon S3 como o Tipo de origem.
  5. Selecione AWS Security Hub 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
account principal.group.product_object_id O ID da conta da AWS associado à descoberta.
configurationItem.ARN target.resource.id O nome do recurso da Amazon (ARN) do item de configuração.
configurationItem.awsAccountId principal.user.userid O ID da conta da AWS do item de configuração.
configurationItem.awsRegion target.asset.location.country_or_region A região da AWS do item de configuração.
configurationItem.configuration.complianceType security_result.summary O tipo de compliance do item de configuração.
configurationItem.configuration.configRuleList[].complianceType security_result.summary Status de conformidade de cada regra de configuração.
configurationItem.configuration.configRuleList[].configRuleArn security_result.rule_id O ARN da regra do AWS Config.
configurationItem.configuration.configRuleList[].configRuleId security_result.about.labels.configRuleId O ID da regra do AWS Config.
configurationItem.configuration.configRuleList[].configRuleName security_result.rule_name O nome da regra do AWS Config.
configurationItem.configuration.privateIpAddress target.ip O endereço IP particular do item de configuração.
configurationItem.configuration.publicIpAddress target.ip O endereço IP público do item de configuração.
configurationItem.configurationItemCaptureTime target.asset.attribute.creation_time O horário da captura do item de configuração, convertido em um carimbo de data/hora.
configurationItem.configurationItemStatus target.asset.attribute.labels.Configuration Item Status O status do item de configuração.
configurationItem.relationships[].resourceId target.asset.attribute.cloud.vpc.id O ID do recurso relacionado, usado para o ID da VPC se ele corresponder a "vpc".
configurationItem.resourceId target.resource.id O ID do recurso do item de configuração.
configurationItem.resourceName target.resource.name O nome do recurso.
configurationItem.resourceType target.resource.resource_subtype O tipo de recurso do item de configuração.
configurationItem.tags.Contact principal.user.user_display_name OU principal.user.email_addresses Detalhes de contato extraídos das tags, analisados para e-mail e nome de usuário.
configurationItem.tags.OS / configurationItem.tags.Os target.asset.platform_software.platform O sistema operacional das tags, mapeado para a plataforma, se for "Windows" ou "Linux".
configurationItemDiff.changeType metadata.event_type O tipo de mudança, mapeado para RESOURCE_WRITTEN ou RESOURCE_CREATION.
detail.accountId principal.group.product_object_id O ID da conta da AWS associado à descoberta.
detail.actionDescription detail.actionName detail.description sec_result.description A descrição da descoberta.
detail.findings[].AwsAccountId principal.group.product_object_id O ID da conta da AWS associado à descoberta.
detail.findings[].CompanyName detail.findings[].CreatedAt detail.findings[].Description sec_result.description A descrição da descoberta.
detail.findings[].FindingProviderFields.Severity.Label sec_result.severity O rótulo de gravidade da descoberta, convertido em letras maiúsculas.
detail.findings[].FindingProviderFields.Types[] detail.findings[].FirstObservedAt detail.findings[].GeneratorId detail.findings[].Id detail.findings[].LastObservedAt detail.findings[].ProductArn detail.findings[].ProductFields. Consulte abaixo Vários campos usados para campos adicionais, informações principais e de destino.
detail.findings[].ProductName detail.findings[].RecordState detail.findings[].Region target.location.name A região da AWS da descoberta.
detail.findings[].Resources[].Details. Consulte abaixo Detalhes sobre os recursos envolvidos na descoberta.
detail.findings[].Resources[].Id target.resource.product_object_id O ID do recurso.
detail.findings[].Resources[].Partition detail.findings[].Resources[].Region target.location.name A região da AWS do recurso.
detail.findings[].Resources[].Tags detail.findings[].Resources[].Type target.resource.resource_type, target.resource.resource_subtype, metadata.event_type O tipo de recurso usado para o mapeamento de tipo de recurso, subtipo e tipo de evento.
detail.findings[].Sample detail.findings[].SchemaVersion detail.findings[].Severity.Label detail.findings[].SourceUrl detail.findings[].Title sec_result.summary O título da descoberta.
detail.findings[].Types[] detail.findings[].UpdatedAt detail.findings[].Workflow.Status detail.findings[].WorkflowState detail-type metadata.product_event_type O tipo de detalhes do evento.
id metadata.product_log_id O ID do evento.
region target.location.name A região da AWS do evento.
resources[] source time version (lógica do analisador) metadata.event_timestamp O horário de criação da entrada de registro original, usado como carimbo de data/hora do evento.
(Parser Logic) metadata.log_type Defina como "AWS_SECURITY_HUB".
(Parser Logic) metadata.product_name Defina como "Central de Segurança da AWS".
(Parser Logic) metadata.vendor_name Defina como "AMAZON".
(Parser Logic) target.asset.attribute.cloud.environment Defina como "AMAZON_WEB_SERVICES".
(Parser Logic) metadata.event_type Defina como "USER_RESOURCE_ACCESS" como padrão se não for mapeado de Resources[].Type ou configurationItemDiff.changeType. Defina como "STATUS_UPDATE" se configurationItems estiver presente e nenhum outro tipo de evento estiver definido. Defina como "RESOURCE_READ" se configurationItem ou configurationItems estiver presente e o status for "OK" ou "ResourceDiscovered". Defina como "RESOURCE_DELETION" se configurationItem ou configurationItems estiver presente e o status for "ResourceDeleted".
(Parser Logic) metadata.description Defina como "guardduty" se detail.findings[].ProductFields.aws/guardduty/service/serviceName estiver presente.
(Parser Logic) target.asset.attribute.cloud.vpc.resource_type Defina como "VPC_NETWORK" se configurationItems.relationships[].resourceId corresponder a "vpc".
(Parser Logic) target.resource.resource_type Defina como "VIRTUAL_MACHINE" se configurationItem ou configurationItems estiverem presentes. Defina como "UNSPECIFIED" se nenhum outro tipo de recurso estiver definido.
(Parser Logic) target.asset.platform_software.platform Defina como "WINDOWS" ou "LINUX" com base na presença de "Windows" ou "(Linux
(Parser Logic) disambiguation_key Adicionado quando vários eventos são gerados a partir de uma única entrada de registro.

Alterações

2023-06-20

  • Melhoria:
  • "metadata.event_type" foi modificado de "GENERIC_EVENT" para "USER_RESOURCE_ACCESS".

2023-03-24

  • Melhoria:
  • when "detail.findings.0.Resources.0.Type" == "AwsEcsTaskDefinition" -
  • "target.resource.resource_type" foi mapeado para "TASK".
  • "event_type" foi associado a "USER_RESOURCE_ACCESS".
  • Mapeamos "detail.findings.0.ProductFields.Resources:0/Id" para "principal.asset_id".
  • Todos os outros registros com falha foram analisados como GENERIC_EVENT, porque STATUS_UPDATE não era uma boa opção de análise para eles.

2022-08-22

  • Melhoria:
  • O nome do fornecedor foi atualizado de "AWS SECURITY HUB" para "AMAZON".
  • O nome do produto foi atualizado de "AWS SECURITY HUB" para "AWS Security Hub".
  • Analisou os novos registros de formato JSON que contêm "configurationItem" ou "configurationItems".
  • Processamos os registros que foram ingeridos como um arquivo de importação separando-os usando um loop e analisando cada um como eventos individuais.

2022-07-01

  • Analisador criado recentemente.

Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.