Rapid7 InsightIDR-Logs erfassen

Unterstützt in:

Dieser Parser verarbeitet sowohl JSON- als auch SYSLOG-formatierte Logs von Rapid7 InsightIDR. Er extrahiert Felder, normalisiert sie in das UDM und führt eine spezifische Logik für Sicherheitslückendaten aus, einschließlich CVSS-Scores und Exploit-Informationen. Dabei werden JSON- und Syslog-Formate separat verarbeitet. Außerdem werden Authentifizierungsversuche und Sitzungsereignisse den entsprechenden UDM-Ereignistypen zugeordnet.

Hinweis

Folgende Voraussetzungen müssen erfüllt sein:

  • Google SecOps-Instanz
  • Privilegierter Zugriff auf die InsightIDR-Verwaltungskonsole.

API-Schlüssel in Rapid7 InsightIDR konfigurieren

  1. Melden Sie sich in der InsightIDR Command Platform an.
  2. Klicken Sie auf Verwaltung.
  3. Klicken Sie auf API-Schlüssel.
  4. Rufen Sie den Tab Organisationsschlüssel auf.
  5. Klicken Sie auf Neuer Organisationsschlüssel.
  6. Wählen Sie eine Organisation aus und geben Sie einen Namen für den Schlüssel ein (z. B. Google SecOps).
  7. Generieren Sie den Schlüssel.
  8. Kopieren Sie den Schlüssel aus dem neuen Fenster, in dem der generierte Schlüssel angezeigt wird.

Feeds einrichten

So konfigurieren Sie einen Feed:

  1. Rufen Sie die Einstellungen > Datenverwaltung > Feeds auf. Wenn Sie eine reine SIEM-Plattform verwenden, rufen Sie die Einstellungen > Feeds auf.
  2. Klicken Sie auf Neuen Feed hinzufügen.
  3. Klicken Sie auf der nächsten Seite auf Einzelnen Feed konfigurieren.
  4. Geben Sie im Feld Feedname einen Namen für den Feed ein, z. B. Rapid7 InsightIDR-Logs.
  5. Wählen Sie als Quelltyp die Option Drittanbieter-API aus.
  6. Wählen Sie Rapid7 Insight als Protokolltyp aus.
  7. Klicken Sie auf Weiter.
  8. Geben Sie Werte für die folgenden Eingabeparameter an:
    • HTTP-Header für die Authentifizierung: zuvor generiertes Token im Format X-Api-Key:<value> (z. B. X-Api-Key:AAAABBBBCCCC111122223333).
    • API-Endpunkt: Geben Sie vulnerabilities oder assets ein.
    • API-Hostname: Der FQDN (voll qualifizierter Domainname) des Rapid7-API-Endpunkt im Format [region].api.insight.rapid7.com.
  9. Klicken Sie auf Weiter.
  10. Prüfen Sie die Feedkonfiguration auf dem Bildschirm Abschließen und klicken Sie dann auf Senden.

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
added vulnerabilities.first_found Das Feld added wird in einen Zeitstempel umgewandelt und vulnerabilities.first_found zugeordnet.
Authentication security_result.detection_fields.value Der Wert von Authentication aus dem Rohlog wird dem Feld value in security_result.detection_fields zugeordnet. Der entsprechende key ist auf „Authentifizierung“ festgelegt.
critical_vulnerabilities asset.attribute.labels.value Der Wert von critical_vulnerabilities wird dem Feld value in asset.attribute.labels zugeordnet. Der entsprechende key ist auf „Kritische Sicherheitslücken“ festgelegt.
cves vulnerabilities.cve_id Der Wert von cves wird vulnerabilities.cve_id zugeordnet.
cvss_v2_access_complexity asset.attribute.labels.value Der Wert von cvss_v2_access_complexity wird dem Feld value in asset.attribute.labels zugeordnet. Der entsprechende key ist auf „Access Complexity(Ac)“ festgelegt.
cvss_v2_availability_impact asset.attribute.labels.value Der Wert von cvss_v2_availability_impact wird dem Feld value in asset.attribute.labels zugeordnet. Der entsprechende key ist auf „Auswirkungen auf die Verfügbarkeit (A)“ festgelegt.
cvss_v2_confidentiality_impact asset.attribute.labels.value Der Wert von cvss_v2_confidentiality_impact wird dem Feld value in asset.attribute.labels zugeordnet. Der entsprechende key ist auf „Confidentiality Impact (C)“ festgelegt.
cvss_v2_integrity_impact asset.attribute.labels.value Der Wert von cvss_v2_integrity_impact wird dem Feld value in asset.attribute.labels zugeordnet. Der entsprechende key ist auf „Auswirkungen auf die Integrität (I)“ festgelegt.
cvss_v2_score vulnerabilities.cvss_base_score Der Wert von cvss_v2_score wird in einen String und dann in eine Gleitkommazahl konvertiert und vulnerabilities.cvss_base_score zugeordnet.
cvss_v2_vector vulnerabilities.cvss_vector Der Wert von cvss_v2_vector wird vulnerabilities.cvss_vector zugeordnet.
cvss_v3_availability_impact asset.attribute.labels.value Der Wert von cvss_v3_availability_impact wird dem Feld value in asset.attribute.labels zugeordnet. Der entsprechende key ist auf „Auswirkungen auf die Verfügbarkeit (A)“ festgelegt.
cvss_v3_score vulnerabilities.cvss_base_score Der Wert von cvss_v3_score wird in einen String und dann in eine Gleitkommazahl konvertiert und vulnerabilities.cvss_base_score zugeordnet.
cvss_v3_vector vulnerabilities.cvss_vector Der Wert von cvss_v3_vector wird vulnerabilities.cvss_vector zugeordnet.
description vulnerabilities.description Der Wert von description aus dem Rohlog wird vulnerabilities.description zugeordnet.
exploits asset.attribute.labels.value Der Wert von exploits wird in einen String konvertiert und dem Feld value in asset.attribute.labels zugeordnet. Der entsprechende key ist entweder „Anzahl der Exploits“ oder „Rang des Exploits“, je nachdem, ob das Feld „rank“ im Objekt exploits vorhanden ist.
host_name asset.hostname Der Wert von host_name wird asset.hostname zugeordnet. Wenn host_name leer ist und sowohl ip als auch mac leer sind, wird stattdessen der Wert von id verwendet.
id asset.product_object_id Der Wert von id wird asset.product_object_id zugeordnet. Wenn host_name leer ist und sowohl ip als auch mac leer sind, wird der Wert von id für asset.hostname verwendet.
ip asset.ip, entity.asset.ip Der Wert von ip wird sowohl asset.ip als auch entity.asset.ip zugeordnet.
last_assessed_for_vulnerabilities vulnerabilities.scan_end_time Das Feld last_assessed_for_vulnerabilities wird in einen Zeitstempel umgewandelt und vulnerabilities.scan_end_time zugeordnet.
last_scan_end vulnerabilities.last_found Das Feld last_scan_end wird in einen Zeitstempel umgewandelt und vulnerabilities.last_found zugeordnet.
last_scan_start vulnerabilities.first_found Das Feld last_scan_start wird in einen Zeitstempel umgewandelt und vulnerabilities.first_found zugeordnet.
links vulnerabilities.cve_id, vulnerabilities.vendor_knowledge_base_article_id Das Feld id in links wird vulnerabilities.cve_id zugeordnet und das Feld href in links wird vulnerabilities.vendor_knowledge_base_article_id zugeordnet.
mac asset.mac, entity.asset.mac Der Wert von mac wird in Kleinbuchstaben umgewandelt und sowohl asset.mac als auch entity.asset.mac zugeordnet.
MessageSourceAddress principal.ip, principal.asset.ip Die aus MessageSourceAddress extrahierte IP-Adresse wird principal.ip und principal.asset.ip zugeordnet.
Method network.http.method Der Wert von Method wird network.http.method zugeordnet.
moderate_vulnerabilities asset.attribute.labels.value Der Wert von moderate_vulnerabilities wird in einen String konvertiert und dem Feld value in asset.attribute.labels zugeordnet. Der entsprechende key ist auf „Moderate Sicherheitslücken“ festgelegt.
os_architecture asset.hardware.cpu_platform Der Wert von os_architecture wird asset.hardware.cpu_platform zugeordnet.
os_description asset.platform_software.platform_version Der Wert von os_description wird asset.platform_software.platform_version zugeordnet.
os_family asset.platform_software.platform Der Wert von os_family wird in Großbuchstaben umgewandelt und asset.platform_software.platform zugeordnet. „MAC OS X“, „IOS“, „WINDOWS“, „MAC“ und „LINUX“ werden speziell behandelt. Wenn sie mit keiner dieser Plattformen übereinstimmt, wird sie auf „UNKNOWN_PLATFORM“ gesetzt.
Port principal.port Der Wert von Port wird principal.port zugeordnet und in eine Ganzzahl umgewandelt.
Principal principal.user.email_addresses Wenn Principal eine E‑Mail-Adresse ist, wird sie principal.user.email_addresses zugeordnet.
product_event_type metadata.product_event_type Der Wert von product_event_type wird metadata.product_event_type zugeordnet.
Protocol network.application_protocol Wenn Protocol „HTTP“ oder „HTTPS“ ist, wird es network.application_protocol zugeordnet.
published vulnerabilities.last_found Das Feld published wird in einen Zeitstempel umgewandelt und vulnerabilities.last_found zugeordnet.
Referer network.http.referral_url Der Wert von Referer wird network.http.referral_url zugeordnet.
risk_score asset.attribute.labels.value Der Wert von risk_score wird in einen String konvertiert und dem Feld value in asset.attribute.labels zugeordnet. Der entsprechende key ist auf „Risikobewertung“ festgelegt.
security_result_summary security_result.summary Der Wert von security_result_summary wird security_result.summary zugeordnet. Wenn sie dem Muster „Total sessions for principal: “ entspricht, wird die Zahl extrahiert und einem separaten Label mit dem Schlüssel „Session Count“ in security_result.detection_fields zugeordnet.
Session network.session_id Der Wert von Session wird network.session_id zugeordnet.
severe_vulnerabilities asset.attribute.labels.value Der Wert von severe_vulnerabilities wird in einen String konvertiert und dem Feld value in asset.attribute.labels zugeordnet. Der entsprechende key ist auf „Schwere Sicherheitslücken“ festgelegt.
severity vulnerabilities.severity, security_result.severity Der Wert von severity wird in Großbuchstaben umgewandelt. Wenn der Wert „HIGH“, „LOW“, „CRITICAL“ oder „MEDIUM“ ist, wird er vulnerabilities.severity zugeordnet. Bei Syslog-Nachrichten wird „Info“ in security_result.severity zu „INFORMATIONAL“ zugeordnet. Wenn es „Error“ ist, wird es in security_result.severity „ERROR“ zugeordnet.
severity_score asset.attribute.labels.value Der Wert von severity_score wird in einen String konvertiert und dem Feld value in asset.attribute.labels zugeordnet. Der entsprechende key wird auf „Schweregrad“ gesetzt.
SiloID security_result.detection_fields.value Der Wert von SiloID wird dem Feld value in security_result.detection_fields zugeordnet. Die entsprechende key ist auf „Silo-ID“ festgelegt.
SourceModuleName target.resource.name Der Wert von SourceModuleName ohne Anführungszeichen wird target.resource.name zugeordnet.
SourceModuleType observer.application Der Wert von SourceModuleType ohne Anführungszeichen und schließende Klammern wird observer.application zugeordnet.
Status network.http.response_code Der Wert von Status wird network.http.response_code zugeordnet und in eine Ganzzahl umgewandelt.
tags asset.attribute.labels Für jedes Element im tags-Array wird das Feld type dem Feld key und das Feld name dem Feld value innerhalb von asset.attribute.labels zugeordnet.
Thread security_result.detection_fields.value Der Wert von Thread wird dem Feld value in security_result.detection_fields zugeordnet. Der entsprechende key ist auf „Thread“ festgelegt.
timestamp event.timestamp, metadata.collected_timestamp, read_only_udm.metadata.event_timestamp Das Feld timestamp wird in einen Zeitstempel konvertiert und bei JSON-Logs event.timestamp und bei Entitätsereignissen metadata.collected_timestamp zugeordnet. Bei Syslog-Nachrichten wird es read_only_udm.metadata.event_timestamp zugeordnet.
title vulnerabilities.description Der Wert von title wird vulnerabilities.description zugeordnet.
total_vulnerabilities asset.attribute.labels.value Der Wert von total_vulnerabilities wird in einen String konvertiert und dem Feld value in asset.attribute.labels zugeordnet. Der entsprechende key ist auf „Sicherheitslücken insgesamt“ festgelegt.
URI security_result.detection_fields.value Der Wert von URI wird dem Feld value in security_result.detection_fields zugeordnet. Der entsprechende key ist auf „URI“ festgelegt.
User-Agent network.http.user_agent, network.http.parsed_user_agent Der Wert von User-Agent wird network.http.user_agent zugeordnet. Er wird auch network.http.parsed_user_agent zugeordnet und in ein geparstes User-Agent-Objekt konvertiert. Hartcodiert auf „Rapid7 Insight“. Hartcodiert auf „Rapid7 Insight“. Für JSON-Logs hartcodiert auf „ASSET“. Wird anfänglich auf „GENERIC_EVENT“ gesetzt und dann basierend auf anderen Feldern möglicherweise in „PROCESS_UNCATEGORIZED“, „STATUS_UPDATE“ oder „USER_LOGIN“ geändert. Legen Sie für „USER_LOGIN“-Ereignisse „AUTHTYPE_UNSPECIFIED“ fest. Legen Sie basierend auf product_event_type „ALLOW“ (Zulassen) oder „BLOCK“ (Blockieren) fest. Für Syslog-Nachrichten hartcodiert auf „RAPID7_INSIGHT“.
username principal.user.user_display_name Der Wert von username wird ohne Anführungszeichen und möglicherweise nach E-Mail-Adressen geparst principal.user.user_display_name zugeordnet. Die extrahierte E-Mail-Adresse wird, falls vorhanden, principal.user.email_addresses zugeordnet.

Änderungsprotokoll

Änderungsprotokoll für diesen Parser ansehen

Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten