Recolha registos do CloudPassage Halo
Este código do analisador Logstash transforma os dados de registo JSON do CloudPassage Halo num modelo de dados unificado (UDM). Extrai campos relevantes dos registos não processados, normaliza as datas/horas, mapeia os dados para campos do MDU e enriquece os eventos com contexto adicional, como a gravidade e as informações do utilizador.
Antes de começar
Certifique-se de que tem os seguintes pré-requisitos:
- Instância do Google SecOps.
- Acesso privilegiado ao CloudPassage Halo.
Configurar uma chave da API no CloudPassage
- Inicie sessão no CloudPassage Halo.
- Aceda a Definições > Administração do site.
- Clique no separador Chaves da API.
- Clique em Ações > Nova chave da API.
- Clique em Mostrar para a sua chave no separador Chaves da API para apresentar os valores.
- Copie os valores do ID da chave e da chave secreta.
Configure feeds
Para configurar um feed, siga estes passos:
- Aceda a Definições do SIEM > Feeds.
- Clique em Adicionar novo feed.
- Na página seguinte, clique em Configurar um único feed.
- No campo Nome do feed, introduza um nome para o feed (por exemplo, Registos do CloudPassage).
- Selecione API de terceiros como o Tipo de origem.
- Selecione Cloud Passage como o Tipo de registo.
- Clicar em Seguinte.
- Especifique valores para os seguintes parâmetros de entrada:
- Nome de utilizador: introduza o ID da chave.
- Secreto: introduza a chave secreta.
- Tipos de eventos: tipo de eventos a incluir (se não especificar tipos de eventos, são usados os eventos predefinidos da lista).
- Clicar em Seguinte.
- Reveja a configuração do feed no ecrã Finalizar e, de seguida, clique em Enviar.
Tabela de mapeamento da UDM
Campo de registo | Mapeamento de UDM | Lógica |
---|---|---|
actor_country | principal.location.country_or_region | Mapeado diretamente a partir do campo actor_country no registo não processado. |
actor_ip_address | principal.ip | Mapeado diretamente a partir do campo actor_ip_address no registo não processado. |
actor_username | principal.user.userid | Mapeado diretamente a partir do campo actor_username no registo não processado. |
created_at | metadata.event_timestamp | Convertido para o formato de data/hora do UDM a partir do campo created_at no registo não processado. |
crítico | security_result.severity | Se critical for verdadeiro, a gravidade é definida como "CRITICAL". Caso contrário, é definido como "INFORMATIONAL" para eventos e calculado com base na quantidade de resultados para as análises. |
id | metadata.product_log_id | Mapeado diretamente a partir do campo id no registo não processado de eventos. |
mensagem | security_result.description | Descrição extraída do campo message através do padrão grok. |
nome | security_result.summary | Mapeado diretamente a partir do campo name no registo não processado de eventos. |
policy_name | security_result.detection_fields.policy_name | Mapeado diretamente a partir do campo policy_name no registo não processado. |
rule_name | security_result.rule_name | Mapeado diretamente a partir do campo rule_name no registo não processado. |
scan.created_at | metadata.event_timestamp | Convertido para o formato de data/hora do UDM a partir do campo scan.created_at no registo não processado para análises. |
scan.critical_findings_count | security_result.description | Usado para calcular a descrição dos eventos de análise. Também é usado para determinar o nível de gravidade. |
scan.module | security_result.summary | Usado para gerar o resumo dos eventos de leitura. Convertido em maiúsculas. |
scan.non_critical_findings_count | security_result.description | Usado para calcular a descrição dos eventos de análise. Também é usado para determinar o nível de gravidade. |
scan.ok_findings_count | security_result.description | Usado para calcular a descrição dos eventos de análise. |
scan.server_hostname | target.hostname | Mapeado diretamente a partir do campo scan.server_hostname no registo não processado para verificações. |
scan.status | security_result.summary | Usado para gerar o resumo dos eventos de leitura. |
scan.url | metadata.url_back_to_product | Mapeado diretamente a partir do campo scan.url no registo não processado para verificações. |
server_group_name | target.group.attribute.labels.server_group_name | Mapeado diretamente a partir do campo server_group_name no registo não processado. |
server_group_path | target.group.product_object_id | Mapeado diretamente a partir do campo server_group_path no registo não processado. |
server_hostname | target.hostname | Mapeado diretamente a partir do campo server_hostname no registo não processado de eventos. |
server_ip_address | target.ip | Mapeado diretamente a partir do campo server_ip_address no registo não processado. |
server_platform | target.platform | Mapeado diretamente a partir do campo server_platform no registo não processado. Convertido em maiúsculas. |
server_primary_ip_address | target.ip | Mapeado diretamente a partir do campo server_primary_ip_address no registo não processado. |
server_reported_fqdn | network.dns.authority.name | Mapeado diretamente a partir do campo server_reported_fqdn no registo não processado. |
target_username | target.user.userid | Mapeado diretamente a partir do campo target_username no registo não processado. |
metadata.event_type | Definido como "SCAN_UNCATEGORIZED" para eventos e "SCAN_HOST" para análises. | |
metadata.log_type | Definido como "CLOUD_PASSAGE". | |
metadata.product_name | Definido como "HALO". | |
metadata.vendor_name | Definido como "CLOUDPASSAGE". | |
principal.hostname | Copiado de target.hostname . |
|
security_result.action | Definido como "UNKNOWN_ACTION". | |
security_result.category | Definido como "POLICY_VIOLATION". |
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais da Google SecOps.