Syslog-Daten von Apple macOS erheben

Unterstützt in:

Dieser Parser verwendet Grok-Muster, um Felder aus Apple macOS-Syslog-Nachrichten zu extrahieren, und füllt das Unified Data Model (UDM) mit den extrahierten Werten wie Zeitstempel, Hostname, Zwischenhost, Befehlszeile, Prozess-ID und Beschreibung aus. Der Parser kategorisiert das Ereignis als STATUS_UPDATE, wenn ein Hostname vorhanden ist. Andernfalls wird dem Ereignis die Kategorie GENERIC_EVENT zugewiesen. Schließlich wird das UDM-Ereignis vom Parser mit Anbieter- und Produktinformationen angereichert.

Hinweis

  • Sie benötigen eine Google Security Operations-Instanz.
  • Sie benötigen Root-Zugriff auf den Auditd-Host.
  • Prüfen Sie, ob Sie rsyslog auf dem Auditd-Host installiert haben.
  • Sie benötigen Windows 2012 SP2 oder höher oder einen Linux-Host mit systemd.
  • Wenn die Ausführung hinter einem Proxy erfolgt, müssen die Firewallports geöffnet sein.

Authentifizierungsdatei für die Aufnahme in Google SecOps abrufen

  1. Melden Sie sich in der Google SecOps Console an.
  2. Gehen Sie zu SIEM-Einstellungen > Erfassungs-Agent.
  3. Lade die Datei zur Authentifizierung der Datenaufnahme herunter.

Google SecOps-Kundennummer abrufen

  1. Melden Sie sich in der Google SecOps Console an.
  2. Gehen Sie zu SIEM-Einstellungen > Profile.
  3. Kopieren und speichern Sie die Kundennummer aus dem Bereich Organisationsdetails.

BindPlane-Agent installieren

  1. Führen Sie für die Windows-Installation das folgende Script aus:
    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet.
  2. Führen Sie für die Linux-Installation das folgende Script aus:
    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh.
  3. Weitere Installationsoptionen finden Sie in diesem Installationsleitfaden.

BindPlane-Agent so konfigurieren, dass er Syslog-Protokolle aufnimmt und an Google SecOps sendet

  1. Rufen Sie den Computer auf, auf dem BindPlane installiert ist.
  2. Bearbeiten Sie die Datei config.yamlso:

    receivers:
      tcplog:
        # Replace the below port <54525> and IP <0.0.0.0> with your specific values
        listen_address: "0.0.0.0:54525" 
    
    exporters:
        chronicle/chronicle_w_labels:
            compression: gzip
            # Adjust the creds location below according 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/source0__chronicle_w_labels-0:
                receivers:
                    - tcplog
                exporters:
                    - chronicle/chronicle_w_labels
    
  3. Starten Sie den BindPlane-Agent mit dem folgenden Befehl neu, um die Änderungen anzuwenden: sudo systemctl bindplane restart

Syslog-Protokolle aus macOS exportieren

  1. syslog-ng mit Homebrew installieren:

    brew install syslog-ng
    
  2. Konfigurieren Sie syslog-ng:

    • Bearbeiten Sie die Datei syslog-ng.conf (normalerweise unter /usr/local/etc/syslog-ng/syslog-ng.conf):
    sudo vi /usr/local/etc/syslog-ng/syslog-ng.conf
    
    • Fügen Sie den folgenden Konfigurationsblock hinzu.
      • Je nach BindPlane-Konfiguration kannst du die Zustellungsmethode in tcp ändern oder bei udp belassen.
      • Ersetzen Sie <BindPlaneAgent_IP> und <BindPlaneAgent_Port> durch die tatsächliche IP-Adresse und den tatsächlichen Port Ihres BindPlane-Agents:
    source s_local { system(); internal(); };
    destination d_secops { tcp("<BindPlaneAgent_IP>:<BindPlaneAgent_Port>"); };
    log { source(s_local); destination(d_secops); };
    
  3. Starten Sie den Dienst syslog-ng neu:

    brew services restart syslog-ng
    
  4. Prüfen Sie den Status von syslog-ng. syslog-ng sollte als „Gestartet“ angezeigt werden:

    brew services list
    

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
Daten read_only_udm.metadata.description Der Wert des Felds description wird mithilfe eines Grok-Musters aus dem Feld data im Rohprotokoll extrahiert.
Daten read_only_udm.principal.hostname Der Hostname wird mithilfe eines Grok-Musters aus dem Feld data extrahiert.
Daten read_only_udm.intermediary.hostname Der Zwischenhostname wird mithilfe eines Grok-Musters aus dem Feld data extrahiert.
Daten read_only_udm.principal.process.command_line Die Befehlszeile für den Prozess wird mit einem Grok-Muster aus dem Feld data extrahiert.
Daten read_only_udm.principal.process.pid Die Prozess-ID wird mit einem Grok-Muster aus dem Feld data extrahiert.
Daten read_only_udm.metadata.event_timestamp Der Ereigniszeitstempel wird mit einem Grok-Muster aus dem Feld data extrahiert und in ein Zeitstempelobjekt umgewandelt. Im Parser auf „MacOS“ hartcodiert. Im Parser auf „Apfel“ hartcodiert. Legen Sie „STATUS_UPDATE“ fest, wenn ein Hostname aus den Protokollen extrahiert wird, andernfalls „GENERIC_EVENT“.
log_type read_only_udm.metadata.log_type Direkt aus dem Feld log_type des Rohlogs zugeordnet.

Änderungen

2022-05-04

  • Neu erstellter Parser.