Halcyon Anti-Ransomware-Logs erfassen
In diesem Dokument wird beschrieben, wie Sie Halcyon Anti-Ransomware-Logs mit Google Cloud Storage V2 in Google Security Operations aufnehmen.
Halcyon ist eine Anti-Ransomware-Plattform, die KI verwendet, um Ransomware-Angriffe zu erkennen, zu verhindern und wiederherzustellen. Sie generiert Benachrichtigungen für Ereignisse zur Ransomware-Erkennung, Verschlüsselungsversuche und Wiederherstellungsaktionen. Der Parser ordnet JSON-formatierte Logfelder dem einheitlichen Datenmodell (Unified Data Model, UDM) zu und verarbeitet Ereignistypen wie Dateivorgänge, Nutzeraktivitäten und Sicherheitsergebnisse.
Hinweis
Prüfen Sie, ob folgende Voraussetzungen erfüllt sind:
- Eine Google SecOps-Instanz
- Ein GCP-Projekt mit aktivierter Cloud Storage API
- Berechtigungen zum Erstellen und Verwalten von GCS-Buckets und IAM-Richtlinien
- Privilegierter Zugriff auf die Halcyon-Konsole mit Logexportfunktionen
Google Cloud Storage-Bucket erstellen
- Gehen Sie zur Google Cloud Console.
- Wählen Sie Ihr Projekt aus oder erstellen Sie ein neues.
- Rufen Sie im Navigationsmenü Cloud Storage > Buckets auf.
- Klicken Sie auf Bucket erstellen.
Geben Sie die folgenden Konfigurationsdetails an:
Einstellung Wert Bucket benennen Geben Sie einen global eindeutigen Namen ein (z. B. halcyon-logs).Standorttyp Wählen Sie je nach Bedarf aus (Region, Dual-Region, Multi-Region). Standort Wählen Sie den Standort aus (z. B. us-central1).Speicherklasse Standard (empfohlen für häufig aufgerufene Logs) Zugriffssteuerung Einheitlich (empfohlen) Schutzmaßnahmen Optional: Objektversionierung oder Aufbewahrungsrichtlinie aktivieren Klicken Sie auf Erstellen.
Halcyon-Logs nach Google Cloud Storage exportieren
Halcyon unterstützt den Export von Logdaten im JSON-Format. Verwenden Sie eine der folgenden Methoden, um Logs an GCS zu senden.
Option A: Logs mit der Halcyon API exportieren und in GCS hochladen
- Melden Sie sich in der Halcyon-Verwaltungskonsole an.
- Rufen Sie Einstellungen > API-Zugriff auf und generieren Sie einen API-Schlüssel mit Leseberechtigungen.
- Kopieren und speichern Sie den API-Schlüssel.
- Verwenden Sie ein geplantes Skript oder eine Cloud Run-Funktion, um die Halcyon REST API aufzurufen, Ereignislogs abzurufen und sie im JSON-Format in GCS zu schreiben.
Option B: SIEM-Integration konfigurieren und an GCS weiterleiten
- Melden Sie sich in der Halcyon-Verwaltungskonsole an.
- Rufen Sie Einstellungen > Integrationen > SIEM auf.
- Konfigurieren Sie das Ziel für den Logexport, um JSON-formatierte Ereignisse in ein lokales Verzeichnis oder einen Zwischenspeicher zu schreiben.
Verwenden Sie eine Cloud Run-Funktion, um Logs regelmäßig in Ihren GCS-Bucket hochzuladen.
- Achten Sie darauf, dass die exportierten Dateien im JSON-Format vorliegen.
- Jede Datei sollte einen oder mehrere Ereigniseinträge enthalten.
Google SecOps-Dienstkonto abrufen
- Melden Sie sich in der Google SecOps-Konsole an.
- Rufen Sie die SIEM-Einstellungen > Feeds auf.
- Klicken Sie auf Neuen Feed hinzufügen.
- Klicken Sie auf Einzelnen Feed konfigurieren.
- Wählen Sie Google Cloud Storage V2 als Quelltyp aus.
- Wählen Sie Halcyon Anti Ransomware als Logtyp aus.
Klicken Sie auf Dienstkonto abrufen. Eine eindeutige E‑Mail-Adresse des Dienstkontos wird angezeigt, z. B.:
chronicle-12345678@chronicle-gcp-prod.iam.gserviceaccount.comKopieren Sie diese E-Mail-Adresse. Sie verwenden sie im nächsten Schritt.
Dem Google SecOps-Dienstkonto IAM-Berechtigungen gewähren
- Rufen Sie Cloud Storage > Buckets auf.
- Klicken Sie auf den Namen Ihres Buckets.
- Wechseln Sie zum Tab Berechtigungen.
- Klicken Sie auf Zugriff erlauben.
- Geben Sie die folgenden Konfigurationsdetails an:
- Hauptkonten hinzufügen: Fügen Sie die E‑Mail-Adresse des Google SecOps-Dienstkontos ein.
- Rollen zuweisen: Wählen Sie Storage Object Viewer aus.
Klicken Sie auf Speichern.
- Wenn Sie die Löschoption verwenden möchten (übertragene Dateien löschen), gewähren Sie die Rolle Storage Object Admin anstelle von Storage Object Viewer.
Feed in Google SecOps konfigurieren, um Halcyon Anti-Ransomware-Logs aufzunehmen
- Rufen Sie die SIEM-Einstellungen > Feeds auf.
- Klicken Sie auf Neuen Feed hinzufügen.
- Klicken Sie auf Einzelnen Feed konfigurieren.
- Geben Sie im Feld Feedname einen Namen für den Feed ein, z. B.
Halcyon Anti-Ransomware logs. - Wählen Sie Google Cloud Storage V2 als Quelltyp aus.
- Wählen Sie Halcyon Anti Ransomware als Logtyp aus.
- Klicken Sie auf Weiter.
Geben Sie Werte für die folgenden Eingabeparameter an:
Feld Wert Storage-Bucket-URI gs://halcyon-logs/halcyon/events/Option zum Löschen der Quelle Wählen Sie die gewünschte Löschoption aus. Maximales Alter der Datei (Tage) Standardwert ist 180 Tage Asset-Namespace Der Asset-Namespace Labels für Datenaufnahme Das Label, das auf die Ereignisse aus diesem Feed angewendet werden soll - Ersetzen Sie
halcyon-logsdurch den tatsächlichen Namen Ihres GCS-Buckets. - Fügen Sie am Ende der URI immer einen Schrägstrich (
/) ein.
- Ersetzen Sie
Klicken Sie auf Weiter.
Prüfen Sie die Konfiguration des neuen Feeds auf dem Bildschirm Abschließen und klicken Sie dann auf Senden.
UDM-Zuordnungstabelle
| Logfeld | UDM-Zuordnung | Logik |
|---|---|---|
| sshd, tty, euid, dataType, filterName, totalOccurrences, occurredAt, count, occurrences.IncorrectPasswords, occurrences.FailedPassword, occurrences.AuthFailure, policyMode, action | additional.fields | Mit Labels zusammengeführt, die aus den einzelnen Feldern erstellt wurden, falls vorhanden; Felder „totalOccurrences“, „count“ und „occurrences“ in String konvertiert |
| dnsArtifact.uri | network.dns.questions | Mit dem Fragen-Array zusammengeführt, das den Namen enthält |
| asset.id | principal.asset.asset_id | Verkettet als "ASSET:" + asset.id |
| asset.kind | principal.asset.attribute.labels | Mit dem aus asset.kind erstellten asset_kind_label zusammengeführt |
| asset.name | principal.asset.hostname | Wert direkt kopiert |
| ipArtifact.ipAddress | principal.asset.ip | Wert direkt kopiert |
| summary.applicationName | principal.application | Wert direkt kopiert |
| phost, asset.name | principal.hostname | Wert aus „phost“, falls vorhanden; andernfalls Wert aus „asset.name“ |
| ipArtifact.ipAddress | principal.ip | Wert direkt kopiert |
| process.commandLine | principal.process.command_line | Wert direkt kopiert |
| modifiedFilePath, artifact.filePath, process.artifact.filePath, processes.artifact.filePath | principal.process.file.full_path | Wert auf „modifiedFilePath“ gesetzt, falls vorhanden; andernfalls Wert aus „artifact.filePath“, falls vorhanden; andernfalls Wert aus „process.artifact.filePath“, falls vorhanden; andernfalls Wert aus „processes.artifact.filePath“ (Anführungszeichen für „processes.artifact.filePath“ entfernt) |
| lastOccurredAt | principal.process.file.last_seen_time | Mit Datumsfilter im ISO 8601-Format konvertiert |
| process.artifact.kind, artifact.kind, primaryProcess.artifact.kind | principal.process.file.mime_type | Wert aus „process.artifact.kind“, falls vorhanden; andernfalls Wert aus „artifact.kind“, falls vorhanden; andernfalls Wert aus „primaryProcess.artifact.kind“ |
| artifact.sha256, process.artifact.sha256, processes.artifact.sha256 | principal.process.file.sha256 | Wert aus „artifact.sha256“, falls vorhanden; andernfalls Wert aus „process.artifact.sha256“, falls vorhanden; andernfalls Wert aus „processes.artifact.sha256“ |
| process.parentPid | principal.process.parent_pid | Wert direkt kopiert |
| process.pid | principal.process.pid | Wert direkt kopiert |
| user_displayname | principal.user.user_display_name | Wert direkt kopiert |
| user | principal.user.userid | Wert direkt kopiert |
| summary.artifact.filePath | target.file.full_path | Wert direkt kopiert |
| summary.artifact.sha256 | target.file.sha256 | Wert direkt kopiert |
| primaryProcess.commandLine | target.process.command_line | Wert direkt kopiert, nachdem Anführungszeichen entfernt wurden |
| primaryProcess.kind | target.process.file.mime_type | Wert direkt kopiert |
| primaryProcess.parentPid | target.process.parent_process.pid | Wert direkt kopiert |
| primaryProcess.pid | target.process.pid | Wert direkt kopiert |
| uid | target.user.userid | Wert direkt kopiert |
| id | target.asset_id | Verkettet als "ASSET:" + id |
| action | security_result.action | In Großbuchstaben, wenn die Aktion „Block“ oder „Allow“ ist |
| reason.exitCode | security_result.action_details | Wert direkt kopiert |
| dxpRule, monitoringReason, tenantId | security_result.detection_fields | Mit Labels zusammengeführt, die aus den einzelnen Feldern erstellt wurden, falls vorhanden; Backslashes für „dxpRule“ entfernt |
| dxpRuleType | security_result.rule_type | Wert direkt kopiert |
| ipArtifact.version | security_result.rule_version | Wert direkt kopiert |
| msg, reason.cause | security_result.summary | Wert aus „msg“, falls vorhanden; andernfalls Wert aus „reason.cause“ |
| timestamp | metadata.event_timestamp | Mit Datumsfilter mit den Formaten „MMM dd HH:mm:ss“ oder „MMM d HH:mm:ss“ konvertiert |
| phost, ipArtifact.ipAddress, asset.name, user, uid, summary.artifact.sha256, summary.artifact.filePath | metadata.event_type | Auf „FILE_UNCATEGORIZED“ gesetzt, wenn „has_principal“ und „has_target_file“; auf „USER_UNCATEGORIZED“ gesetzt, wenn „has_principal“ und „has_target“; auf „STATUS_UPDATE“ gesetzt, wenn „has_principal“; andernfalls „GENERIC_EVENT“ (Flags aus Quellen abgeleitet) |
| kind | metadata.product_event_type | Wert direkt kopiert |
| gupid, guid | metadata.product_log_id | Wert aus „gupid“, falls vorhanden; andernfalls Wert aus „guid“ |
| metadata.product_name | Auf „Halcyon Anti Ransomware“ gesetzt | |
| metadata.vendor_name | Auf „Halcyon“ gesetzt |
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten