Coletar registros do Qualys Vulnerability Management

Compatível com:

Esse analisador processa registros do Qualys Vulnerability Management no formato chave-valor (KV) ou JSON. Ele extrai detalhes de vulnerabilidade, informações do host e metadados de verificação, mapeando-os para o UDM. O analisador também processa diferentes estruturas de registro, priorizando a análise de KV e voltando para JSON, se necessário, e divide a matriz DetectionList em eventos de vulnerabilidade individuais.

Antes de começar

Verifique se você atende aos seguintes pré-requisitos:

  • Instância do Google Security Operations.
  • Acesso privilegiado ao console do Qualys VMDR.

Opcional: crie um usuário de API dedicado no Qualys

  1. Faça login no console da Qualys.
  2. Acesse Usuários.
  3. Clique em Novo > Usuário.
  4. Insira as Informações gerais necessárias para o usuário.
  5. Selecione a guia Função do usuário.
  6. Verifique se a caixa de seleção Acesso à API está marcada.
  7. Clique em Salvar.

Identificar seu URL específico da API do Qualys

Opção 1

Identifique seus URLs conforme mencionado na identificação da plataforma.

Opção 2

  1. Faça login no console da Qualys.
  2. Acesse Ajuda > Sobre.
  3. Role a tela para ver essas informações em "Central de operações de segurança (SOC)".
  4. Copie o URL da API do Qualys.

Configurar feeds

Há dois pontos de entrada diferentes para configurar feeds na plataforma do Google SecOps:

  • Configurações do SIEM > Feeds
  • Central de conteúdo > Pacotes de conteúdo

Configure feeds em "Configurações do SIEM" > "Feeds".

Para configurar um feed, siga estas etapas:

  1. Acesse Configurações do SIEM > Feeds.
  2. Clique em Adicionar novo feed.
  3. Na próxima página, clique em Configurar um único feed.
  4. No campo Nome do feed, insira um nome para o feed, por exemplo, Registros de VM do Qualys.
  5. Selecione API de terceiros como o Tipo de origem.
  6. Selecione Qualys VM como o tipo de registro.
  7. Clique em Próxima.
  8. Especifique valores para os seguintes parâmetros de entrada:
    • Nome de usuário: digite o nome de usuário.
    • Secret: insira a senha.
    • Caminho completo da API: forneça o URL do servidor da API Qualys (por exemplo, https://<qualys_base_url>/api/2.0/fo/asset/host/?action=list), em que <qualys_base_url> é o URL base do servidor da API Qualys em que sua conta está localizada.
  9. Clique em Próxima.
  10. Revise a configuração do feed na tela Finalizar e clique em Enviar.

Configurar feeds na Central de conteúdo

Especifique valores para os seguintes campos:

  • Nome de usuário: digite o nome de usuário.
  • Secret: insira a senha.
  • Caminho completo da API: forneça o URL do servidor da API Qualys (por exemplo, https://<qualys_base_url>/api/2.0/fo/asset/host/?action=list), em que <qualys_base_url> é o URL base do servidor da API Qualys em que sua conta está localizada.

Opções avançadas

  • Nome do feed: um valor pré-preenchido que identifica o feed.
  • Tipo de origem: método usado para coletar registros no Google SecOps.
  • Namespace do recurso: namespace associado ao feed.
  • Rótulos de ingestão: rótulos aplicados a todos os eventos deste feed.

Tabela de mapeamento do UDM

Campo de registro Mapeamento do UDM Lógica
DETECTION.FIRST_FOUND_DATETIME extensions.vulns.vulnerabilities.first_found Analisado do campo DETECTION.FIRST_FOUND_DATETIME, convertendo o valor da string em um carimbo de data/hora.
DETECTION.LAST_FOUND_DATETIME extensions.vulns.vulnerabilities.last_found Analisado do campo DETECTION.LAST_FOUND_DATETIME, convertendo o valor da string em um carimbo de data/hora.
DETECTION.QID extensions.vulns.vulnerabilities.name Concatena "QID: " com o valor de DETECTION.QID.
DETECTION.RESULTS extensions.vulns.vulnerabilities.description Mapeia diretamente o campo de descrição. Também usado para extrair network.ip_protocol e principal.port usando grok.
DETECTION.SEVERITY extensions.vulns.vulnerabilities.severity Mapeado de DETECTION.SEVERITY. Os valores 0, 1 e 2 se tornam "BAIXA"; 3 e 4 se tornam "MÉDIA"; 5, 6 e 7 se tornam "ALTA".
DETECTION.STATUS extensions.vulns.vulnerabilities.about.labels Adicionado como um rótulo com a chave "Status da detecção".
DETECTION.TYPE extensions.vulns.vulnerabilities.about.labels Adicionado como um rótulo com a chave "Tipo de detecção".
DNS principal.hostname Mapeia diretamente para principal.hostname.
DNSData.DOMAIN principal.domain.name Mapeia diretamente para principal.domain.name.
HOST.ASSET_ID principal.asset_id Concatena "QUALYS:" com o valor de HOST.ASSET_ID.
HOST.DNS principal.hostname Mapeia diretamente para principal.hostname se DNS estiver vazio.
HOST.DNS_DATA.DOMAIN principal.domain.name Mapeia diretamente para principal.domain.name se DNSData.DOMAIN estiver vazio.
HOST.ID metadata.product_log_id Mapeia diretamente para metadata.product_log_id.
HOST.IP principal.ip Mapeia diretamente para principal.ip se IP estiver vazio.
HOST.LAST_SCAN_DATETIME extensions.vulns.vulnerabilities.scan_start_time Analisado do campo HOST.LAST_SCAN_DATETIME, convertendo o valor da string em um carimbo de data/hora.
HOST.LAST_VM_SCANNED_DATE extensions.vulns.vulnerabilities.scan_end_time Analisado do campo HOST.LAST_VM_SCANNED_DATE, convertendo o valor da string em um carimbo de data/hora.
HOST.NETBIOS additional.fields Adicionado como um rótulo com a chave "HOST NETBIOS".
HOST.OS principal.platform_version Mapeia diretamente para principal.platform_version se OS estiver vazio.
HOST.QG_HOSTID additional.fields Adicionado como um rótulo com a chave "HOST QG_HOSTID".
HOST.TRACKING_METHOD additional.fields Adicionado como um rótulo com a chave "HOST TRACKING_METHOD".
HOST_ID principal.asset_id Concatena "QUALYS:" com o valor de HOST_ID.
ID metadata.product_log_id Mapeia diretamente para metadata.product_log_id.
IP principal.ip Mapeia diretamente para principal.ip.
LastScanDateTime extensions.vulns.vulnerabilities.scan_start_time Analisado do campo LastScanDateTime, convertendo o valor da string em um carimbo de data/hora.
LastVMAuthScanDuration additional.fields Adicionado como um rótulo com a chave "LastVMAuthScanDuration".
LastVMScanDate extensions.vulns.vulnerabilities.scan_end_time Analisado do campo LastVMScanDate, convertendo o valor da string em um carimbo de data/hora.
LastVMScanDuration additional.fields Adicionado como um rótulo com a chave "LastVMScanDuration".
LAST_FOUND_DATETIME extensions.vulns.vulnerabilities.last_found Analisado do campo LAST_FOUND_DATETIME, convertendo o valor da string em um carimbo de data/hora.
LAST_SCAN_DATETIME extensions.vulns.vulnerabilities.scan_start_time Analisado do campo LAST_SCAN_DATETIME, convertendo o valor da string em um carimbo de data/hora.
LAST_VM_SCANNED_DATE extensions.vulns.vulnerabilities.scan_end_time Analisado do campo LAST_VM_SCANNED_DATE, convertendo o valor da string em um carimbo de data/hora.
NETBIOS additional.fields Adicionado como um rótulo com a chave "NETBIOS".
NetworkID additional.fields Adicionado como um rótulo com a chave "NetworkID".
NETWORK_ID additional.fields Adicionado como um rótulo com a chave "NetworkID".
OS principal.platform_version Mapeia diretamente para principal.platform_version.
Os principal.platform_version Mapeia diretamente para principal.platform_version se OS estiver vazio.
QID extensions.vulns.vulnerabilities.name Concatena "QID: " com o valor de QID.
QgHostID principal.asset_id Define principal.asset_id como "Host Id:%{QgHostID}".
SEVERITY extensions.vulns.vulnerabilities.severity Mapeado de SEVERITY. Os valores 0, 1 e 2 se tornam "BAIXA"; 3 e 4 se tornam "MÉDIA"; 5, 6 e 7 se tornam "ALTA".
TRACKING_METHOD additional.fields Adicionado como um rótulo com a chave "TRACKING_METHOD".
TrackingMethod additional.fields Adicionado como um rótulo com a chave "TRACKING_METHOD".
N/A metadata.vendor_name Codificado como "Qualys".
N/A metadata.product_name Codificado como "Gerenciamento de vulnerabilidades".
N/A metadata.event_type Definido como "SCAN_VULN_HOST" se _vulns não estiver vazio, "STATUS_UPDATE" se prin_host ou IP não estiverem vazios e "GENERIC_EVENT" caso contrário.
N/A metadata.log_type Extraído do campo log_type do registro bruto.
N/A principal.platform Determinado por OS, Os ou HOST.OS. Se algum deles contiver "Linux", a plataforma será definida como "LINUX". Se algum deles contiver "Windows", a plataforma será definida como "WINDOWS". Se algum deles contiver "mac" ou "IOS", a plataforma será definida como "MAC".
detection.DType extensions.vulns.vulnerabilities.about.resource.attribute.labels Adicionado como um rótulo com a chave "Detection Type" na matriz de vulnerabilidades para eventos analisados do campo DetectionList.
detection.FirstFoundTime extensions.vulns.vulnerabilities.first_found Analisado do campo detection.FirstFoundTime, convertendo o valor da string em um carimbo de data/hora na matriz de vulnerabilidades para eventos analisados do campo DetectionList.
detection.LastFoundTime extensions.vulns.vulnerabilities.last_found Analisado do campo detection.LastFoundTime, convertendo o valor da string em um carimbo de data/hora na matriz de vulnerabilidades para eventos analisados do campo DetectionList.
detection.LastProcessedDatetime extensions.vulns.vulnerabilities.about.resource.attribute.labels Adicionado como um rótulo com a chave "LastProcessedDatetime" na matriz de vulnerabilidades para eventos analisados do campo DetectionList.
detection.LastTestDateTime extensions.vulns.vulnerabilities.about.resource.attribute.labels Adicionado como um rótulo com a chave "LastTestDateTime" na matriz de vulnerabilidades para eventos analisados do campo DetectionList.
detection.LastUpdateDateTime extensions.vulns.vulnerabilities.about.resource.attribute.labels Adicionado como um rótulo com a chave "LastUpdateDateTime" na matriz de vulnerabilidades para eventos analisados do campo DetectionList.
detection.Qid extensions.vulns.vulnerabilities.name Concatena "QID: " com o valor de detection.Qid na matriz de vulnerabilidades para eventos analisados do campo DetectionList.
detection.Results extensions.vulns.vulnerabilities.description Mapeia diretamente o campo "description" na matriz "vulnerabilities" para eventos analisados do campo DetectionList. As tabulações e as novas linhas são substituídas por espaços.
detection.Severity extensions.vulns.vulnerabilities.severity Mapeado de detection.Severity. Os valores 0, 1 e 2 se tornam "LOW"; 3 e 4 se tornam "MEDIUM"; 5, 6 e 7 se tornam "HIGH" na matriz de vulnerabilidades para eventos analisados do campo DetectionList.
detection.Status extensions.vulns.vulnerabilities.about.resource.attribute.labels Adicionado como um rótulo com a chave "Detection status" na matriz de vulnerabilidades para eventos analisados do campo DetectionList.
detection.TimesFound extensions.vulns.vulnerabilities.about.resource.attribute.labels Adicionado como um rótulo com a chave "TimesFound" na matriz de vulnerabilidades para eventos analisados do campo DetectionList.
timestamp metadata.event_timestamp, timestamp O campo timestamp do log bruto é usado para o carimbo de data/hora do evento e o carimbo de data/hora de nível superior.

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