Rapid7 InsightIDR-Logs erfassen
Dieser Parser verarbeitet sowohl JSON- als auch SYSLOG-formatierte Logs von Rapid7 InsightIDR. Es werden Felder extrahiert, für das UDM normalisiert und eine spezifische Logik für Sicherheitslückendaten ausgeführt, einschließlich CVSS-Bewertungen und Informationen zu Exploits. Dabei werden sowohl JSON- als auch Syslog-Formate separat verarbeitet. Außerdem werden Authentifizierungsversuche und Sitzungsereignisse den entsprechenden UDM-Ereignistypen zugeordnet.
Hinweise
Prüfen Sie, ob die folgenden Voraussetzungen erfüllt sind:
- Google SecOps-Instanz.
- Privilegierter Zugriff auf die InsightIDR-Verwaltungskonsole.
API-Schlüssel in Rapid7 InsightIDR konfigurieren
- Melden Sie sich in der InsightIDR Command Platform an.
- Klicken Sie auf Verwaltung.
- Klicken Sie auf API-Schlüssel.
- Rufen Sie den Tab Organisationsschlüssel auf.
- Klicken Sie auf New Organization Key (Neuer Organisationsschlüssel).
- Wählen Sie eine Organisation aus und geben Sie einen Namen für den Schlüssel an, z. B. Google SecOps.
- Erstellen Sie den Schlüssel.
Kopieren Sie den Schlüssel aus einem neuen Fenster, in dem der generierte Schlüssel angezeigt wird.
Feeds einrichten
So konfigurieren Sie einen Feed:
- Rufen Sie die SIEM-Einstellungen > Feeds auf.
- Klicken Sie auf Neuen Feed hinzufügen.
- Klicken Sie auf der nächsten Seite auf Einen einzelnen Feed konfigurieren.
- Geben Sie im Feld Feed name (Feedname) einen Namen für den Feed ein, z. B. Rapid7 InsightIDR Logs.
- Wählen Sie Drittanbieter-API als Quelltyp aus.
- Wählen Sie Rapid7 Insight als Log type (Protokolltyp) aus.
- Klicken Sie auf Weiter.
- Geben Sie Werte für die folgenden Eingabeparameter an:
- HTTP-Header für die Authentifizierung: Token, das zuvor im
X-Api-Key:<value>
-Format generiert wurde (z. B. X-Api-Key:AAAABBBBCCCC111122223333). - API-Endpunkt: Geben Sie vulnerabilities oder assets ein.
- API-Hostname: Der FQDN (vollständig qualifizierte Domainname) des Rapid7-API-Endpunkt im Format
[region].api.insight.rapid7.com
.
- HTTP-Header für die Authentifizierung: Token, das zuvor im
- Klicken Sie auf Weiter.
- Prüfen Sie die Feedkonfiguration auf dem Bildschirm Finalize (Abschließen) und klicken Sie dann auf Submit (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. Die entsprechende key ist auf „Authentifizierung“ gesetzt. |
critical_vulnerabilities |
asset.attribute.labels.value |
Der Wert von critical_vulnerabilities wird dem Feld value in asset.attribute.labels zugeordnet. Die 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. Die entsprechende key ist auf „Access Complexity(Ac)“ (Zugriffskomplexität) 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. Die entsprechende key ist auf „Availability Impact (A)“ (Auswirkung 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 „Auswirkungen auf die Vertraulichkeit (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. Die entsprechende key ist auf „Integrity Impact (I)“ (Auswirkungen auf die Integrität) 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. Die entsprechende key ist auf „Availability Impact (A)“ (Auswirkung 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 -Wert ist entweder „Number of Exploits“ (Anzahl der Exploits) oder „Rank of Exploit“ (Rang des Exploits), je nachdem, ob das Feld „rank“ im exploits -Objekt 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. Die entsprechende key ist auf „Mittelmäßige Sicherheitslücken“ gesetzt. |
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 keine dieser Plattformen zutrifft, wird „UNKNOWN_PLATFORM“ festgelegt. |
Port |
principal.port |
Der Wert von Port wird principal.port zugeordnet und in eine Ganzzahl konvertiert. |
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: security_result.detection_fields |
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 „Schwerwiegende Sicherheitslücken“ gesetzt. |
severity |
vulnerabilities.severity , security_result.severity |
Der Wert von severity wird in Großbuchstaben umgewandelt. Wenn es „HIGH“, „LOW“, „CRITICAL“ oder „MEDIUM“ ist, wird es vulnerabilities.severity zugeordnet. Bei Syslog-Nachrichten wird „Info“ in security_result.severity als „INFORMATIONAL“ zugeordnet. Wenn es „Error“ ist, wird es in security_result.severity auf „ERROR“ abgebildet. |
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. Die entsprechende key ist auf „Severity Score“ (Schweregradwert) festgelegt. |
SiloID |
security_result.detection_fields.value |
Der Wert von SiloID wird dem Feld value in security_result.detection_fields zugeordnet. Der 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 konvertiert. |
tags |
asset.attribute.labels |
Für jedes Element im tags -Array wird das Feld type in asset.attribute.labels dem Feld key und das Feld name dem Feld value 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“ gesetzt. |
timestamp |
event.timestamp , metadata.collected_timestamp , read_only_udm.metadata.event_timestamp |
Das Feld timestamp wird in einen Zeitstempel umgewandelt und für JSON-Logs event.timestamp und für Entitätsereignisse metadata.collected_timestamp zugeordnet. Für Syslog-Nachrichten wird sie 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. Die entsprechende key ist auf „Total Vulnerabilities“ (Gesamtzahl der Sicherheitslücken) 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“ gesetzt. |
User-Agent |
network.http.user_agent , network.http.parsed_user_agent |
Der Wert von User-Agent wird network.http.user_agent zugeordnet. Es wird auch network.http.parsed_user_agent zugeordnet und in ein geparstes User-Agent-Objekt konvertiert. Fest codiert auf „Rapid7 Insight“. Fest codiert auf „Rapid7 Insight“. Für JSON-Logs ist „ASSET“ fest codiert. Wird anfangs auf „GENERIC_EVENT“ festgelegt und dann basierend auf anderen Feldern möglicherweise in „PROCESS_UNCATEGORIZED“, „STATUS_UPDATE“ oder „USER_LOGIN“ geändert. Für „USER_LOGIN“-Ereignisse auf „AUTHTYPE_UNSPECIFIED“ festlegen. Legen Sie basierend auf product_event_type „ALLOW“ oder „BLOCK“ fest. Für Syslog-Nachrichten fest auf „RAPID7_INSIGHT“ codiert. |
username |
principal.user.user_display_name |
Der Wert von username , wobei Anführungszeichen entfernt und E-Mail-Adressen möglicherweise geparst werden, wird principal.user.user_display_name zugeordnet. Die extrahierte E-Mail-Adresse wird, sofern vorhanden, principal.user.email_addresses zugeordnet. |
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten