Sysdig-Protokolle erfassen

Unterstützt in:

Dieser Parser extrahiert Sicherheitsereignisdaten aus Sysdig-JSON-Protokollen, wandelt die Rohprotokollfelder um und ordnet sie dem UDM-Format von Google Security Operations zu. Er verarbeitet verschiedene Felder, darunter Metadaten, Informationen zu Prinzipalen oder Zielen, Details zu Sicherheitsergebnissen und Kubernetes-bezogenen Kontext, und erweitert die Daten für die Analyse in Google SecOps. Der Parser führt auch Datentypkonvertierungen, Fehlerbehandlung und bedingte Logik basierend auf Feldwerten durch, um eine genaue und umfassende UDM-Darstellung zu gewährleisten.

Hinweis

Folgende Voraussetzungen müssen erfüllt sein:

  • Google SecOps-Instanz.
  • Privilegierter Zugriff auf Sysdig Secure.

API-Schlüssel für den Webhook-Feed erstellen

  1. Rufen Sie die Google Cloud Console > Anmeldedaten auf.

    Zu den Anmeldedaten

  2. Klicken Sie auf Anmeldedaten erstellen und wählen Sie anschließend API-Schlüssel aus.

  3. Beschränken Sie den API-Schlüsselzugriff auf die Google Security Operations API.

Option 1

Feeds einrichten

So konfigurieren Sie einen Feed:

  1. Rufen Sie die SIEM-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. Sysdig-Protokolle.
  5. Wählen Sie Webhook als Quelltyp aus.
  6. Wählen Sie Sysdig als Protokolltyp aus.
  7. Klicken Sie auf Weiter.
  8. Optional: Geben Sie Werte für die folgenden Eingabeparameter an:

    • Trennzeichen aufteilen: Das Trennzeichen, das zum Trennen von Protokollzeilen verwendet wird, z. B. \n.
  9. Klicken Sie auf Weiter.

  10. Prüfen Sie die Feedkonfiguration auf dem Bildschirm Abschließen und klicken Sie dann auf Senden.

  11. Klicken Sie auf Geheimen Schlüssel generieren , um einen geheimen Schlüssel zur Authentifizierung dieses Feeds zu generieren.

  12. Kopieren und speichern Sie den geheimen Schlüssel. Sie können diesen geheimen Schlüssel nicht noch einmal aufrufen. Bei Bedarf können Sie einen neuen geheimen Schlüssel generieren. Dadurch wird der vorherige geheime Schlüssel jedoch ungültig.

  13. Kopieren Sie auf dem Tab Details die Feed-Endpunkt-URL aus dem Feld Endpunktinformationen. Sie müssen diese Endpunkt-URL in Ihrer Clientanwendung angeben.

  14. Klicken Sie auf Fertig.

Endpunkt-URL angeben

  1. Geben Sie in Ihrer Clientanwendung die HTTPS-Endpunkt-URL an, die im Webhook-Feed angegeben ist.
  2. Aktivieren Sie die Authentifizierung, indem Sie den API-Schlüssel und den geheimen Schlüssel als Teil des benutzerdefinierten Headers im folgenden Format angeben:

    X-goog-api-key = API_KEY
    X-Webhook-Access-Key = SECRET
    

    Empfehlung: Geben Sie den API-Schlüssel als Header an, anstatt ihn in der URL anzugeben.

  3. Wenn Ihr Webhook-Client keine benutzerdefinierten Header unterstützt, können Sie den API-Schlüssel und den geheimen Schlüssel mit Abfrageparametern im folgenden Format angeben:

    ENDPOINT_URL?key=API_KEY&secret=SECRET
    

    Ersetzen Sie Folgendes:

    • ENDPOINT_URL: die Feed-Endpunkt-URL.
    • API_KEY: der API-Schlüssel zur Authentifizierung bei Google SecOps.
    • SECRET: der geheime Schlüssel, den Sie zur Authentifizierung des Feeds generiert haben.

Webhook in Sysdig konfigurieren

  1. Melden Sie sich mit Administratorberechtigungen bei Sysdig Secure an.
  2. Rufen Sie Profil > Einstellungen > Ereignisweiterleitung auf.
  3. Klicken Sie auf + Integration hinzufügen und wählen Sie im Drop-down-Menü Webhook aus.
  4. Geben Sie Werte für die folgenden Eingabeparameter an:

    • Name der Integration: Geben Sie einen beschreibenden Namen für den Webhook an, z. B. Google SecOps-Webhook.
    • Endpunkt: Geben Sie die Webhook-<ENDPOINT_URL> gefolgt von <API_KEY und <SECRET> ein.
    • Zu sendende Daten: Wählen Sie im Drop-down-Menü die Arten von Sysdig-Daten aus, die weitergeleitet werden sollen.

    • Testen Sie die Integration und stellen Sie dann Aktiviert auf „Ein“, um sie zu aktivieren.

    • Klicken Sie auf Speichern.

Option 2

Daten direkt an Google SecOps weiterleiten

  1. Melden Sie sich mit Ihren Administratoranmeldedaten bei Sysdig Secure an.
  2. Rufen Sie die Einstellungen > Ereignisweiterleitung auf.
  3. Klicken Sie auf + Integration hinzufügen und wählen Sie im Drop-down-Menü Google Chronicle aus.
  4. Geben Sie Werte für die folgenden Eingabeparameter an:
    • Name der Integration: Geben Sie einen beschreibenden Namen für die Integration an, z. B. Google SecOps-Integration.
    • Kunden-ID: Die Google-Kunden-ID, die Ihrem Google Cloud Konto zugeordnet ist. In Google SecOps finden Sie diese unter Einstellungen > Profil.
    • Namespace: Optional: Verwenden Sie ihn als Tag, um die entsprechende Datendomäne für die Indexierung und Erweiterung zu identifizieren.
    • JSON-Anmeldedaten: Laden Sie Ihre Google SecOps-JSON-Anmeldedaten hoch.
    • Region: Wählen Sie Ihre Region aus, z. B. USA, Europa oder Asien.
    • Zu sendende Daten: Wählen Sie im Drop-down-Menü die Arten von Sysdig-Daten aus, die weitergeleitet werden sollen.
    • Testen Sie die Integration und stellen Sie dann Aktiviert auf „Ein“, um sie zu aktivieren.
    • Klicken Sie auf Speichern.

UDM-Zuordnungstabelle

Protokollfeld UDM-Zuordnung Logik
agentId read_only_udm.metadata.product_deployment_id Der Wert von agentId aus dem Rohprotokoll wird direkt diesem UDM-Feld zugeordnet.
category read_only_udm.security_result.category_details Der Wert von category aus dem Rohprotokoll wird direkt diesem UDM-Feld zugeordnet.
content.fields.container.id read_only_udm.target.asset.asset_id Der Wert von content.fields.container.id aus dem Rohprotokoll wird mit „container_id:“ vorangestellt und diesem UDM-Feld zugeordnet. Wird verwendet, wenn containerId leer ist.
content.fields.container.image.repository read_only_udm.target.file.full_path Der Wert von content.fields.container.image.repository aus dem Rohprotokoll wird direkt diesem UDM-Feld zugeordnet.
content.fields.container.image.tag read_only_udm.metadata.ingestion_labels.value, wobei der Schlüssel tag ist Der Wert von content.fields.container.image.tag aus dem Rohprotokoll wird direkt diesem UDM-Feld zugeordnet.
content.fields.evt.res read_only_udm.metadata.ingestion_labels.value, wobei der Schlüssel evt_res ist Der Wert von content.fields.evt.res aus dem Rohprotokoll wird direkt diesem UDM-Feld zugeordnet.
content.fields.evt.type read_only_udm.metadata.event_type Der Wert von content.fields.evt.type aus dem Rohprotokoll wird direkt diesem UDM-Feld zugeordnet.
content.fields.falco.rule read_only_udm.security_result.rule_name Der Wert von content.fields.falco.rule aus dem Rohprotokoll wird direkt diesem UDM-Feld zugeordnet. Wird verwendet, wenn content.ruleName leer ist.
content.fields.group.gid read_only_udm.target.group.product_object_id Der Wert von content.fields.group.gid aus dem Rohprotokoll wird direkt diesem UDM-Feld zugeordnet.
content.fields.group.name read_only_udm.target.group.group_display_name Der Wert von content.fields.group.name aus dem Rohprotokoll wird direkt diesem UDM-Feld zugeordnet.
content.fields.proc.cmdline read_only_udm.target.process.command_line Der Wert von content.fields.proc.cmdline aus dem Rohprotokoll wird direkt diesem UDM-Feld zugeordnet.
content.fields.proc.pcmdline read_only_udm.target.process.parent_process.command_line Der Wert von content.fields.proc.pcmdline aus dem Rohprotokoll wird direkt diesem UDM-Feld zugeordnet.
content.fields.proc.pid read_only_udm.target.process.pid Der Wert von content.fields.proc.pid aus dem Rohprotokoll wird direkt diesem UDM-Feld zugeordnet.
content.fields.proc.ppid read_only_udm.target.process.parent_process.pid Der Wert von content.fields.proc.ppid aus dem Rohprotokoll wird direkt diesem UDM-Feld zugeordnet.
content.fields.proc.sid read_only_udm.metadata.ingestion_labels.value, wobei der Schlüssel sid ist Der Wert von content.fields.proc.sid aus dem Rohprotokoll wird direkt diesem UDM-Feld zugeordnet.
content.fields.user.loginname read_only_udm.principal.user.user_display_name Der Wert von content.fields.user.loginname aus dem Rohprotokoll wird direkt diesem UDM-Feld zugeordnet.
content.fields.user.uid read_only_udm.principal.user.userid Der Wert von content.fields.user.uid aus dem Rohprotokoll wird direkt diesem UDM-Feld zugeordnet.
content.output read_only_udm.additional.fields.value.string_value, wobei der Schlüssel content_output ist Der Wert von content.output aus dem Rohprotokoll wird direkt diesem UDM-Feld zugeordnet.
content.policyId read_only_udm.security_result.rule_id Der Wert von content.policyId aus dem Rohprotokoll wird direkt diesem UDM-Feld zugeordnet.
content.policyOrigin read_only_udm.additional.fields.value.string_value, wobei der Schlüssel content_policyOrigin ist Der Wert von content.policyOrigin aus dem Rohprotokoll wird direkt diesem UDM-Feld zugeordnet.
content.policyVersion read_only_udm.additional.fields.value.string_value, wobei der Schlüssel content_policyVersion ist Der Wert von content.policyVersion aus dem Rohprotokoll wird direkt diesem UDM-Feld zugeordnet.
content.ruleName read_only_udm.security_result.rule_name Der Wert von content.ruleName aus dem Rohprotokoll wird direkt diesem UDM-Feld zugeordnet.
content.ruleTags read_only_udm.security_result.rule_labels Die Werte im Array content.ruleTags aus dem Rohprotokoll werden diesem UDM-Feld zugeordnet. Die Schlüssel werden dynamisch als „ruletag_index“ generiert.
content.ruleType read_only_udm.additional.fields.value.string_value, wobei der Schlüssel content_ruleType ist Der Wert von content.ruleType aus dem Rohprotokoll wird direkt diesem UDM-Feld zugeordnet.
containerId read_only_udm.target.asset.asset_id Der Wert von containerId aus dem Rohprotokoll wird mit „container_id:“ vorangestellt und diesem UDM-Feld zugeordnet.
description read_only_udm.metadata.description Der Wert von description aus dem Rohprotokoll wird direkt diesem UDM-Feld zugeordnet.
id read_only_udm.metadata.product_log_id Der Wert von id aus dem Rohprotokoll wird direkt diesem UDM-Feld zugeordnet.
labels.container.label.io.kubernetes.container.name read_only_udm.additional.fields.value.string_value, wobei der Schlüssel container_name ist Der Wert von labels.container.label.io.kubernetes.container.name aus dem Rohprotokoll wird direkt diesem UDM-Feld zugeordnet.
labels.container.label.io.kubernetes.pod.name read_only_udm.additional.fields.value.string_value, wobei der Schlüssel pod_name ist Der Wert von labels.container.label.io.kubernetes.pod.name aus dem Rohprotokoll wird direkt diesem UDM-Feld zugeordnet. Wird verwendet, wenn labels.kubernetes.pod.name leer ist.
labels.container.label.io.kubernetes.pod.namespace read_only_udm.principal.namespace Der Wert von labels.container.label.io.kubernetes.pod.namespace aus dem Rohprotokoll wird direkt diesem UDM-Feld zugeordnet. Wird verwendet, wenn labels.kubernetes.namespace.name leer ist.
labels.aws.instanceId read_only_udm.target.resource.product_object_id Der Wert von labels.aws.instanceId aus dem Rohprotokoll wird direkt diesem UDM-Feld zugeordnet.
labels.aws.region read_only_udm.target.resource.attribute.cloud.availability_zone Der Wert von labels.aws.region aus dem Rohprotokoll wird direkt diesem UDM-Feld zugeordnet.
labels.host.hostName read_only_udm.principal.ip ODER read_only_udm.principal.hostname Wenn der Wert „ip“ enthält, wird er als IP-Adresse geparst und principal.ip zugeordnet. Andernfalls wird er principal.hostname zugeordnet.
labels.host.mac read_only_udm.principal.mac Der Wert von labels.host.mac aus dem Rohprotokoll wird direkt diesem UDM-Feld zugeordnet. Wird verwendet, wenn machineId leer ist.
labels.kubernetes.cluster.name read_only_udm.additional.fields.value.string_value, wobei der Schlüssel kubernetes_cluster_name ist Der Wert von labels.kubernetes.cluster.name aus dem Rohprotokoll wird direkt diesem UDM-Feld zugeordnet.
labels.kubernetes.deployment.name read_only_udm.additional.fields.value.string_value, wobei der Schlüssel kubernetes_deployment_name ist Der Wert von labels.kubernetes.deployment.name aus dem Rohprotokoll wird direkt diesem UDM-Feld zugeordnet.
labels.kubernetes.namespace.name read_only_udm.principal.namespace Der Wert von labels.kubernetes.namespace.name aus dem Rohprotokoll wird direkt diesem UDM-Feld zugeordnet.
labels.kubernetes.node.name read_only_udm.additional.fields.value.string_value, wobei der Schlüssel kubernetes_node_name ist Der Wert von labels.kubernetes.node.name aus dem Rohprotokoll wird direkt diesem UDM-Feld zugeordnet.
labels.kubernetes.pod.name read_only_udm.additional.fields.value.string_value, wobei der Schlüssel pod_name ist Der Wert von labels.kubernetes.pod.name aus dem Rohprotokoll wird direkt diesem UDM-Feld zugeordnet.
labels.kubernetes.service.name read_only_udm.additional.fields.value.string_value, wobei der Schlüssel kubernetes_service_name ist Der Wert von labels.kubernetes.service.name aus dem Rohprotokoll wird direkt diesem UDM-Feld zugeordnet.
machineId read_only_udm.principal.mac Der Wert von machineId aus dem Rohprotokoll wird direkt diesem UDM-Feld zugeordnet.
name read_only_udm.security_result.summary Der Wert von name aus dem Rohprotokoll wird direkt diesem UDM-Feld zugeordnet.
severity read_only_udm.security_result.severity Der Wert von severity aus dem Rohprotokoll wird basierend auf diesen Bereichen einem Stringwert zugeordnet: <4 = HOCH, >3 und <6 = MITTEL, 6 = NIEDRIG, 7 = INFORMATION.
source read_only_udm.security_result.description Der Wert von source aus dem Rohprotokoll wird direkt diesem UDM-Feld zugeordnet.
timestampRFC3339Nano read_only_udm.metadata.event_timestamp Der Wert von timestampRFC3339Nano aus dem Rohprotokoll wird als Zeitstempel geparst und diesem UDM-Feld zugeordnet.
type read_only_udm.metadata.product_event_type Der Wert von type aus dem Rohprotokoll wird direkt diesem UDM-Feld zugeordnet.
(Parserlogik) read_only_udm.metadata.product_name Fest codiert auf „SYSDIG“.
(Parserlogik) read_only_udm.metadata.vendor_name Fest codiert auf „SYSDIG“.
(Parserlogik) read_only_udm.metadata.event_type Standardmäßig auf „PROCESS_UNCATEGORIZED“ oder auf „GENERIC_EVENT“ gesetzt, wenn labels.host.hostName leer ist.
(Parserlogik) read_only_udm.metadata.log_type Fest codiert auf „SYSDIG“.
(Parserlogik) read_only_udm.target.resource.resource_type Auf „CLOUD_PROJECT“ gesetzt, wenn labels.aws.instanceId vorhanden ist.

Änderungsprotokoll

Änderungsprotokoll für diesen Parser ansehen

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