Syslog-Daten von Apple macOS erfassen

Unterstützt in:

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

Hinweise

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

Authentifizierungsdatei für die Aufnahme in Google SecOps abrufen

  1. Melden Sie sich in der Google SecOps-Konsole an.
  2. Rufen Sie die SIEM-Einstellungen > Collection Agent 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 > Profil auf.
  3. Kopieren und speichern Sie die Kunden-ID aus dem Bereich Organisationsdetails.

BindPlane-Agent installieren

  1. 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.
  2. 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.
  3. Weitere Installationsoptionen finden Sie in dieser Installationsanleitung.

Bindplane-Agent so konfigurieren, dass Syslog-Daten aufgenommen und an Google SecOps gesendet werden

  1. Greifen Sie auf den Computer zu, auf dem der BindPlane-Agent 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 neu, um die Änderungen zu übernehmen. Verwenden Sie dazu den folgenden Befehl: sudo systemctl bindplane restart

Syslog aus macOS exportieren

  1. Installieren Sie syslog-ng mit Homebrew:

    brew install syslog-ng
    
  2. Syslog-ng konfigurieren:

    • 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 können Sie die Zustellungsmethode in tcp ändern oder sie als udp beibehalten.
      • Ersetzen Sie <BindPlaneAgent_IP> und <BindPlaneAgent_Port> durch die tatsächliche IP-Adresse und den 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“ aufgeführt sein:

    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 Rohlog extrahiert.
Daten read_only_udm.principal.hostname Der Hostname wird aus dem Feld data mit einem Grok-Muster extrahiert.
Daten read_only_udm.intermediary.hostname Der Hostname des Vermittlers wird aus dem Feld data mit einem Grok-Muster extrahiert.
Daten read_only_udm.principal.process.command_line Die Prozessbefehlszeile 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 aus dem Feld data mit einem Grok-Muster extrahiert und in ein Zeitstempelobjekt konvertiert. Im Parser ist „MacOS“ hartcodiert. Im Parser ist „Apple“ fest codiert. Auf „STATUS_UPDATE“ festgelegt, wenn ein Hostname aus den Logs extrahiert wird, andernfalls auf „GENERIC_EVENT“.
log_type read_only_udm.metadata.log_type Direkt aus dem Feld log_type des Rohlogs zugeordnet.

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