Qualys-Protokolle zur Verwaltung von Sicherheitslücken erfassen

Unterstützt in:

Dieser Parser verarbeitet Qualys-Sicherheitslücken-Management-Protokolle entweder im Schlüssel/Wert-Format (KV) oder im JSON-Format. Es werden Details zu Sicherheitslücken, Hostinformationen und Scanmetadaten extrahiert und dem UDM zugeordnet. Der Parser verarbeitet auch verschiedene Protokollstrukturen, priorisiert das KV-Parsen und greift bei Bedarf auf JSON zurück. Außerdem wird das DetectionList-Array in einzelne Sicherheitsereignisse unterteilt.

Hinweise

  • Sie benötigen eine Google Security Operations-Instanz.
  • Sie benötigen Berechtigungen für die Qualys VMDR-Konsole.

Optional: Einen speziellen API-Nutzer in Qualys erstellen

  1. Melden Sie sich in der Qualys-Konsole an.
  2. Gehen Sie zu Nutzer.
  3. Klicken Sie auf Neu > Nutzer.
  4. Geben Sie die für den Nutzer erforderlichen Allgemeinen Informationen ein.
  5. Wählen Sie den Tab Nutzerrolle aus.
  6. Das Kästchen API-Zugriff muss für die Rolle ausgewählt sein.
  7. Klicken Sie auf Speichern.

Spezifische Qualys API-URL angeben

Option 1

Geben Sie Ihre URLs wie in der Plattformidentifikation angegeben an.

Option 2

  1. Melden Sie sich in der Qualys-Konsole an.
  2. Gehen Sie zu Hilfe > Info.
  3. Scrollen Sie nach unten zu „Security Operations Center (SOC)“.
  4. Kopieren Sie die URL der Qualys API.

Feed in Google SecOps für die Aufnahme von Qulay-VM-Logs konfigurieren

  1. Gehen Sie zu SIEM-Einstellungen > Feeds.
  2. Klicken Sie auf Neu hinzufügen.
  3. Geben Sie im Feld Feedname einen Namen für den Feed ein, z. B. Qualys-VM-Protokolle.
  4. Wählen Sie Drittanbieter-API als Quelltyp aus.
  5. Wählen Sie als Logtyp Qualys-VM aus.
  6. Klicken Sie auf Weiter.
  7. Geben Sie Werte für die folgenden Eingabeparameter an:
    • Nutzername: Geben Sie den Nutzernamen ein.
    • Secret: Geben Sie das Passwort ein.
    • Vollständiger API-Pfad: Geben Sie die URL des Qualys API-Servers an (z. B. https://<qualys_base_url>/api/2.0/fo/asset/host/?action=list), wobei <qualys_base_url> die Basis-URL des Qualys API-Servers ist, auf dem sich Ihr Konto befindet.
    • Asset-Namespace: der Asset-Namespace.
    • Aufnahmelabels: Das Label, das auf die Ereignisse aus diesem Feed angewendet wird.
  8. Klicken Sie auf Weiter.
  9. Überprüfen Sie die Feedkonfiguration auf dem Bildschirm Abschließen und klicken Sie dann auf Senden.

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
DETECTION.FIRST_FOUND_DATETIME extensions.vulns.vulnerabilities.first_found Aus dem Feld DETECTION.FIRST_FOUND_DATETIME geparst, wobei der Stringwert in einen Zeitstempel konvertiert wird.
DETECTION.LAST_FOUND_DATETIME extensions.vulns.vulnerabilities.last_found Aus dem Feld DETECTION.LAST_FOUND_DATETIME geparst, wobei der Stringwert in einen Zeitstempel konvertiert wird.
DETECTION.QID extensions.vulns.vulnerabilities.name Verkettet „QID:“ mit dem Wert von DETECTION.QID.
DETECTION.RESULTS extensions.vulns.vulnerabilities.description Wird direkt dem Beschreibungsfeld zugeordnet. Wird auch zum Extrahieren von network.ip_protocol und principal.port mit Grok verwendet.
DETECTION.SEVERITY extensions.vulns.vulnerabilities.severity Zugewiesen von DETECTION.SEVERITY. Die Werte 0, 1 und 2 werden zu „Niedrig“, 3 und 4 zu „Mittel“ und 5, 6 und 7 zu „Hoch“.
DETECTION.STATUS extensions.vulns.vulnerabilities.about.labels Als Label mit dem Schlüssel „Detection status“ hinzugefügt.
DETECTION.TYPE extensions.vulns.vulnerabilities.about.labels Als Label mit dem Schlüssel „Detection type“ hinzugefügt.
DNS principal.hostname Wird direkt principal.hostname zugeordnet.
DNSData.DOMAIN principal.domain.name Wird direkt principal.domain.name zugeordnet.
HOST.ASSET_ID principal.asset_id Verbindet „QUALYS:“ mit dem Wert von HOST.ASSET_ID.
HOST.DNS principal.hostname Wird direkt principal.hostname zugeordnet, wenn DNS leer ist.
HOST.DNS_DATA.DOMAIN principal.domain.name Wird direkt principal.domain.name zugeordnet, wenn DNSData.DOMAIN leer ist.
HOST.ID metadata.product_log_id Wird direkt metadata.product_log_id zugeordnet.
HOST.IP principal.ip Wird direkt principal.ip zugeordnet, wenn IP leer ist.
HOST.LAST_SCAN_DATETIME extensions.vulns.vulnerabilities.scan_start_time Aus dem Feld HOST.LAST_SCAN_DATETIME geparst, wobei der Stringwert in einen Zeitstempel konvertiert wird.
HOST.LAST_VM_SCANNED_DATE extensions.vulns.vulnerabilities.scan_end_time Aus dem Feld HOST.LAST_VM_SCANNED_DATE geparst, wobei der Stringwert in einen Zeitstempel konvertiert wird.
HOST.NETBIOS additional.fields Als Label mit dem Schlüssel „HOST NETBIOS“ hinzugefügt.
HOST.OS principal.platform_version Wird direkt principal.platform_version zugeordnet, wenn OS leer ist.
HOST.QG_HOSTID additional.fields Als Label mit dem Schlüssel „HOST QG_HOSTID“ hinzugefügt.
HOST.TRACKING_METHOD additional.fields Als Label mit dem Schlüssel „HOST TRACKING_METHOD“ hinzugefügt.
HOST_ID principal.asset_id Verbindet „QUALYS:“ mit dem Wert von HOST_ID.
ID metadata.product_log_id Wird direkt auf metadata.product_log_id zugeordnet.
IP principal.ip Wird direkt principal.ip zugeordnet.
LastScanDateTime extensions.vulns.vulnerabilities.scan_start_time Aus dem Feld LastScanDateTime geparst, wobei der Stringwert in einen Zeitstempel konvertiert wird.
LastVMAuthScanDuration additional.fields Als Label mit dem Schlüssel „LastVMAuthScanDuration“ hinzugefügt.
LastVMScanDate extensions.vulns.vulnerabilities.scan_end_time Aus dem Feld LastVMScanDate geparst, wobei der Stringwert in einen Zeitstempel konvertiert wird.
LastVMScanDuration additional.fields Als Label mit dem Schlüssel „LastVMScanDuration“ hinzugefügt.
LAST_FOUND_DATETIME extensions.vulns.vulnerabilities.last_found Aus dem Feld LAST_FOUND_DATETIME geparst, wobei der Stringwert in einen Zeitstempel konvertiert wird.
LAST_SCAN_DATETIME extensions.vulns.vulnerabilities.scan_start_time Aus dem Feld LAST_SCAN_DATETIME geparst, wobei der Stringwert in einen Zeitstempel konvertiert wird.
LAST_VM_SCANNED_DATE extensions.vulns.vulnerabilities.scan_end_time Aus dem Feld LAST_VM_SCANNED_DATE geparst, wobei der Stringwert in einen Zeitstempel konvertiert wird.
NETBIOS additional.fields Als Label mit dem Schlüssel „NETBIOS“ hinzugefügt.
NetworkID additional.fields Als Label mit dem Schlüssel „NetworkID“ hinzugefügt.
NETWORK_ID additional.fields Als Label mit dem Schlüssel „NetworkID“ hinzugefügt.
OS principal.platform_version Wird direkt principal.platform_version zugeordnet.
Os principal.platform_version Wird direkt principal.platform_version zugeordnet, wenn OS leer ist.
QID extensions.vulns.vulnerabilities.name Verkettet „QID:“ mit dem Wert von QID.
QgHostID principal.asset_id Legt principal.asset_id auf „Host-ID:%{QgHostID}“ fest.
SEVERITY extensions.vulns.vulnerabilities.severity Zugewiesen von SEVERITY. Die Werte 0, 1 und 2 werden zu „LOW“ (Niedrig), 3 und 4 zu „MEDIUM“ (Mittel) und 5, 6 und 7 zu „HIGH“ (Hoch).
TRACKING_METHOD additional.fields Als Label mit dem Schlüssel „TRACKING_METHOD“ hinzugefügt.
TrackingMethod additional.fields Als Label mit dem Schlüssel „TRACKING_METHOD“ hinzugefügt.
metadata.vendor_name „Qualys“ ist hartcodiert.
metadata.product_name „Sicherheitslückenverwaltung“ ist hartcodiert.
metadata.event_type Legen Sie „SCAN_VULN_HOST“ fest, wenn _vulns nicht leer ist, „STATUS_UPDATE“, wenn entweder prin_host oder IP nicht leer ist, und andernfalls „GENERIC_EVENT“.
metadata.log_type Aus dem Feld log_type des Rohlogs.
principal.platform Wird anhand von OS, Os oder HOST.OS ermittelt. Wenn einer dieser Werte „Linux“ enthält, wird die Plattform auf „LINUX“ festgelegt. Wenn einer der Werte „Windows“ enthält, wird die Plattform auf „WINDOWS“ festgelegt. Wenn einer der Werte „mac“ oder „ios“ enthält, wird die Plattform auf „MAC“ festgelegt.
detection.DType extensions.vulns.vulnerabilities.about.resource.attribute.labels Als Label mit dem Schlüssel „Detection Type“ im Array „vulnerabilities“ für Ereignisse hinzugefügt, die aus dem Feld DetectionList geparst wurden.
detection.FirstFoundTime extensions.vulns.vulnerabilities.first_found Wird aus dem Feld detection.FirstFoundTime geparst. Der Stringwert wird in das Array „vulnerabilities“ für Ereignisse umgewandelt, die aus dem Feld DetectionList geparst wurden.
detection.LastFoundTime extensions.vulns.vulnerabilities.last_found Wird aus dem Feld detection.LastFoundTime geparst. Der Stringwert wird in das Array „vulnerabilities“ für Ereignisse umgewandelt, die aus dem Feld DetectionList geparst wurden.
detection.LastProcessedDatetime extensions.vulns.vulnerabilities.about.resource.attribute.labels Als Label mit dem Schlüssel „LastProcessedDatetime“ im Array „vulnerabilities“ für Ereignisse hinzugefügt, die aus dem Feld DetectionList geparst wurden.
detection.LastTestDateTime extensions.vulns.vulnerabilities.about.resource.attribute.labels Wird als Label mit dem Schlüssel „LastTestDateTime“ im Array „vulnerabilities“ für Ereignisse hinzugefügt, die aus dem Feld DetectionList geparst wurden.
detection.LastUpdateDateTime extensions.vulns.vulnerabilities.about.resource.attribute.labels Wird als Label mit dem Schlüssel „LastUpdateDateTime“ im Array „vulnerabilities“ für Ereignisse hinzugefügt, die aus dem Feld DetectionList geparst wurden.
detection.Qid extensions.vulns.vulnerabilities.name „QID:“ wird mit dem Wert von detection.Qid im Array „vulnerabilities“ für Ereignisse verknüpft, die aus dem Feld DetectionList geparst wurden.
detection.Results extensions.vulns.vulnerabilities.description Wird für Ereignisse, die aus dem Feld DetectionList geparst werden, direkt dem Beschreibungsfeld im Array „vulnerabilities“ zugeordnet. Tabulatoren und Zeilenumbrüche werden durch Leerzeichen ersetzt.
detection.Severity extensions.vulns.vulnerabilities.severity Zugewiesen von detection.Severity. Die Werte 0, 1 und 2 werden im Array „vulnerabilities“ für Ereignisse, die aus dem Feld DetectionList geparst werden, zu „LOW“ (Niedrig), 3 und 4 zu „MEDIUM“ (Mittel) und 5, 6 und 7 zu „HIGH“ (Hoch).
detection.Status extensions.vulns.vulnerabilities.about.resource.attribute.labels Als Label mit dem Schlüssel „Detection status“ im Array „vulnerabilities“ für Ereignisse hinzugefügt, die aus dem Feld DetectionList geparst wurden.
detection.TimesFound extensions.vulns.vulnerabilities.about.resource.attribute.labels Wird als Label mit dem Schlüssel „TimesFound“ im Array „vulnerabilities“ für Ereignisse hinzugefügt, die aus dem Feld DetectionList geparst wurden.
timestamp metadata.event_timestamp, timestamp Das Feld timestamp des Rohlogs wird sowohl für den Ereigniszeitstempel als auch für den Zeitstempel der obersten Ebene verwendet.

Änderungen

2023-10-27

  • Es wurde eine For-Schleife hinzugefügt, um die Ereignisse aufzuteilen, wenn mehrere „QIDs“ vorhanden sind.

2023-04-25

  • „DetectionList.FirstFoundTime“ wurde in „extensions.vulns.vulnerabilities.first_found“ umgewandelt.
  • „DetectionList.LastFoundTime“ wurde in „extensions.vulns.vulnerabilities.last_found“ umgewandelt.
  • „DetectionList.TimesFound“ wurde in „extensions.vulns.vulnerabilities.about.resource.attribute.labels“ geändert.
  • „DetectionList.LastTestDateTime“ wurde in „extensions.vulns.vulnerabilities.about.resource.attribute.labels“ geändert.
  • „DetectionList.LastUpdateDateTime“ wurde in „extensions.vulns.vulnerabilities.about.resource.attribute.labels“ geändert.
  • „DetectionList.LastProcessedDatetime“ wurde in „extensions.vulns.vulnerabilities.about.resource.attribute.labels“ umgewandelt.

2023-01-23

  • Die Array-Details „DetectionList“ wurden auf „extensions.vulns.vulnerabilities“ zugeordnet.
  • „DetectionList.Qid“ wurde in „extensions.vulns.vulnerabilities.name“ geändert.
  • „DetectionList.Severity“ wurde in „extensions.vulns.vulnerabilities.severity“ geändert.
  • „DetectionList.Results“ wurde in „extensions.vulns.vulnerabilities.description“ geändert.
  • „DetectionList.Status“ und „DetectionList.DType“ wurden in „extensions.vulns.vulnerabilities.about.resource.attribute.labels“ umgewandelt.

2022-09-29

  • „ID“ wurde mit „metadata.product_log_id“ verknüpft.
  • „Netbios“, „TrackingMethod“ und „NetworkID“ wurden in „additional.fields“ zugeordnet.
  • „QgHostID“ wurde „principal.asset_id“ zugeordnet.
  • „Os“ wurde auf „principal.platform_version“ zugeordnet.
  • Bedingte Prüfung für „vulns“ hinzugefügt.

2022-07-20

  • Zuordnung für die folgenden Felder hinzugefügt:
  • „DETECTION.FIRST_FOUND_DATETIME“ wurde in „event.idm.read_only_udm.extensions.vulns.vulnerabilities.first_found“ umgewandelt.
  • „DETECTION.LAST_FOUND_DATETIME“ wird auf „event.idm.read_only_udm.extensions.vulns.vulnerabilities.last_found“ zugeordnet.
  • „HOST.LAST_VM_SCANNED_DATE“ wird auf „event.idm.read_only_udm.extensions.vulns.vulnerabilities.scan_end_time“ zugeordnet.
  • „HOST.LAST_SCAN_DATETIME“ wird auf „event.idm.read_only_udm.extensions.vulns.vulnerabilities.scan_start_time“ zugeordnet.
  • „DETECTION.QID“ wurde auf „event.idm.read_only_udm.extensions.vulns.vulnerabilities.name“ zugeordnet.
  • „DETECTION.SEVERITY“ wurde auf „event.idm.read_only_udm.extensions.vulns.vulnerabilities.severity“ zugeordnet.
  • „DETECTION.TYPE“ wurde auf „event.idm.read_only_udm.extensions.vulns.vulnerabilities.about.labels“ zugeordnet.
  • „DETECTION.STATUS“ wird auf „event.idm.read_only_udm.extensions.vulns.vulnerabilities.labels“ zugeordnet.
  • „DETECTION.RESULTS“ wird auf „event.idm.read_only_udm.extensions.vulns.vulnerabilities.description“ zugeordnet.
  • „HOST.DNS_DATA.DOMAIN“ ist auf „event.idm.read_only_udm.principal.domain.name“ zugeordnet.
  • „HOST.ASSET_ID“ ist auf „event.idm.read_only_udm.principal.asset_id“ zugeordnet.
  • „HOST.IP“ ist auf „event.idm.read_only_udm.principal.ip“ zugeordnet.
  • „HOST.OS“ ist auf „event.idm.read_only_udm.principal.platform_version“ zugeordnet.
  • „HOST.DNS“ ist auf „event.idm.read_only_udm.principal.hostname“ zugeordnet.
  • „HOST.QG_HOSTID“ ist auf „event.idm.read_only_udm.additional.fields“ zugeordnet.
  • „HOST.NETBIOS“ ist auf „event.idm.read_only_udm.additional.fields“ zugeordnet.
  • „HOST.TRACKING_METHOD“ ist auf „event.idm.read_only_udm.additional.fields“ zugeordnet.