Netskope-Benachrichtigungslogs v1 erfassen
Übersicht
Dieser Parser extrahiert Netskope-Warnungslogs aus JSON-formatierten Nachrichten und wandelt sie in das UDM von Google Security Operations um. Sie normalisiert Felder, parst Zeitstempel, verarbeitet Benachrichtigungen und Schweregrade, extrahiert Netzwerkinformationen (IPs, Ports, Protokolle), reichert Nutzer- und Dateidaten an und ordnet Felder der UDM-Struktur zu. Der Parser verarbeitet auch bestimmte Netskope-Aktivitäten wie Logins und DLP-Ereignisse und fügt benutzerdefinierte Labels für zusätzlichen Kontext hinzu.
Hinweise
Prüfen Sie, ob die folgenden Voraussetzungen erfüllt sind:
- Google SecOps-Instanz.
- Privilegierter Zugriff auf Netskope.
Netskope REST API-Zugriff aktivieren
- Melden Sie sich mit Ihren Administratoranmeldedaten im Netskope-Mandanten an.
- Rufen Sie die Einstellungen > Tools > REST API v1 auf.
- Erstellen Sie einen neuen API-Schlüssel speziell für Google SecOps.
- Geben Sie einen aussagekräftigen Namen an, z. B. Google SecOps Key.
- Kopieren und speichern Sie den generierten Schlüssel und das Secret.
Feeds einrichten
Es gibt zwei verschiedene Einstiegspunkte zum Einrichten von Feeds in der Google SecOps-Plattform:
- SIEM-Einstellungen > Feeds
- Content Hub> Content-Pakete
Feeds über „SIEM-Einstellungen“ > „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. Netskope Alert Logs (Netskope-Benachrichtigungsprotokolle).
- Wählen Sie Drittanbieter-API als Quelltyp aus.
- Wählen Sie Netskope als Logtyp aus.
- Klicken Sie auf Weiter.
- Geben Sie Werte für die folgenden Eingabeparameter an:
- Authentifizierungs-HTTP-Header:Schlüsselpaar, das zuvor im
<key>:<secret>
-Format generiert wurde und zur Authentifizierung bei der Netskope API verwendet wird. - API-Hostname:Der FQDN (Fully Qualified Domain Name) Ihres Netskope REST API-Endpunkt, z. B.
myinstance.goskope.com
. - API-Endpunkt:Geben Sie alerts ein.
- Inhaltstyp:Geben Sie all ein.
- Authentifizierungs-HTTP-Header:Schlüsselpaar, 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).
Feeds über den Content Hub einrichten
Geben Sie Werte für die folgenden Felder an:
- Authentifizierungs-HTTP-Header:Schlüsselpaar, das zuvor im
<key>:<secret>
-Format generiert wurde und zur Authentifizierung bei der Netskope API verwendet wird. - API-Hostname:Der FQDN (Fully Qualified Domain Name) Ihres Netskope REST API-Endpunkt, z. B.
myinstance.goskope.com
. - API-Endpunkt:Geben Sie alerts ein.
- Inhaltstyp:Geben Sie all ein.
Erweiterte Optionen
- Feedname: Ein vorausgefüllter Wert, der den Feed identifiziert.
- Quelltyp: Methode, die zum Erfassen von Logs in Google SecOps verwendet wird.
- Asset-Namespace: Der Namespace, der dem Feed zugeordnet ist.
- Aufnahmelabels: Labels, die auf alle Ereignisse aus diesem Feed angewendet werden.
Optional: Feedkonfiguration zum Erfassen von Netskope-Ereignisprotokollen hinzufügen
- Rufen Sie die SIEM-Einstellungen > Feeds auf.
- Klicken Sie auf Neu hinzufügen.
- Geben Sie im Feld Feedname einen Namen für den Feed ein, z. B. Netskope Event Logs (Netskope-Ereignisprotokolle).
- Wählen Sie Drittanbieter-API als Quelltyp aus.
- Wählen Sie Netskope als Logtyp aus.
- Klicken Sie auf Weiter.
- Geben Sie Werte für die folgenden Eingabeparameter an:
- Authentifizierungs-HTTP-Header:Schlüsselpaar, das zuvor im
<key>:<secret>
-Format generiert wurde und zur Authentifizierung bei der Netskope API verwendet wird. - API-Hostname:Der FQDN (Fully Qualified Domain Name) Ihres Netskope REST API-Endpunkt, z. B.
myinstance.goskope.com
. - API-Endpunkt:Geben Sie events ein.
- Inhaltstyp:Geben Sie page, application, audit, infrastructure oder network ein, je nachdem, welche Ereignisse Sie parsen möchten.
- Asset-Namespace: der Asset-Namespace.
- Aufnahmelabels: Das Label, das auf die Ereignisse aus diesem Feed angewendet wird.
- Authentifizierungs-HTTP-Header:Schlüsselpaar, 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 |
---|---|---|
access_method |
extensions.auth.auth_details |
Direkt aus dem Feld access_method zugeordnet. |
action |
security_result.action |
Direkt aus dem Feld action zugeordnet oder auf QUARANTINE festgelegt, wenn action „alert“ oder „bypass“ ist. ALLOW , wenn action zulässig ist. BLOCK , wenn action blockiert ist. |
action |
security_result.action_details |
Wird aus dem Feld action zugeordnet, wenn es „alert“ oder „bypass“ ist. |
activity |
security_result.description |
Direkt aus dem Feld activity zugeordnet. |
alert |
is_alert |
Wird auf true gesetzt, wenn alert „yes“ ist, andernfalls auf false . |
alert_name |
- | Nicht dem IDM-Objekt zugeordnet. |
alert_type |
security_result.category_details |
Direkt aus dem Feld alert_type zugeordnet. |
app |
target.application |
Direkt aus dem Feld app zugeordnet. |
app_activity |
additional.fields {key:"app_activity", value:{string_value: |
Direkt aus dem Feld app_activity als Schlüssel/Wert-Paar in additional.fields zugeordnet. |
app_session_id |
target.resource.attribute.labels {key:"App Session Id", value: |
Aus dem Feld message mit grok extrahiert und als Label hinzugefügt. |
appcategory |
security_result.category_details |
Direkt aus dem Feld appcategory zugeordnet, wenn category leer ist. |
browser |
network.http.user_agent |
Direkt aus dem Feld browser zugeordnet, sofern nicht „unbekannt“. |
browser_version |
network.http.parsed_user_agent.browser_version |
Direkt aus dem Feld browser_version zugeordnet. |
browser_version |
network.http.parsed_user_agent.family |
Wird auf „USER_DEFINED“ gesetzt, wenn browser_version vorhanden ist. |
category |
security_result.category_details |
Direkt aus dem Feld category zugeordnet. |
cci |
security_result.detection_fields {key:"cci", value: |
Direkt aus dem Feld cci als Schlüssel/Wert-Paar in detection_fields zugeordnet. |
ccl |
security_result.confidence |
Wird basierend auf dem Wert von ccl festgelegt: „schlecht“ oder „niedrig“ wird LOW_CONFIDENCE zugeordnet, „mittel“ MEDIUM_CONFIDENCE und „hoch“ oder „ausgezeichnet“ HIGH_CONFIDENCE . |
ccl |
security_result.confidence_details |
Direkt aus dem Feld ccl zugeordnet. |
client_bytes |
network.sent_bytes |
Direkt aus dem Feld client_bytes abgeleitet, nachdem es in eine vorzeichenlose Ganzzahl konvertiert wurde. |
count |
additional.fields {key:"count", value:{string_value: |
Direkt aus dem Feld count als Schlüssel/Wert-Paar in additional.fields zugeordnet. |
device |
principal.resource.resource_subtype |
Direkt aus dem Feld device zugeordnet. |
device |
principal.resource.type |
Wird auf „DEVICE“ gesetzt, wenn das Feld device vorhanden ist. |
dlp_file |
target.file.full_path |
Direkt aus dem Feld dlp_file , falls vorhanden, ansonsten aus file_path . |
dlp_profile |
security_result.rule_type |
Direkt aus dem Feld dlp_profile zugeordnet. |
dlp_rule |
security_result.rule_name |
Direkt aus dem Feld dlp_rule zugeordnet. |
dlp_rule_severity |
security_result.severity |
Direkt aus dem Feld dlp_rule_severity zugeordnet, wenn alert_type DLP ist. |
dlp_rule_severity |
_severity |
Wird aus dem Feld dlp_rule_severity zugeordnet, wenn severity leer ist. |
domain |
target.asset.hostname |
Direkt aus dem Feld domain zugeordnet. |
domain |
target.hostname |
Direkt aus dem Feld domain zugeordnet. |
dsthost |
target.asset.hostname |
Wird direkt aus dem Feld dsthost zugeordnet, wenn es sich nicht um eine IP-Adresse handelt und dstip leer ist. Andernfalls wird es target.hostname zugeordnet. |
dsthost |
target.hostname |
Direkt aus dem Feld dsthost zugeordnet, wenn es sich nicht um eine IP-Adresse handelt und dstip nicht leer ist. |
dstip |
target.asset.ip |
Direkt aus dem Feld dstip zugeordnet. |
dstip |
target.ip |
Direkt aus dem Feld dstip zugeordnet. |
dstport |
target.port |
Direkt aus dem Feld dstport zugeordnet, nachdem es in eine Ganzzahl konvertiert wurde. |
dst_country |
target.location.country_or_region |
Direkt aus dem Feld dst_country zugeordnet. |
dst_location |
target.location.city |
Direkt aus dem Feld dst_location zugeordnet. |
dst_region |
target.location.name |
Direkt aus dem Feld dst_region zugeordnet. |
file_path |
target.file.full_path |
Direkt aus dem Feld file_path zugeordnet, wenn dlp_file leer ist. |
file_size |
target.file.size |
Direkt aus dem Feld file_size abgeleitet, nachdem es in eine vorzeichenlose Ganzzahl konvertiert wurde. |
file_type |
target.file.mime_type |
Direkt aus dem Feld file_type zugeordnet, sofern nicht „Unbekannt“. |
from_user |
network.email.from |
Direkt aus dem Feld from_user zugeordnet, wenn es sich um eine E‑Mail-Adresse handelt. |
from_user_category |
principal.resource.attribute.labels {key:"From User Category", value: |
Direkt aus dem Feld from_user_category als Schlüssel/Wert-Paar in principal.resource.attribute.labels zugeordnet. |
hostname |
principal.asset.hostname |
Direkt aus dem Feld hostname zugeordnet, sofern es nicht leer ist, andernfalls aus instance_id . |
hostname |
principal.hostname |
Direkt aus dem Feld hostname zugeordnet, sofern es nicht leer ist, andernfalls aus instance_id . |
id.time |
metadata.event_timestamp |
Geparsed und „event_timestamp“ in Metadaten zugeordnet. |
instance_id |
principal.asset.hostname |
Direkt aus dem Feld instance_id zugeordnet, wenn hostname leer ist. |
instance_id |
principal.hostname |
Direkt aus dem Feld instance_id zugeordnet, wenn hostname leer ist. |
intermediary |
intermediary |
Direkt aus dem Feld intermediary zugeordnet. |
ip_protocol |
network.ip_protocol |
Wird aus dem Feld ip_protocol zugeordnet, nachdem es von der Datei parse_ip_protocol.include geparst wurde. |
ja3 |
network.tls.client.ja3 |
Direkt aus dem Feld ja3 zugeordnet, wenn es einem hexadezimalen Muster entspricht. |
ja3s |
network.tls.server.ja3s |
Direkt aus dem Feld ja3s zugeordnet, wenn es einem hexadezimalen Muster entspricht. |
malware_id |
security_result.threat_id |
Direkt aus dem Feld malware_id zugeordnet. |
malware_name |
security_result.threat_name |
Direkt aus dem Feld malware_name zugeordnet. |
malware_severity |
security_result.severity |
Direkt aus dem Feld malware_severity zugeordnet, nachdem es in Großbuchstaben konvertiert wurde. |
malware_type |
security_result.detection_fields {key:"Malware Type", value: |
Direkt aus dem Feld malware_type als Schlüssel/Wert-Paar in detection_fields zugeordnet. |
matched_username |
principal.user.email_addresses |
Direkt aus dem Feld matched_username zugeordnet, wenn es sich um eine E‑Mail-Adresse handelt. |
md5 |
target.file.md5 |
Direkt aus dem Feld md5 zugeordnet, wenn es nicht leer oder „Nicht verfügbar“ ist. |
metadata.event_type |
metadata.event_type |
Anfangs auf „GENERIC_EVENT“ festgelegt, wird dann möglicherweise basierend auf anderen Feldern überschrieben. Legen Sie NETWORK_HTTP fest, wenn srcip oder hostname und dstip oder dsthost oder domain vorhanden sind. Wird auf STATUS_UPDATE gesetzt, wenn srcip oder hostname vorhanden sind, aber nicht dstip , dsthost oder domain . Wird auf USER_UNCATEGORIZED gesetzt, wenn user vorhanden ist. Wird auf EMAIL_UNCATEGORIZED gesetzt, wenn activity „Introspection Scan“ ist und shared_with oder from_user vorhanden sind. Auf USER_LOGIN festgelegt, wenn activity „Login Failed“, „Login Successful“ oder „Login Attempt“ ist. |
metadata.log_type |
metadata.log_type |
Legen Sie diesen Wert auf „NETSKOPE_ALERT“ fest. |
metadata.product_log_id |
metadata.product_log_id |
Direkt aus dem Feld _id zugeordnet. |
metadata.product_name |
metadata.product_name |
Auf „Netskope Alert“ festlegen. |
metadata.vendor_name |
metadata.vendor_name |
Legen Sie diesen Wert auf „Netskope“ fest. |
netskope_pop |
observer.hostname |
Direkt aus dem Feld netskope_pop zugeordnet. |
object |
additional.fields {key:"Object", value:{string_value: |
Direkt aus dem Feld object als Schlüssel/Wert-Paar in additional.fields zugeordnet. |
object_id |
additional.fields {key:"Object id", value:{string_value: |
Direkt aus dem Feld object_id als Schlüssel/Wert-Paar in additional.fields zugeordnet. |
object_type |
additional.fields {key:"Object type", value:{string_value: |
Direkt aus dem Feld object_type als Schlüssel/Wert-Paar in additional.fields zugeordnet. |
organization_unit |
principal.administrative_domain |
Direkt aus dem Feld organization_unit zugeordnet. |
os |
principal.platform |
Zugeordnet aus dem Feld os : „Windows“ wird WINDOWS zugeordnet, „MAC“ MAC und „LINUX“ LINUX . |
os_version |
principal.platform_version |
Direkt aus dem Feld os_version zugeordnet. |
other_categories |
- | Nicht dem IDM-Objekt zugeordnet. |
page |
network.http.referral_url |
Direkt aus dem Feld page zugeordnet, wenn referer leer ist. |
policy |
security_result.summary |
Direkt aus dem Feld policy zugeordnet. |
principal.user.email_addresses |
principal.user.email_addresses |
Wird aus dem Feld user zusammengeführt, wenn es sich um eine E-Mail-Adresse handelt. |
protocol |
network.application_protocol |
Direkt aus dem Feld protocol abgeleitet, nachdem alles nach dem ersten „/“ entfernt wurde. In Großbuchstaben konvertiert. |
publisher_cn |
additional.fields {key:"publisher_cn", value:{string_value: |
Direkt aus dem Feld publisher_cn als Schlüssel/Wert-Paar in additional.fields zugeordnet. |
publisher_name |
additional.fields {key:"publisher_name", value:{string_value: |
Direkt aus dem Feld publisher_name als Schlüssel/Wert-Paar in additional.fields zugeordnet. |
referer |
network.http.referral_url |
Direkt aus dem Feld referer zugeordnet. |
security_result.alert_state |
security_result.alert_state |
Auf „ALERTING“ gesetzt, wenn alert „yes“ ist, auf „NOT_ALERTING“, wenn alert „no“ ist, und auf „UNSPECIFIED“, wenn keine der beiden Bedingungen zutrifft. |
security_result.category_details |
security_result.category_details |
Zusammengeführt aus den Feldern category , appcategory oder alert_type . |
security_result.confidence |
security_result.confidence |
Abgeleitet aus dem Feld ccl . |
security_result.confidence_details |
security_result.confidence_details |
Direkt aus dem Feld ccl zugeordnet. |
security_result.description |
security_result.description |
Direkt aus dem Feld activity zugeordnet. |
security_result.rule_name |
security_result.rule_name |
Direkt aus dem Feld dlp_rule zugeordnet. |
security_result.rule_type |
security_result.rule_type |
Direkt aus dem Feld dlp_profile zugeordnet. |
security_result.severity |
security_result.severity |
Abgeleitet aus den Feldern _severity , malware_severity oder dlp_rule_severity . |
security_result.summary |
security_result.summary |
Direkt aus dem Feld policy zugeordnet. |
security_result.threat_id |
security_result.threat_id |
Direkt aus dem Feld malware_id zugeordnet. |
security_result.threat_name |
security_result.threat_name |
Direkt aus dem Feld malware_name zugeordnet. |
server_bytes |
network.received_bytes |
Direkt aus dem Feld server_bytes abgeleitet, nachdem es in eine vorzeichenlose Ganzzahl konvertiert wurde. |
severity |
_severity |
Direkt aus dem Feld severity zugeordnet. |
sha256 |
target.file.sha256 |
Direkt aus dem Feld sha256 zugeordnet. |
shared_with |
network.email.to |
Wird aus dem Feld shared_with geparst und dem Array network.email.to hinzugefügt, wenn es sich um eine E-Mail-Adresse handelt. |
site |
additional.fields {key:"site", value:{string_value: |
Direkt aus dem Feld site als Schlüssel/Wert-Paar in additional.fields zugeordnet. |
src_country |
principal.location.country_or_region |
Direkt aus dem Feld src_country zugeordnet. |
src_latitude |
principal.location.region_latitude |
Direkt aus dem Feld src_latitude zugeordnet. |
src_location |
principal.location.city |
Direkt aus dem Feld src_location zugeordnet. |
src_longitude |
principal.location.region_longitude |
Direkt aus dem Feld src_longitude zugeordnet. |
src_region |
principal.location.name |
Direkt aus dem Feld src_region zugeordnet. |
srcip |
principal.asset.ip |
Aus dem Feld srcip extrahiert, indem grok verwendet wird, und in die Arrays principal.asset.ip und principal.ip zusammengeführt. |
srcip |
principal.ip |
Aus dem Feld srcip extrahiert, indem grok verwendet wird, und in die Arrays principal.asset.ip und principal.ip zusammengeführt. |
srcport |
principal.port |
Direkt aus dem Feld srcport zugeordnet, nachdem es in eine Ganzzahl konvertiert wurde. |
target.user.email_addresses |
target.user.email_addresses |
Wird aus dem Feld to_user zusammengeführt, wenn es sich um eine E-Mail-Adresse handelt. |
threat_match_field |
security_result.detection_fields {key:"Threat Match Field", value: |
Direkt aus dem Feld threat_match_field als Schlüssel/Wert-Paar in detection_fields zugeordnet. |
timestamp |
metadata.event_timestamp |
Aus den Feldern timestamp oder id.time geparst. |
to_user |
target.user.email_addresses |
Wird aus dem Feld to_user geparst und dem Array target.user.email_addresses hinzugefügt, wenn es sich um eine E-Mail-Adresse handelt. |
to_user_category |
target.resource.attribute.labels {key:"To User Category", value: |
Direkt aus dem Feld to_user_category als Schlüssel/Wert-Paar in target.resource.attribute.labels zugeordnet. |
traffic_type |
security_result.detection_fields {key:"traffic_type", value: |
Direkt aus dem Feld traffic_type als Schlüssel/Wert-Paar in detection_fields zugeordnet. |
tunnel_id |
additional.fields {key:"tunnel_id", value:{string_value: |
Direkt aus dem Feld tunnel_id als Schlüssel/Wert-Paar in additional.fields zugeordnet. |
tunnel_type |
additional.fields {key:"tunnel_type", value:{string_value: |
Direkt aus dem Feld tunnel_type als Schlüssel/Wert-Paar in additional.fields zugeordnet. |
type |
security_result.detection_fields {key:"type", value: |
Direkt aus dem Feld type als Schlüssel/Wert-Paar in detection_fields zugeordnet. |
ur_normalized |
- | Nicht dem IDM-Objekt zugeordnet. |
url |
target.url |
Direkt aus dem Feld url zugeordnet. |
user |
event.idm.read_only_udm.principal.user.userid |
Direkt aus dem Feld user zugeordnet. |
user |
principal.user.email_addresses |
Direkt aus dem Feld user zugeordnet, wenn es sich um eine E‑Mail-Adresse handelt. |
useragent |
network.http.user_agent |
Direkt aus dem Feld useragent zugeordnet. |
useragent |
network.http.parsed_user_agent |
In „parseduseragent“ konvertiert und network.http.parsed_user_agent zugeordnet. |
user_agent |
network.http.user_agent |
Direkt aus dem Feld user_agent zugeordnet. |
user_agent |
network.http.parsed_user_agent |
In „parseduseragent“ konvertiert und network.http.parsed_user_agent zugeordnet. |
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten