Coletar registros do Halo da CloudPassage

Compatível com:

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

  1. Faça login no CloudPassage Halo.
  2. Acesse Configurações > Administração do site.
  3. Clique na guia Chaves de API.
  4. Clique em Ações > Nova chave de API.
  5. Clique em Mostrar na guia Chaves de API para mostrar os valores.
  6. Copie os valores de ID da chave e Chave secreta.

Configurar um feed no Google SecOps para processar registros do CloudPassage

  1. Clique em Adicionar novo.
  2. No campo Nome do feed, insira um nome para o feed (por exemplo, Logs do CloudPassage).
  3. Selecione API de terceiros como o Tipo de origem.
  4. Selecione Passagem do Cloud como o Tipo de registro.
  5. Clique em Próxima.
  6. 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.
  7. Clique em Próxima.
  8. 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".