Dope Security SWG-Logs erfassen
In diesem Dokument wird beschrieben, wie Sie Dope Security SWG-Logs mit Amazon S3 in Google Security Operations aufnehmen.
Dope Security dope.swg ist ein endpunktbasiertes Secure Web Gateway, das Webfilterung in Echtzeit, Malware-Schutz und Cloud-Anwendungssteuerung bietet. Jeder dope.endpoint sendet alle 15 Minuten Webtransaktionslogs an die dope.cloud. Diese werden dann automatisch im komprimierten GZIP-JSONL-Format in Ihren AWS S3-Bucket exportiert, um in SIEM integriert zu werden.
Hinweise
Prüfen Sie, ob folgende Voraussetzungen erfüllt sind:
- Eine Google SecOps-Instanz
- Privilegierter Zugriff auf Dope Security dope.console
- Privilegierter Zugriff auf AWS (S3, IAM)
- Ihr Dope Security-Mandant muss sich in derselben AWS-Region wie Ihr S3-Bucket befinden. Überprüfen Sie die Region auf der Seite Einstellungen > SIEM.
Dope Security-SIEM-Integration konfigurieren
So konfigurieren Sie die Dope Security SIEM-Integration:
- Melden Sie sich unter https://console.dope.security in der dope.console an.
- Rufen Sie die Einstellungen > SIEM > SIEM-Integrationseinstellungen auf.
- Wählen Sie in der Liste SIEM Type (SIEM-Typ) die Option AWS S3 aus.
Notieren Sie sich die AWS-Region, die rechts auf der Seite angezeigt wird (z. B. US-EAST-2).
Lassen Sie diese Seite geöffnet, da Sie nach der Einrichtung von AWS S3 zurückkehren, um die Konfiguration abzuschließen.
AWS S3-Bucket und IAM für Google SecOps konfigurieren
- Erstellen Sie einen Amazon S3-Bucket. Weitere Informationen finden Sie unter Bucket erstellen.
- Achten Sie beim Erstellen des Buckets darauf, dass die Region mit der Region auf der Seite „Dope Security SIEM Integration“ übereinstimmt (z. B. US East (Ohio) us-east-2).
Speichern Sie den Namen des Buckets zur späteren Verwendung (z. B.
chronicle-dope-swg-logs).Erstellen Sie einen Nutzer. Weitere Informationen finden Sie unter IAM-Nutzer erstellen.
Wählen Sie den von Ihnen erstellten Nutzer aus.
Wählen Sie den Tab Sicherheitsanmeldedaten aus.
Klicken Sie im Abschnitt Zugriffsschlüssel auf Zugriffsschlüssel erstellen.
Wählen Sie Drittanbieterdienst als Anwendungsfall aus.
Klicken Sie auf Weiter.
Optional: Fügen Sie ein Beschreibungstag hinzu.
Klicken Sie auf Zugriffsschlüssel erstellen.
Klicken Sie auf CSV-Datei herunterladen, um den Access Key (Zugriffsschlüssel) und den Secret Access Key (geheimer Zugriffsschlüssel) für die zukünftige Verwendung zu speichern.
Klicken Sie auf Fertig.
Wählen Sie den Tab Berechtigungen aus.
Klicken Sie im Bereich Berechtigungsrichtlinien auf Berechtigungen hinzufügen.
Wählen Sie Berechtigungen hinzufügen aus.
Wählen Sie Richtlinien direkt anhängen aus.
Suchen Sie nach der Richtlinie AmazonS3FullAccess.
Wählen Sie die Richtlinie aus.
Klicken Sie auf Weiter.
Klicken Sie auf Berechtigungen hinzufügen.
Dope Security Amazon S3-Verbindung konfigurieren
- Kehren Sie zur dope.console auf der Seite Einstellungen > SIEM > SIEM-Integrationseinstellungen zurück.
- Geben Sie im Feld S3 Bucket Name (Name des S3-Buckets) den Namen Ihres S3-Buckets ein, z. B.
chronicle-dope-swg-logs. - Im rechten Bereich sehen Sie den Abschnitt Bucket-Richtlinie mit einer vorab generierten JSON-Richtlinie.
- Klicken Sie neben dem Richtlinien-JSON auf Kopieren, um ihn in die Zwischenablage zu kopieren.
- Rufen Sie in einem neuen Browsertab die AWS S3-Konsole auf.
- Wählen Sie Ihren S3-Bucket aus (z. B.
chronicle-dope-swg-logs). - Rufen Sie den Tab Berechtigungen auf.
- Scrollen Sie nach unten zum Abschnitt Bucket-Richtlinie.
- Klicken Sie auf Bearbeiten.
- Fügen Sie den JSON-Code der Richtlinie, den Sie aus der dope.console kopiert haben, in das Textfeld Richtlinie ein.
- Klicken Sie auf Änderungen speichern.
- Kehren Sie zum Browsertab dope.console zurück.
- Klicken Sie unten auf der Seite „SIEM Integration Settings“ (SIEM-Integrationseinstellungen) auf Sync (Synchronisieren).
- Warten Sie, bis die Synchronisierung abgeschlossen ist.
- Prüfen Sie, ob neben dem Feld S3 Bucket Name ein grünes Häkchen angezeigt wird.
Prüfe, ob oben rechts auf der Seite der Zeitstempel Letzte Synchronisierung angezeigt wird.
Feed in Google SecOps konfigurieren, um Dope Security SWG-Logs aufzunehmen
- 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 einen eindeutigen Namen für den Feedname ein, z. B.
Dope Security SWG Logs. - Wählen Sie Amazon S3 V2 als Quelltyp aus.
- Wählen Sie DOPE_SWG als Logtyp aus.
- Klicken Sie auf Weiter und dann auf Senden.
Geben Sie Werte für die folgenden Felder an:
- S3-URI:
s3://chronicle-dope-swg-logs/(durch Ihren Bucket-Namen ersetzen) - Option zum Löschen der Quelle: Wählen Sie die gewünschte Option zum Löschen aus.
- Maximales Dateialter: Dateien einschließen, die in den letzten Tagen geändert wurden (Standard ist 180 Tage)
- Zugriffsschlüssel-ID: Nutzerzugriffsschlüssel mit Zugriff auf den S3-Bucket (aus Schritt 12 der AWS-Konfiguration)
- Geheimer Zugriffsschlüssel: Der geheime Schlüssel des Nutzers mit Zugriff auf den S3-Bucket (aus Schritt 12 der AWS-Konfiguration)
- Asset-Namespace: Der Asset-Namespace
- Labels für Datenaufnahme: Das Label, das auf die Ereignisse aus diesem Feed angewendet werden soll
- S3-URI:
Klicken Sie auf Weiter und dann auf Senden.
Referenz zum Logdatenformat
Dope Security exportiert Logs im JSONL-Format (JSON Lines) mit GZIP-Komprimierung. Jeder Logeintrag enthält die folgenden Schlüsselfelder:
| Feld | Beschreibung |
|---|---|
| Timestamp | ISO 8601-Zeitstempel, wann die Webtransaktion angefordert wurde |
| Dauer | Verbindungsdauer in Millisekunden |
| Übereinstimmendes Ziel | Domain, mit der die Dopingkategorie abgeglichen wurde |
| Ziel-IP | Ziel-IP-Adresse für die angeforderte URL |
| Mandanten-ID | Eindeutige Mandanten-ID des Kunden für dope.cloud |
| Agent-ID | Eindeutige Agent-ID für dope.endpoint |
| Nutzer | Angemeldeter Nutzer auf dem dope.endpoint |
| OIDC-Nutzer | E-Mail-Adresse für authentifizierten Nutzer (wenn die OIDC-Authentifizierung aktiviert ist) |
| Kategorien | Übereinstimmende Dopingkategorienummern (0–88) für die angeforderte URL |
| Einstufung | Richtlinienentscheidung: Zulassen (0), Blockieren (1), Warnung (2) oder Umgehen (3) |
| Gesendete Daten | Menge der in der Verbindung gesendeten Daten (Byte) |
| Empfangene Daten | Menge der in der Verbindung empfangenen Daten (Byte) |
| Richtlinientyp | Angewendete Richtlinie: Web, Cloud Application Control (CAC), benutzerdefinierte Kategorie, Umgehung oder Malware |
| Blockdetails | Für Blockierungsentscheidungen: Dopingkategorie, benutzerdefinierte Kategorie, Cloud-Anwendung oder Malware-Typ |
| Dateiname | Name einer heruntergeladenen Datei |
| Datei-Hash | Datei-Hash für heruntergeladene Dateien |
| Prozessname | Name des Prozesses, der die URL-Anfrage stellt |
| URL | Vollständige angeforderte URL |
| Richtlinienname | Name der angewendeten Richtlinie |
| Protokoll | Verwendetes Protokoll (z. B. HTTP/2, HTTP/1.1) |
| Hostname | Gerätehostname |
| HTTP-Anfragemethode | HTTP-Anfragemethode (z. B. GET, POST, PUT) |
| Prozessaufrufbaum | Hierarchische Beziehungen aus Prozess-Spawn-Vorgängen mit Befehlsargumenten |
Die vollständigen Kategorie- und Ergebniszuordnungen finden Sie in der Dokumentation Dope Security Category & Verdict Mappings.
UDM-Zuordnungstabelle
| Logfeld | UDM-Zuordnung | Logik |
|---|---|---|
| policy.categories, request.processTree | additional.fields | Zusammengeführt als Liste aus „policy.categories“ und „request.processTree“ in JSON |
| timestamp | metadata.event_timestamp | Wird sowohl in JSON als auch in CSV als ISO8601-Zeitstempel geparst. |
| metadata.event_type | Auf NETWORK_HTTP setzen, wenn has_principal, has_target und has_http in JSON vorhanden sind; andernfalls auf NETWORK_CONNECTION, wenn has_principal und has_target vorhanden sind; andernfalls auf USER_UNCATEGORIZED, wenn has_user vorhanden ist; andernfalls auf STATUS_UPDATE, wenn has_principal vorhanden ist; andernfalls auf GENERIC_EVENT; in CSV auf NETWORK_HTTP setzen | |
| schemaVersion | metadata.product_version | Wert direkt aus „schemaVersion“ in JSON kopiert |
| request.httpVersion | network.http.user_agent | Wert direkt aus request.httpVersion in JSON kopiert |
| bandwidth.dataReceivedInBytes, bytes_received | network.received_bytes | Wird in „uinteger“ aus „bandwidth.dataReceivedInBytes“ in JSON oder „bytes_received“ in CSV konvertiert, wenn nicht leer und nicht 0 |
| bandwidth.dataSentInBytes, bytes_sent | network.sent_bytes | Wird in JSON in „uinteger“ aus „bandwidth.dataSentInBytes“ oder in CSV in „bytes_sent“ konvertiert, wenn der Wert nicht leer und nicht 0 ist. |
| request.duration | network.session_duration.seconds | Aus „request.duration“ in JSON in eine Ganzzahl konvertiert |
| endpoint.agentID, endpoint_id | principal.asset.asset_id | Mit „DS:“ beginnend: aus „endpoint.agentID“ in JSON oder „endpoint_id“ in CSV |
| endpoint.tenantID | principal.asset.attribute.cloud.project.id | Wert direkt aus endpoint.tenantID in JSON kopiert |
| endpoint.deviceName | principal.asset.hostname | Wert direkt aus „endpoint.deviceName“ in JSON kopiert |
| endpoint.deviceName, endpoint_hostname | principal.hostname | Wert aus „endpoint.deviceName“ in JSON oder „endpoint_hostname“ in CSV |
| request.processName | principal.process.command_line | Wert direkt aus „request.processName“ in JSON kopiert |
| process_name | principal.process.file.names | Wert direkt aus „process_name“ in CSV kopiert |
| sso_user, user | principal.user.account_type | Auf DOMAIN_ACCOUNT_TYPE festlegen, wenn sso_user nicht leer ist, andernfalls LOCAL_ACCOUNT_TYPE in CSV |
| endpoint.oidcUser | principal.user.email_addresses | Wird zusammengeführt, wenn „endpoint.oidcUser“ mit dem regulären Ausdruck für E-Mail-Adressen in JSON übereinstimmt |
| endpoint.oidcUser | principal.user.user_display_name | Wert direkt kopiert, wenn „endpoint.oidcUser“ nicht mit dem E-Mail-Regulären Ausdruck in JSON übereinstimmt |
| endpoint.user, sso_user, user | principal.user.userid | Wert von „endpoint.user“ in JSON; von „sso_user“, falls nicht leer, andernfalls „user“ in CSV |
| security_result | security_result | Zusammengeführt aus „security_result“ in JSON |
| policy.verdict, verdict | security_result.action | Wird auf BLOCK gesetzt, wenn 1, auf ALLOW, wenn 0, und auf CHALLENGE, wenn 2 aus policy.verdict in JSON oder verdict in CSV |
| Kategorien | security_result.action_details | Wert direkt aus Kategorien in CSV kopiert |
| policy.policyName | security_result.rule_name | Wert direkt aus policy.policyName in JSON kopiert |
| policy.policyType | security_result.rule_type | Wert direkt aus policy.policyType in JSON kopiert |
| file_name | target.file.names | Der Wert wurde direkt aus „file_name“ in der CSV-Datei kopiert. |
| file_hash | target.file.sha256 | Wert direkt aus „file_hash“ in der CSV-Datei kopiert |
| destination.matchedDestination, domain | target.hostname | Wert aus „destination.matchedDestination“, wenn keine IP-Adresse in JSON; aus „domain“ in CSV |
| destination.matchedDestination, destination.destinationIP, ip | target.ip | Wert aus „destination.matchedDestination“ oder „destination.destinationIP“, wenn IP in JSON; aus „ip“ in CSV |
| destination.url, url | target.url | Wert aus „destination.url“ in JSON; aus „url“ in CSV |
| metadata.product_name | In JSON auf „DOPE_SWG“ und in CSV auf „SWG“ festgelegt | |
| metadata.vendor_name | In JSON auf „DOPE_SWG“ gesetzt; in CSV auf „Dope Security“ |
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten