Coletar registros da Central de Segurança da AWS
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
- 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 AWS Security Hub para encaminhar descobertas com o EventBridge
- Faça login no Console de Gerenciamento da AWS.
- Na barra de pesquisa, digite e selecione Security Hub na lista de serviços.
- Clique em Configurações.
- Na seção Integrations, encontre EventBridge e clique em Enable.
- Na barra de pesquisa, digite e selecione EventBridge na lista de serviços.
- No console do EventBridge, clique em Regras > Criar regra.
- Forneça a seguinte configuração de regra:
- Nome da regra: informe um nome descritivo para a regra (por exemplo, SendSecurityHubFindingsToS3).
- Origem do evento: selecione Serviços da AWS.
- Nome do serviço: escolha Hub de segurança.
- Tipo de evento: selecione Descobertas do hub de segurança.
- Definir o destino: escolha o bucket do S3 como o destino das descobertas.
- 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.
- 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.
- Clique em Criar.
Configurar um feed no Google SecOps para ingerir registros do AWS Security Hub
- Acesse Configurações do SIEM > Feeds.
- Clique em Adicionar novo.
- No campo Nome do feed, insira um nome para o feed (por exemplo, AWS Security Hub Logs).
- Selecione Amazon S3 como o Tipo de origem.
- Selecione AWS Security Hub 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 |
---|---|---|
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.