Linux-Audit- und AIX-Systemlogs erfassen

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie Linux-Audit-Logs von auditd- und AIX-Systemen erfassen und in UDM umwandeln. Der Parser verarbeitet sowohl JSON-formatierte als auch Nur-Text-Logmeldungen. Dabei werden Felder mithilfe von Grok-, XML- und JSON-Parsing-Techniken extrahiert und dem Ereignistyp entsprechend den entsprechenden UDM-Feldern zugeordnet. Der Parser verarbeitet auch bestimmte Audit-Log-Formate von AIX-Systemen und reichert das UDM mit zusätzlichen Feldern wie security_result und Vermittlerdetails an.

Es gibt zwei primäre Methoden zum Erfassen von auditd-Logs: über die lokale Logdatei oder über Syslog. Unabhängig von der Methode sind bestimmte allgemeine Konfigurationen in auditd erforderlich.

Hinweis

  • Prüfen Sie, ob Sie eine Google Security Operations-Instanz haben.
  • Sie benötigen Root-Zugriff auf den Auditd-Host.
  • Achten Sie darauf, dass Sie einen Windows 2012 SP2-Host oder höher oder einen Linux-Host mit systemd für den Bindplane-Agent haben.
  • Wenn Sie die Software hinter einem Proxy ausführen, müssen die Firewallports geöffnet sein.
  • Achten Sie bei der syslog-basierten Erfassung darauf, dass rsyslog auf dem Auditd-Host installiert ist.

Authentifizierungsdatei für die Google SecOps-Aufnahme abrufen

  1. Melden Sie sich in der Google SecOps-Konsole an.
  2. Rufen Sie die SIEM-Einstellungen > Collection Agents auf.
  3. Laden Sie die Authentifizierungsdatei für die Aufnahme herunter.

Google SecOps-Kundennummer abrufen

  1. Melden Sie sich in der Google SecOps-Konsole an.
  2. Rufen Sie die SIEM-Einstellungen > Profile auf.
  3. Kopieren und speichern Sie die Kunden-ID aus dem Bereich Organisationsdetails.

BindPlane-Agent installieren

Der BindPlane-Agent erfasst Logs aus verschiedenen Quellen und sendet sie an Google SecOps. Sie können die Agents lokal oder in der Cloud installieren. Der BindPlane-Agent wird auch als BindPlane-Collector, Erfassungsagent, Collector oder Agent bezeichnet. Weitere Informationen und zusätzliche Installationsoptionen finden Sie unter Bindplane mit Google SecOps verwenden.

  • Führen Sie für die Windows-Installation das folgende Skript aus:
    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
  • Führen Sie für die Linux-Installation das folgende Skript aus:
    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh

Allgemeine AuditD-Konfiguration

Damit auditd-Logs die erforderlichen Quellinformationen wie den Hostnamen enthalten, führen Sie die folgenden Schritte aus:

  1. Erforderliche Pakete installieren Installieren Sie den audit-Daemon und die audispd-Plug-ins (für die Syslog-Weiterleitung in vielen Distributionen erforderlich).

    • RHEL/CentOS: bash sudo yum install audit audispd-plugins
    • Ubuntu/Debian: bash sudo apt-get install auditd audispd-plugins
  2. AuditD so konfigurieren, dass der Hostname enthalten ist Bearbeiten Sie die Konfigurationsdatei des Audit-Daemons unter /etc/audit/auditd.conf und aktualisieren Sie die Option name_format:

      # Add or update the following line:
      name_format = hostname
    
  3. Audit-Regeln konfigurieren Definieren Sie Ihre Audit-Regeln in /etc/audit/rules.d/audit.rules, damit sie nach einem Neustart erhalten bleiben. Wenn Sie beispielsweise die Ausführung von Prozessen für 32‑Bit- und 64‑Bit-Architekturen prüfen möchten, fügen Sie Folgendes hinzu:

    -a always,exit -F arch=b64 -S execve -k execve
    -a always,exit -F arch=b32 -S execve -k execve
    

    Sie können diese Regeln durch Ihre eigenen ersetzen.

  4. AuditD neu starten: Starten Sie den Dienst neu, damit die Änderungen übernommen werden:

    sudo systemctl restart auditd
    

Erfassungsmethode 1: Dateibasierte Aufnahme

Bei dieser Methode wird ein lokaler BindPlane-Agent verwendet, um die Roh-Audit-Logdatei direkt von /var/log/audit/audit.log auf der Festplatte zu lesen.

So konfigurieren Sie den Bindplane-Agent für die Dateiaufnahme:

  1. Bearbeiten Sie die Datei config.yaml auf dem Computer, auf dem Bindplane installiert ist, um die AuditD-Logdatei zu überwachen:

    receivers:
      filelog/auditd:
        include: [ "/var/log/audit/audit.log" ]
        start_at: end
        read_batch_size: 65536
        poll_interval: 1s
    exporters:
      chronicle/auditd_file:
        compression: gzip
        # Adjust the creds location below according to the placement of the credentials file you downloaded.
        creds: '{ json file for creds }'
        # Replace CUSTOMER_ID with your actual ID that you copied.
        customer_id: CUSTOMER_ID
        endpoint: malachiteingestion-pa.googleapis.com
        # You can apply ingestion labels below as preferred.
        ingestion_labels:
          log_type: AUDITD
          namespace: auditd
          raw_log_field: body
    service:
      pipelines:
        logs/auditd_file_to_chronicle:
          receivers:
            - filelog/auditd
          exporters:
            - chronicle/auditd_file
    
  2. Starten Sie den Bindplane-Agent neu:
    sudo systemctl restart bindplane

Erfassungsmethode 2: Syslog-basierte Aufnahme

Bei dieser Methode wird der Audit-Dispatcher (audispd) verwendet, um Logs an den lokalen rsyslog-Daemon zu senden, der die Ereignisse dann weiterleitet. Ein BindPlane-Agent ist für den Empfang dieser Syslog-Nachrichten konfiguriert.

Schritt 1: AuditD-Syslog-Plug-in konfigurieren

Sie müssen das Syslog-Plug-in aktivieren, um Audit-Logs an eine Syslog-Einrichtung weiterzuleiten. Je nach Linux-Distribution und Audit-Version bearbeiten Sie entweder /etc/audisp/plugins.d/syslog.conf (ältere Systeme) oder /etc/audit/plugins.d/syslog.conf (Audit 3.0 und höher):

active = yes
direction = out
path = builtin_syslog
type = builtin
args = LOG_LOCAL6
format = string

Schritt 2: rsyslog-Weiterleitung konfigurieren

Erstellen Sie unter /etc/rsyslog.d/50-auditd.conf eine spezielle rsyslog-Konfigurationsdatei (oder aktualisieren Sie eine vorhandene Datei wie 50-default.conf), um die LOCAL6-Einrichtung umzuleiten.

Option A: An einen Remote-Bindplane-Agent weiterleiten

Wenn Ihr BindPlane-Agent remote gehostet wird, geben Sie seine IP-Adresse (REMOTE_BINDPLANE_IP) und den Listening-Port an (z. B. Port 11655):

local6.* @@REMOTE_BINDPLANE_IP:11655

Option B: An einen lokalen Listener weiterleiten

Wenn Sie einen lokalen Erfassungsagenten ausführen, der auf demselben Host an einem bestimmten Port auf Syslog-Traffic wartet, geben Sie den LOCAL_LISTENER_PORT an:

local6.* @@127.0.0.1:LOCAL_LISTENER_PORT

Schritt 3: Bindplane-Agent für die Syslog-Aufnahme konfigurieren

Bearbeiten Sie die Datei config.yaml auf dem Computer, auf dem BindPlane installiert ist, um Syslog-Nachrichten zu erfassen. Bei dieser Konfiguration wird davon ausgegangen, dass Sie TCP an Port 11655 verwenden, wie in den Beispielen in Schritt 2.

receivers:
    tcplog:
    listen_address: "0.0.0.0:11655"

exporters:
    chronicle/auditd_syslog:
    compression: gzip
    # Adjust the creds location below according to the placement of the credentials file you downloaded.
    creds: '{ json file for creds }'
    # Replace CUSTOMER_ID below with your actual ID that you copied.
    customer_id: CUSTOMER_ID
    endpoint: malachiteingestion-pa.googleapis.com
    # You can apply ingestion labels below as preferred.
    ingestion_labels:
        log_type: SYSLOG
        namespace: auditd
        raw_log_field: body
service:
    pipelines:
    logs/auditd_syslog_to_chronicle:
        receivers:
        - tcplog
        exporters:
        - chronicle/auditd_syslog

Schritt 4: Erforderliche Dienste neu starten

Starten Sie die folgenden Dienste neu, damit die Syslog-Weiterleitung und die Bindplane-Konfiguration wirksam werden:

sudo systemctl restart auditd
sudo systemctl restart rsyslog
sudo systemctl restart bindplane

Mit einem Tool wie tail können Sie das Syslog überwachen und prüfen, ob Auditd-Logs gesendet werden:

tail -f /var/log/syslog | grep auditd 
# Follow syslog and filter for auditd messages (the path may vary depending on your system).

Beispiel-Logs für das unterstützte Linux-Auditing-System (AuditD)

  • SYSLOG + KV (Linux AuditD)

    events_for_log_entry:  {
    events:  {
      timestamp:  {
        seconds:  1718778607
        nanos:  898000000
      }
      idm:  {
        read_only_udm:  {
          metadata:  {
            product_log_id:  "5512409"
            event_timestamp:  {
              seconds:  1718778607
              nanos:  898000000
            }
            event_type:  USER_LOGIN
            vendor_name:  "Linux"
            product_name:  "AuditD"
            product_event_type:  "USER_AUTH"
          }
          principal:  {
            hostname:  "sec-dev-01.internal"
            user:  {
              userid:  "0"
              user_display_name:  "secuser"
            }
            process:  {
              pid:  "3306219"
            }
            asset:  {
              hostname:  "sec-dev-01.internal"
              ip:  "192.168.1.5"
            }
            ip:  "192.168.1.5"
            application:  "ssh"
            platform:  LINUX
          }
          target:  {
            user:  {
              userid:  "0"
              user_display_name:  "secuser"
            }
            process:  {
              file:  {
                full_path:  "/usr/sbin/secure_shell"
              }
            }
          }
          intermediary:  {
            hostname:  "sec-dev-01.internal"
          }
          about:  {
            user:  {
              userid:  "sysadmin"
              user_display_name:  "unset"
            }
          }
          security_result:  {
            detection_fields:  {
              key:  "AUID0"
              value:  "unset"
            }
            detection_fields:  {
              key:  "UID0"
              value:  "sysadmin"
            }
            detection_fields:  {
              key:  "acct0"
              value:  "secuser"
            }
            detection_fields:  {
              key:  "addr0"
              value:  "192.168.1.5"
            }
            detection_fields:  {
              key:  "auid0"
              value:  "sysadmin"
            }
            detection_fields:  {
              key:  "exe0"
              value:  "/usr/sbin/secure_shell"
            }
            detection_fields:  {
              key:  "grantors0"
              value:  "pam_unix"
            }
            detection_fields:  {
              key:  "hostname0"
              value:  "192.168.1.5"
            }
            detection_fields:  {
              key:  "msg0"
              value:  "op=PAM:authentication"
            }
            detection_fields:  {
              key:  "pid0"
              value:  "3306219"
            }
            detection_fields:  {
              key:  "res0"
              value:  "success"
            }
            detection_fields:  {
              key:  "ses0"
              value:  "4294967295"
            }
            detection_fields:  {
              key:  "terminal0"
              value:  "ssh"
            }
            detection_fields:  {
              key:  "uid0"
              value:  "0"
            }
            detection_fields:  {
              key:  "AUID_kv0"
              value:  "AUID0:unset"
            }
            detection_fields:  {
              key:  "UID_kv0"
              value:  "UID0:sysadmin"
            }
            detection_fields:  {
              key:  "acct_kv0"
              value:  "acct0:secuser"
            }
            detection_fields:  {
              key:  "addr_kv0"
              value:  "addr0:192.168.1.5"
            }
            detection_fields:  {
              key:  "auid_kv0"
              value:  "auid0:sysadmin"
            }
            detection_fields:  {
              key:  "exe_kv0"
              value:  "exe0:/usr/sbin/secure_shell"
            }
            detection_fields:  {
              key:  "grantors_kv0"
              value:  "grantors0:pam_unix"
            }
            detection_fields:  {
              key:  "hostname_kv0"
              value:  "hostname0:192.168.1.5"
            }
            detection_fields:  {
              key:  "msg_kv0"
              value:  "msg0:op=PAM:authentication"
            }
            detection_fields:  {
              key:  "pid_kv0"
              value:  "pid0:3306219"
            }
            detection_fields:  {
              key:  "res_kv0"
              value:  "res0:success"
            }
            detection_fields:  {
              key:  "ses_kv0"
              value:  "ses0:4294967295"
            }
            detection_fields:  {
              key:  "terminal_kv0"
              value:  "terminal0:ssh"
            }
            detection_fields:  {
              key:  "uid_kv0"
              value:  "uid0:0"
            }
            summary:  "authentication secuser"
            action:  ALLOW
            action_details:  "success"
          }
          network:  {
            session_id:  "4294967295"
            application_protocol:  SSH
          }
          extensions:  {
            auth:  {}
          }
        }
      }
    }
    }
    
  • SYSLOG (allgemein)

    events_for_log_entry:  {
    events:  {
      timestamp:  {
        seconds:  1754848621
      }
      idm:  {
        read_only_udm:  {
          metadata:  {
            event_timestamp:  {
              seconds:  1754848621
            }
            event_type:  PROCESS_LAUNCH
            vendor_name:  "Linux"
            product_name:  "AuditD"
            product_event_type:  "CROND"
            description:  "(monitorsvc) CMD (/opt/monitor/bin/scheduler -j /opt/monitor/cache/jobs/check.jx)"
          }
          principal:  {
            hostname:  "log-host-05"
            user:  {
              userid:  "monitorsvc"
            }
            process:  {
              pid:  "124662"
            }
            asset:  {
              hostname:  "log-host-05"
            }
            platform:  LINUX
          }
          target:  {
            process:  {
              command_line:  "/opt/monitor/bin/scheduler -j /opt/monitor/cache/jobs/check.jx"
            }
          }
          intermediary:  {
            hostname:  "log-host-05"
          }
        }
      }
    }
    }
    
  • JSON (Cloud Storage-Logging oder Auditbeat)

    events_for_log_entry:  {
    events:  {
      timestamp:  {
        seconds:  1611615589
        nanos:  212000000
      }
      idm:  {
        read_only_udm:  {
          metadata:  {
            product_log_id:  "32946"
            event_timestamp:  {
              seconds:  1611615589
              nanos:  212000000
            }
            collected_timestamp:  {
              seconds:  1609752843
              nanos:  349722230
            }
            event_type:  SERVICE_START
            vendor_name:  "Linux"
            product_name:  "AuditD"
            product_event_type:  "SERVICE_START"
          }
          additional:  {
            fields:  {
              key:  "insertId"
              value:  {
                string_value:  "tf9cuofcnbn6i"
              }
            }
            fields:  {
              key:  "logName"
              value:  {
                string_value:  "projects/prj-secops-dev/logs/auditd"
              }
            }
          }
          principal:  {
            hostname:  "gce-test-web"
            user:  {
              userid:  "0"
            }
            process:  {
              pid:  "1"
            }
            asset:  {
              hostname:  "gce-test-web"
            }
            application:  "sysmgr"
            platform:  LINUX
          }
          target:  {
            process:  {
              file:  {
                full_path:  "/usr/bin/sysmgr"
              }
            }
            cloud:  {
              project:  {
                name:  "prj-secops-dev"
              }
            }
            resource:  {
              resource_subtype:  "gce_instance"
              product_object_id:  "1000000000000000001"
              attribute:  {
                cloud:  {
                  availability_zone:  "us-east4-a"
                }
              }
            }
          }
          about:  {
            user:  {
              userid:  "9001"
              user_display_name:  "unset"
            }
          }
          security_result:  {
            detection_fields:  {
              key:  "AUID0"
              value:  "unset"
            }
            detection_fields:  {
              key:  "UID0"
              value:  "secsvc"
            }
            detection_fields:  {
              key:  "auid0"
              value:  "9001"
            }
            detection_fields:  {
              key:  "comm0"
              value:  "sysmgr"
            }
            detection_fields:  {
              key:  "exe0"
              value:  "/usr/bin/sysmgr"
            }
            detection_fields:  {
              key:  "msg0"
              value:  "unit=gce-cert-renew"
            }
            detection_fields:  {
              key:  "pid0"
              value:  "1"
            }
            detection_fields:  {
              key:  "res0"
              value:  "success"
            }
            detection_fields:  {
              key:  "ses0"
              value:  "4294967295"
            }
            detection_fields:  {
              key:  "subj0"
              value:  "system_u:system_r:init_t:s0"
            }
            detection_fields:  {
              key:  "uid0"
              value:  "0"
            }
            detection_fields:  {
              key:  "AUID_kv0"
              value:  "AUID0:unset"
            }
            detection_fields:  {
              key:  "UID_kv0"
              value:  "UID0:secsvc"
            }
            detection_fields:  {
              key:  "auid_kv0"
              value:  "auid0:9001"
            }
            detection_fields:  {
              key:  "comm_kv0"
              value:  "comm0:sysmgr"
            }
            detection_fields:  {
              key:  "exe_kv0"
              value:  "exe0:/usr/bin/sysmgr"
            }
            detection_fields:  {
              key:  "msg_kv0"
              value:  "msg0:unit=gce-cert-renew"
            }
            detection_fields:  {
              key:  "pid_kv0"
              value:  "pid0:1"
            }
            detection_fields:  {
              key:  "res_kv0"
              value:  "res0:success"
            }
            detection_fields:  {
              key:  "ses_kv0"
              value:  "ses0:4294967295"
            }
            detection_fields:  {
              key:  "subj_kv0"
              value:  "subj0:system_u:system_r:init_t:s0"
            }
            detection_fields:  {
              key:  "uid_kv0"
              value:  "uid0:0"
            }
            summary:  "unit=gce-cert-renew success"
            action:  ALLOW
            action_details:  "success"
          }
          network:  {
            session_id:  "4294967295"
          }
        }
      }
    }
    }
    
  • JSON (Windows-Ereignis)

    JSON (Windows Event)
    events_for_log_entry:  {
    events:  {
      timestamp:  {
        seconds:  1711012395
        nanos:  723000000
      }
      idm:  {
        read_only_udm:  {
          metadata:  {
            event_timestamp:  {
              seconds:  1711012395
              nanos:  723000000
            }
            event_type:  USER_LOGIN
            vendor_name:  "Microsoft"
            product_name:  "Microsoft-Windows-Security-Auditing"
            product_event_type:  "4624"
            description:  "An account was successfully logged on"
          }
          additional:  {
            fields:  {
              key:  "Message"
              value:  {
                string_value:  "An account was successfully logged on."
                               "Subject:Security ID:S-1-0-0"
                               "Account Name:-... (omitted for brevity) ..."
                               "New Logon:Security ID:S-1-5-21-1234567890-123456789-1234567890-2001"
                               "Account Name:svc_log_collector"
                               "Account Domain:SEC_LAB... (omitted for brevity) ..."
                               "Network Information:"
                               "Workstation Name:DEV-WS-42"
                               "Source Network Address:172.16.1.100"
                               "Source Port:53856..."
              }
            }
            fields:  {
              key:  "Workstation Name"
              value:  {
                string_value:  "DEV-WS-42"
              }
            }
          }
          principal:  {
            hostname:  "DEV-WS-42"
            process:  {}
            asset:  {
              hostname:  "DEV-WS-42"
              ip:  "172.16.1.100"
            }
            ip:  "172.16.1.100"
            port:  53856
            labels:  {
              key:  "Workstation Name"
              value:  "DEV-WS-42"
            }
          }
          target:  {
            user:  {
              userid:  "svc_log_collector"
              windows_sid:  "S-1-5-21-1234567890-123456789-1234567890-2001"
            }
            administrative_domain:  "SEC_LAB"
          }
          intermediary:  {
            hostname:  "win-server-01"
          }
          security_result:  {
            rule_name:  "EventID: 4624"
            action:  ALLOW
          }
          extensions:  {
            auth:  {
              mechanism:  MECHANISM_UNSPECIFIED
            }
          }
        }
      }
    }
    }
    
  • SYSLOG + XML (Solaris AuditD)

    {
      "events_for_log_entry": {
        "events": {
          "timestamp": {
            "seconds": 1735824379
          },
          "idm": {
            "read_only_udm": {
              "metadata": {
                "product_log_id": "1638473100678580410",
                "event_timestamp": {
                  "seconds": 1735824379
                },
                "event_type": "PROCESS_LAUNCH",
                "vendor_name": "Linux",
                "product_name": "AuditD",
                "product_version": "2",
                "product_event_type": "AUE_EXECVE",
                "description": "<record version=\"2\" event=\"23\" host=\"192.0.2.1\" iso8601=\"1638473100678580410\">\n"
                               "  <ntrs hostname=\"sanitized-host-01\" eventstring=\"AUE_EXECVE\" timestamp=\"1638473100.678580410\" ppid=\"2853\"></ntrs>\n"
                               "  <path>/usr/bin/find</path>\n"
                               "  <attribute mode=\"100555\" uid=\"0\" gid=\"2\" fsid=\"256\" nodeid=\"722\" device=\"18446744073709551615\"/>\n"
                               "  <exec_args>\n"
                               "    <arg>find</arg>\n"
                               "    <arg>/var/log/secure</arg>\n"
                               "    <arg>-type</arg>\n"
                               "    <arg>f</arg>\n"
                               "    <arg>-xdev</arg>\n"
                               "    <arg>-prune</arg>\n"
                               "    <arg>-name</arg>\n"
                               "    <arg>secure_data_file.txt</arg>\n"
                               "    <arg>-mtime</arg>\n"
                               "    <arg>+3</arg>\n"
                               "    <arg>-exec</arg>\n"
                               "    <arg>rm</arg>\n"
                               "    <arg>-f</arg>\n"
                               "    <arg>{}</arg>\n"
                               "    <arg>;</arg>\n"
                               "  </exec_args>\n"
                               "  <path>/lib/ld.so.1</path>\n"
                               "  <attribute mode=\"100755\" uid=\"0\" gid=\"2\" fsid=\"256\" nodeid=\"449952\" device=\"18446744073709551615\"/>\n"
                               "  <subject audit-uid=\"99999\" uid=\"0\" gid=\"0\" ruid=\"0\" rgid=\"0\" pid=\"2871\" sid=\"1898719819\" tid=\"9307 196630 192.0.2.10\"/>\n"
                               "  <return errval=\"0\" retval=\"0\"/>\n"
                               "  <sequence seq-num=\"6849431\"/>\n"
                               "</record>"
              },
              "principal": {
                "hostname": "sanitized-host-01",
                "user": {
                  "userid": "99999"
                },
                "asset": {
                  "hostname": "sanitized-host-01",
                  "ip": "192.0.2.1"
                },
                "ip": "192.0.2.1",
                "platform": "LINUX"
              },
              "target": {
                "process": {
                  "parent_process": {
                    "pid": "2853"
                  },
                  "command_line": "find /var/log/secure -type f -xdev -prune -name secure_data_file.txt -mtime +3 -exec rm -f {} ;"
                }
              },
              "intermediary": {
                "hostname": "internal-proxy.local"
              },
              "security_result": {
                "detection_fields": [
                  { "key": "event", "value": "event: 23" },
                  { "key": "uid", "value": "uid: 0" },
                  { "key": "gid", "value": "gid: 0" },
                  { "key": "ruid", "value": "ruid: 0" },
                  { "key": "rgid", "value": "rgid: 0" },
                  { "key": "pid", "value": "pid: 2871" },
                  { "key": "sid", "value": "sid: 1898719819" },
                  { "key": "tid", "value": "tid: 9307 196630 192.0.2.10" },
                  { "key": "seq_num", "value": "seq_num: 6849431" },
                  { "key": "errval", "value": "errval: 0" },
                  { "key": "retval", "value": "retval: 0" },
                  { "key": "path", "value": "path: /usr/bin/find" },
                  { "key": "device", "value": "device: 18446744073709551615" },
                  { "key": "mode", "value": "mode: 100555" },
                  { "key": "fsid", "value": "fsid: 256" },
                  { "key": "nodeid", "value": "nodeid: 722" }
                ]
              }
            }
          }
        }
      }
    }
    

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Bemerkung
acct target.user.user_display_name Der Wert von acct aus dem Rohlog wird dem Feld target.user.user_display_name im UDM zugeordnet. Das Konto, das mit dem Ereignis verknüpft ist.
addr principal.ip Der Wert von addr aus dem Rohlog wird dem Feld principal.ip im UDM zugeordnet. Dies ist die IP-Adresse des Hauptkontos, das an der Aktion beteiligt ist.
additional.fields additional.fields Dem additional.fields-Array im UDM werden zusätzliche Felder aus geparsten Schlüssel/Wert-Paaren oder Labels hinzugefügt.
agent.googleapis.com/log_file_path (Nicht zugeordnet) Dieses Label ist in einigen Rohlogs vorhanden, wird aber nicht dem IDM-Objekt im UDM zugeordnet.
algo (In diesem Beispiel nicht verwendet) Dieses Feld ist zwar im Parser und in einigen Rohlogs vorhanden, wird aber im bereitgestellten Beispiel nicht verwendet und erscheint nicht im endgültigen UDM.
application principal.application Abgeleitet vom Feld terminal im Rohlog oder von anderen Feldern wie exe, je nach Logtyp. Stellt die beteiligte Anwendung dar.
arch security_result.about.platform_version Die Architektur aus dem Feld arch des Rohlogs wird security_result.about.platform_version zugeordnet.
auid about.user.userid, security_result.detection_fields.auid Die Audit-Nutzer-ID (auid) wird about.user.userid zugeordnet und als Erkennungsfeld in security_result hinzugefügt.
cmd target.process.command_line Der Befehl aus dem Feld cmd des Rohlogs wird target.process.command_line zugeordnet.
collection_time (Nicht zugeordnet) Dieses Feld enthält den Zeitpunkt der Protokollerfassung und wird nicht dem IDM-Objekt im UDM zugeordnet.
comm principal.application Der Befehlsname (comm) wird principal.application zugeordnet.
COMMAND target.process.command_line
compute.googleapis.com/resource_name principal.hostname Der Ressourcenname dieses Labels wird principal.hostname zugeordnet.
create_time (Nicht zugeordnet) Dieses Feld wird im UDM nicht dem IDM-Objekt zugeordnet.
cwd security_result.detection_fields.cwd Das aktuelle Arbeitsverzeichnis (cwd) wird als Erkennungsfeld in security_result hinzugefügt.
data (Verarbeitet) Das Feld data enthält den Haupt-Logeintrag und wird vom Parser verarbeitet, um verschiedene Felder zu extrahieren. Es wird nicht direkt einem einzelnen UDM-Feld zugeordnet.
exe target.process.file.full_path Der Programmdateipfad (exe) ist target.process.file.full_path zugeordnet.
extensions.auth.type extensions.auth.type Der Authentifizierungstyp wird von der Parserlogik basierend auf dem Ereignistyp festgelegt. Wird häufig auf MACHINE oder AUTHTYPE_UNSPECIFIED festgelegt.
fp network.tls.client.certificate.sha256 Der Fingerabdruck (fp) wird geparst, um den SHA256-Hash zu extrahieren und network.tls.client.certificate.sha256 zuzuordnen.
_Item_Id metadata.product_log_id
insertId (Nicht zugeordnet) Dieses Feld wird im UDM nicht dem IDM-Objekt zugeordnet.
jsonPayload.message (Verarbeitet) Dieses Feld enthält den Haupt-Logeintrag im JSON-Format und wird vom Parser verarbeitet.
key security_result.about.registry.registry_key Das Schlüsselfeld ist security_result.about.registry.registry_key zugeordnet.
labels (Verarbeitet) Labels aus dem Rohlog werden verarbeitet und verschiedenen UDM-Feldern zugeordnet oder additional.fields hinzugefügt.
logName (Nicht zugeordnet) Dieses Feld wird im UDM nicht dem IDM-Objekt zugeordnet.
metadata.product_event_type SECCOMP Die Kurve für den Schlüsselaustausch wird aus dem Rohlog extrahiert und diesem Feld zugeordnet.
msg security_result.summary Die Nachricht (msg) wird häufig verwendet, um das Feld security_result.summary auszufüllen.
network.application_protocol network.application_protocol Wird von der Parserlogik basierend auf dem Ereignistyp (z.B. SSH, HTTP) festgelegt.
network.direction network.direction Wird von der Parserlogik basierend auf dem Ereignistyp festgelegt (z.B. INBOUND, OUTBOUND).
network.ip_protocol network.ip_protocol Wird von der Parserlogik festgelegt, in der Regel auf TCP für SSH-Ereignisse.
network.session_id network.session_id Wird aus dem Feld ses zugeordnet oder aus anderen Feldern abgeleitet.
network.tls.cipher network.tls.cipher Die Chiffrierinformationen werden aus dem Rohprotokoll extrahiert und diesem Feld zugeordnet.
network.tls.curve network.tls.curve Die Kurve für den Schlüsselaustausch wird aus dem Rohlog extrahiert und diesem Feld zugeordnet.
pid principal.process.pid, target.process.pid Die Prozess-ID (pid) wird je nach Kontext entweder principal.process.pid oder target.process.pid zugeordnet.
ppid principal.process.parent_process.pid, target.process.parent_process.pid Die ID des übergeordneten Prozesses (ppid) wird je nach Kontext entweder principal.process.parent_process.pid oder target.process.parent_process.pid zugeordnet.
principal.asset.hostname principal.asset.hostname Kopiert von principal.hostname.
principal.asset.ip principal.asset.ip Kopiert von principal.ip.
principal.platform principal.platform Wird von der Parserlogik basierend auf dem Betriebssystem (z.B. LINUX) festgelegt.
principal.port principal.port Die Portnummer, die mit dem Prinzipal verknüpft ist.
principal.user.group_identifiers principal.user.group_identifiers Gruppen-IDs, die dem Hauptnutzer zugeordnet sind.
process.name target.process.file.full_path
receiveTimestamp (Nicht zugeordnet) Dieses Feld enthält den Zeitstempel für den Empfang des Logs und wird nicht dem IDM-Objekt im UDM zugeordnet.
res security_result.action_details Das Ergebnis (res) wird security_result.action_details zugeordnet.
_Resource_Id target.resource.product_object_id
resource.labels (Nicht zugeordnet) Diese Labels sind in einigen Rohlogs vorhanden, werden aber im UDM nicht dem IDM-Objekt zugeordnet.
resource.type (Nicht zugeordnet) Dieses Feld ist in einigen Rohlogs vorhanden, wird aber nicht dem IDM-Objekt im UDM zugeordnet.
security_result.action security_result.action Wird von der Parserlogik basierend auf dem Feld res festgelegt (z.B. ALLOW, BLOCK).
security_result.detection_fields security_result.detection_fields Diesem Array werden verschiedene Felder aus dem Rohlog als Schlüssel/Wert-Paare für den Kontext hinzugefügt.
security_result.rule_id security_result.rule_id Wird von der Parserlogik festgelegt, häufig auf type_name für Syscall-Ereignisse.
security_result.severity security_result.severity Wird von der Parserlogik basierend auf dem Schweregrad im Rohlog festgelegt.
security_result.summary security_result.summary Eine Zusammenfassung des Ereignisses, die oft aus dem Feld msg oder anderen relevanten Feldern abgeleitet wird.
ses network.session_id Die Sitzungs-ID (ses) wird network.session_id zugeordnet.
source (Nicht zugeordnet) Dieses Feld enthält Metadaten zur Protokollquelle und wird nicht dem IDM-Objekt im UDM zugeordnet.
subj (Verarbeitet) Das Betrefffeld (subj) wird verarbeitet, um Nutzer- und Sicherheitskontextinformationen zu extrahieren.
syscall security_result.about.labels.Syscall Die Syscall-Nummer wird als Label in security_result.about hinzugefügt.
target.administrative_domain target.administrative_domain Die Domain des Zielnutzers.
target.group.group_display_name target.group.group_display_name Der Name der Zielgruppe.
target.ip target.ip Die IP-Adresse des Ziels.
target.port target.port Die mit dem Ziel verknüpfte Portnummer.
target.process.command_line target.process.command_line Die Befehlszeile des Zielprozesses.
target.resource.type target.resource.type Der Typ der Zielressource, der von der Parserlogik festgelegt wird (z.B. CREDENTIAL, SETTING).
target.user.attribute.permissions target.user.attribute.permissions Berechtigungen, die sich auf den Zielnutzer beziehen.
target.user.group_identifiers target.user.group_identifiers Gruppen-IDs, die dem Zielnutzer zugeordnet sind.
target.user.userid target.user.userid Die Nutzer-ID des Ziels.
TenantId metadata.product_deployment_id
textPayload (Verarbeitet) Die Textnutzlast des Logs, die vom Parser verarbeitet wird, um verschiedene Felder zu extrahieren.
timestamp metadata.event_timestamp Der Zeitstempel des Ereignisses.
tty security_result.about.labels.tty Das TTY wird als Label in security_result.about hinzugefügt.
type metadata.product_event_type Der Ereignistyp (type) wird metadata.product_event_type zugeordnet.
uid target.user.userid Die Nutzer-ID (uid) wird target.user.userid zugeordnet.

UDM-Abgleichsdelta-Referenz

Am 23. September 2025 hat Google SecOps eine neue Version des Okta-Parsers veröffentlicht, die erhebliche Änderungen bei der Zuordnung von Okta-Logfeldern zu UDM-Feldern und bei der Zuordnung von Ereignistypen enthält.

Delta der Zuordnung von Logfeldern

In der folgenden Tabelle ist das Zuordnungsdelta für Okta-Log-zu-UDM-Felder aufgeführt, die vor dem 23. September 2025 und danach verfügbar waren (in den Spalten Alte Zuordnung bzw. Aktuelle Zuordnung).

Logfeld Alte Zuordnung Aktuelle Zuordnung Beispiel für Referenzlog
1.1.1.1 (IP-Adresse) src.ip principal.ip "<163>Apr 10 09:00:05 hostname.com sshd[3318513]: Accepted password for abc from 1.1.1.1 port 33988 ssh2"
1.1.1.1 (IP-Adresse) principal.ip target.ip "<29>Oct 5 08:37:16 abc ProxySG: E0000 Access Log HTTP (main): Connecting to server 1.1.1.1 on port 4433.(0) NORMAL_EVENT alog_stream_http.cpp 261"
abc (Nutzer) principal.user.userid target.user.userid "<85>Feb 27 08:26:55 offozcav login: FAILED LOGIN 1 FROM ::ffff:1.1.1.1 FOR abc, Authentication failure\r\n\r\n"
abc.abc (Nutzer) principal.user.userid target.user.userid "<86>Feb 27 08:29:19 offozcav login: LOGIN ON pts/43 BY abc.abc FROM\r\n\r\n::ffff:1.1.1.1"
COMMAND principal.process.command_line target.process.command_line "<85>Sep 24 14:33:59 abc sudo: abc : \r\nTTY=unknown ; PWD=/abc ; USER=abc ; COMMAND=/sbin/iptables -t nat -nL \r\n--line-number"
exe target.process.file.full_path principal.process.file.full_path
_ItemId additional.fields metadata.product_log_id
metadata.product_event_type PATH SECCOMP
process.name principal.process.file.full_path target.process.file.full_path
_ResourceId additional.fields target.resource.product_object_id
TenantId additional.fields metadata.product_deployment_id
uid principal.user.userid target.user.userid
USER principal.user.user_display_name target.user.userid "<85>Sep 24 14:33:59 abc sudo: abc : \r\nTTY=unknown ; PWD=/abc ; USER=abc ; COMMAND=/sbin/iptables -t nat -nL \r\n--line-number"
user principal.user.userid target.user.userid „29>Jan 16 11:28:00 san-auth-1-irl2 tac_plus[17329]: login failure: user 1.1.1.1 (1.1.1.1) vty0“
user principal.user.userid target.user.userid "<87>Jul 15 10:27:01 xpgjrconfdb01 crond[1045]: pam_unix(crond:account): expired password for user root (password aged)"

Delta der Ereignistypzuordnung

Mehrere Ereignisse, die zuvor als generisches Ereignis klassifiziert wurden, werden jetzt korrekt mit aussagekräftigen Ereignistypen klassifiziert.

In der folgenden Tabelle ist die Änderung bei der Verarbeitung von Okta-Ereignistypen vor dem 23. September 2025 und danach aufgeführt (in den Spalten Old event_type und Current event_type).

eventType aus dem Log Alter event_type Aktueller event_type
aix_event_type=CRON_Start USER_LOGIN PROCESS_LAUNCH
CRYPTO_KEY_USER NETWORK_CONNECTION USER_LOGIN
FILE_Mknod USER_LOGIN FILE_CREATION
FILE_Rename USER_LOGIN FILE_MODIFICATION
FILE_Stat USER_LOGIN FILE_OPEN
FILE_Unlink USER_LOGIN FILE_DELETION
FS_Chabc USER_LOGIN PROCESS_UNCATEGORIZED
FS_Mkdir USER_LOGIN FILE_CREATION
FS_Rmdir USER_LOGIN FILE_DELETION
PROC_Execute USER_LOGIN PROCESS_LAUNCH
type=ANOM_ABEND STATUS_UPDATE PROCESS_TERMINATION
type=ANOM_PROMISCUOUS SETTING_MODIFICATION
type=CRED_REFR USER_LOGIN USER_CHANGE_PERMISSIONS
type=PROCTILE PROCESS_UNCATEGORIZED PROCESS_LAUNCH
type=SERVICE_START USER_RESOURCE_ACCESS SERVICE_START
type=SERVICE_STOP USER_RESOURCE_ACCESS SERVICE_STOP
type=USER_ACCT USER_LOGIN/SETTING_MODIFICTION USER_LOGIN
type=USER_MGMT SETTING_MODIFICATION/GROUP_MODIFICATION GROUP_MODIFICATION
USER_ERR USER_LOGOUT USER_LOGIN

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