Syslog-Daten von Apple macOS erfassen
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
- Melden Sie sich in der Google SecOps-Konsole an.
- Rufen Sie die SIEM-Einstellungen > Collection Agent auf.
- Laden Sie die Authentifizierungsdatei für die Aufnahme herunter.
Google SecOps-Kundennummer abrufen
- Melden Sie sich in der Google SecOps-Konsole an.
- Rufen Sie die SIEM-Einstellungen > Profil auf.
- Kopieren und speichern Sie die Kunden-ID aus dem Bereich Organisationsdetails.
BindPlane-Agent installieren
- 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
. - Weitere Installationsoptionen finden Sie in dieser Installationsanleitung.
Bindplane-Agent so konfigurieren, dass Syslog-Daten aufgenommen und an Google SecOps gesendet werden
- Greifen Sie auf den Computer zu, auf dem der BindPlane-Agent installiert ist.
Bearbeiten Sie die Datei
config.yaml
so: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
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
Installieren Sie
syslog-ng
mit Homebrew:brew install syslog-ng
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 alsudp
beibehalten. - Ersetzen Sie
<BindPlaneAgent_IP>
und<BindPlaneAgent_Port>
durch die tatsächliche IP-Adresse und den Port Ihres Bindplane-Agents:
- Je nach Bindplane-Konfiguration können Sie die Zustellungsmethode in
source s_local { system(); internal(); }; destination d_secops { tcp("<BindPlaneAgent_IP>:<BindPlaneAgent_Port>"); }; log { source(s_local); destination(d_secops); };
- Bearbeiten Sie die Datei
Starten Sie den Dienst
syslog-ng
neu:brew services restart syslog-ng
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