Coletar registros do Halo da CloudPassage
Compatível com:
Google SecOps
SIEM
Esse código do analisador do Logstash transforma os dados de registro JSON do CloudPassage Halo em um modelo de dados unificado (UDM). Ele extrai campos relevantes dos registros brutos, normaliza carimbos de data/hora, mapeia dados para campos da UDM e enriquece eventos com mais contexto, como gravidade e informações do usuário.
Antes de começar
- Verifique se você tem uma instância do Google SecOps.
- Verifique se você tem acesso privilegiado ao CloudPassage Halo.
Como configurar uma chave de API no CloudPassage
- Faça login no CloudPassage Halo.
- Acesse Configurações > Administração do site.
- Clique na guia Chaves de API.
- Clique em Ações > Nova chave de API.
- Clique em Mostrar na guia Chaves de API para mostrar os valores.
- Copie os valores de ID da chave e Chave secreta.
Configurar um feed no Google SecOps para processar registros do CloudPassage
- Clique em Adicionar novo.
- No campo Nome do feed, insira um nome para o feed (por exemplo, Logs do CloudPassage).
- Selecione API de terceiros como o Tipo de origem.
- Selecione Passagem do Cloud como o Tipo de registro.
- Clique em Próxima.
- Especifique valores para os seguintes parâmetros de entrada:
- Nome de usuário: insira o ID da chave.
- Secret: insira a chave secreta.
- Tipos de eventos: tipo de eventos a serem incluídos. Se você não especificar os tipos de eventos, os eventos padrão da lista serão usados.
- Namespace de recursos: o namespace de recursos.
- Rótulos de ingestão: o rótulo aplicado aos eventos desse feed.
- Clique em Próxima.
- Revise a configuração do feed na tela Finalizar e clique em Enviar.
Tabela de mapeamento do UDM
Campo de registro | Mapeamento do UDM | Lógica |
---|---|---|
actor_country | principal.location.country_or_region | Mapeado diretamente do campo actor_country no registro bruto. |
actor_ip_address | principal.ip | Mapeado diretamente do campo actor_ip_address no registro bruto. |
actor_username | principal.user.userid | Mapeado diretamente do campo actor_username no registro bruto. |
created_at | metadata.event_timestamp | Convertido para o formato de carimbo de data/hora do UDM do campo created_at no registro bruto. |
crítico | security_result.severity | Se critical for verdadeiro, a gravidade será definida como "CRITICAL". Caso contrário, ele será definido como "INFORMAÇÃO" para eventos e calculado com base na contagem de resultados das verificações. |
id | metadata.product_log_id | Mapeado diretamente do campo id no registro bruto para eventos. |
mensagem | security_result.description | Extração da descrição do campo message usando o padrão grok. |
nome | security_result.summary | Mapeado diretamente do campo name no registro bruto para eventos. |
policy_name | security_result.detection_fields.policy_name | Mapeado diretamente do campo policy_name no registro bruto. |
rule_name | security_result.rule_name | Mapeado diretamente do campo rule_name no registro bruto. |
scan.created_at | metadata.event_timestamp | Convertido para o formato de carimbo de data/hora da UDM do campo scan.created_at no registro bruto para verificações. |
scan.critical_findings_count | security_result.description | Usado para calcular a descrição dos eventos de verificação. Também é usado para determinar o nível de gravidade. |
scan.module | security_result.summary | Usado para gerar o resumo dos eventos de verificação. Convertido em letras maiúsculas. |
scan.non_critical_findings_count | security_result.description | Usado para calcular a descrição dos eventos de verificação. 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 verificação. |
scan.server_hostname | target.hostname | Mapeado diretamente do campo scan.server_hostname no registro bruto para verificações. |
scan.status | security_result.summary | Usado para gerar o resumo dos eventos de verificação. |
scan.url | metadata.url_back_to_product | Mapeado diretamente do campo scan.url no registro bruto para verificações. |
server_group_name | target.group.attribute.labels.server_group_name | Mapeado diretamente do campo server_group_name no registro bruto. |
server_group_path | target.group.product_object_id | Mapeado diretamente do campo server_group_path no registro bruto. |
server_hostname | target.hostname | Mapeado diretamente do campo server_hostname no registro bruto para eventos. |
server_ip_address | target.ip | Mapeado diretamente do campo server_ip_address no registro bruto. |
server_platform | target.platform | Mapeado diretamente do campo server_platform no registro bruto. Convertido em letras maiúsculas. |
server_primary_ip_address | target.ip | Mapeado diretamente do campo server_primary_ip_address no registro bruto. |
server_reported_fqdn | network.dns.authority.name | Mapeado diretamente do campo server_reported_fqdn no registro bruto. |
target_username | target.user.userid | Mapeado diretamente do campo target_username no registro bruto. |
metadata.event_type | Defina como "SCAN_UNCATEGORIZED" para eventos e "SCAN_HOST" para verificações. | |
metadata.log_type | Defina como "CLOUD_PASSAGE". | |
metadata.product_name | Defina como "HALO". | |
metadata.vendor_name | Defina como "CLOUDPASSAGE". | |
principal.hostname | Copiado de target.hostname . |
|
security_result.action | Defina como "UNKNOWN_ACTION". | |
security_result.category | Defina como "POLICY_VIOLATION". | |
is_alert | Defina como verdadeiro se security_result.severity for "CRITICAL". |
|
is_significant | Defina como verdadeiro se security_result.severity for "CRITICAL". |
Alterações
2022-06-30
- Melhoria
- "policy_name" foi mapeado para "security_result.detection_fields".
- "server_group_name" foi associado a "target.group.attribute.labels".
- "server_group_path" foi associado a "target.group.product_object_id".
- Adição de um padrão grok para receber "description".