macOS-Systemprotokolle erfassen
In diesem Dokument wird beschrieben, wie Sie macOS-Systemlogs mit Bindplane in Google Security Operations aufnehmen. macOS verwendet das Apple Unified Logging-System, um Ereignisse auf Systemebene zu erfassen, darunter Authentifizierung, Prozessausführung, Kernelaktivität und Anwendungsverhalten. Diese Logs können über Syslog an einen Remote-Collector weitergeleitet werden, um zentrales Sicherheitsmonitoring und ‑analysen zu ermöglichen.
Hinweis
Prüfen Sie, ob folgende Voraussetzungen erfüllt sind:
- Eine Google SecOps-Instanz.
- Ein Windows 2016- oder höher- oder Linux-Host mit systemd.
- Wenn Sie den Agent hinter einem Proxy ausführen, achten Sie darauf, dass die Firewallports gemäß den Anforderungen des Bindplane-Agents geöffnet sind.
- Administratorzugriff auf die macOS-Endpunkte, über die Logs weitergeleitet werden.
- macOS 10.12 (Sierra) oder höher mit Unterstützung für Unified Logging.
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 Datenaufnahme herunter.
- Speichern Sie die Datei sicher auf dem System, auf dem BindPlane installiert wird.
Google SecOps-Kundennummer abrufen
- Melden Sie sich in der Google SecOps-Konsole an.
- Rufen Sie die SIEM-Einstellungen > Profile auf.
- Kopieren und speichern Sie die Kunden-ID aus dem Bereich Organisationsdetails.
BindPlane-Agent installieren
Installieren Sie den Bindplane-Agent auf Ihrem Windows- oder Linux-Betriebssystem gemäß der folgenden Anleitung.
Fenstereinbau
- Öffnen Sie die Eingabeaufforderung oder PowerShell als Administrator.
Führen Sie dazu diesen Befehl aus:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Linux-Installation
- Öffnen Sie ein Terminal mit Root- oder Sudo-Berechtigungen.
Führen Sie dazu diesen Befehl aus:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
Zusätzliche Installationsressourcen
Weitere Installationsoptionen finden Sie in diesem Installationsleitfaden.
BindPlane-Agent zum Erfassen von Syslog-Daten und Senden an Google SecOps konfigurieren
Konfigurationsdatei aufrufen:
- Suchen Sie die Datei
config.yaml. Normalerweise befindet sie sich unter Linux im Verzeichnis/observiq-otel-collector/oder unter Windows im Installationsverzeichnis. - Öffnen Sie die Datei mit einem Texteditor (z. B.
nano,vioder Notepad).
- Suchen Sie die Datei
Bearbeiten Sie die Datei
config.yamlso:receivers: udplog: # Replace the port and IP address as required listen_address: "0.0.0.0:514" exporters: chronicle/chronicle_w_labels: compression: gzip # Adjust the path to the credentials file you downloaded in Step 1 creds_file_path: '/path/to/ingestion-authentication-file.json' # Replace with your actual customer ID from Step 2 customer_id: <PLACEHOLDER_CUSTOMER_ID> endpoint: malachiteingestion-pa.googleapis.com # Add optional ingestion labels for better organization log_type: 'MACOS' raw_log_field: body ingestion_labels: service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - udplog exporters: - chronicle/chronicle_w_labels
- Ersetzen Sie den Port und die IP-Adresse nach Bedarf in Ihrer Infrastruktur.
- Ersetzen Sie
<PLACEHOLDER_CUSTOMER_ID>durch die tatsächliche Kundennummer. - Aktualisieren Sie
/path/to/ingestion-authentication-file.jsonauf den Dateipfad, in dem die Authentifizierungsdatei im Abschnitt Google SecOps-Aufnahmeauthentifizierungsdatei abrufen gespeichert wurde.
Bindplane-Agent neu starten, um die Änderungen zu übernehmen
So starten Sie den Bindplane-Agent unter Linux neu:
Führen Sie dazu diesen Befehl aus:
sudo systemctl restart observiq-otel-collectorPrüfen Sie, ob der Dienst ausgeführt wird:
sudo systemctl status observiq-otel-collectorLogs auf Fehler prüfen:
sudo journalctl -u observiq-otel-collector -f
So starten Sie den Bindplane-Agent unter Windows neu:
Wählen Sie eine der folgenden Optionen aus:
- Eingabeaufforderung oder PowerShell als Administrator:
net stop observiq-otel-collector && net start observiq-otel-collector- Services Console:
- Drücken Sie
Win+R, geben Sieservices.mscein und drücken Sie die Eingabetaste. - Suchen Sie nach observIQ OpenTelemetry Collector.
- Klicken Sie mit der rechten Maustaste und wählen Sie Neu starten aus.
- Drücken Sie
Prüfen Sie, ob der Dienst ausgeführt wird:
sc query observiq-otel-collectorLogs auf Fehler prüfen:
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
macOS-Syslog-Weiterleitung konfigurieren
macOS verwendet das Unified Logging-System. Wenn Sie Logs über Syslog an den BindPlane-Agent weiterleiten möchten, konfigurieren Sie den integrierten syslogd-Dienst auf jedem macOS-Endpunkt.
Option 1: Syslog-Weiterleitung mit syslog.conf konfigurieren
- Öffnen Sie Terminal auf dem macOS-Endpunkt.
Bearbeiten Sie die Syslog-Konfigurationsdatei:
sudo nano /etc/syslog.confFügen Sie am Ende der Datei die folgende Zeile hinzu, um alle Logs über UDP an den Bindplane-Agent weiterzuleiten:
*.* @<BINDPLANE_IP_ADDRESS>:514- Ersetzen Sie
<BINDPLANE_IP_ADDRESS>durch die IP-Adresse des Bindplane-Agent-Hosts (z. B.192.168.1.100).
- Ersetzen Sie
Speichern Sie die Datei und schließen Sie sie.
Starten Sie den Syslog-Daemon neu:
sudo launchctl unload /System/Library/LaunchDaemons/com.apple.syslogd.plist sudo launchctl load /System/Library/LaunchDaemons/com.apple.syslogd.plist
Option 2: Syslog-Weiterleitung mit „asl.conf“ konfigurieren
- Öffnen Sie Terminal auf dem macOS-Endpunkt.
Bearbeiten Sie die ASL-Konfigurationsdatei:
sudo nano /etc/asl.confFügen Sie die folgende Zeile hinzu, um Logs an den Remote-Syslog-Server weiterzuleiten:
? [= Sender kernel] forward <BINDPLANE_IP_ADDRESS>:514 ? [<= Level notice] forward <BINDPLANE_IP_ADDRESS>:514- Ersetzen Sie
<BINDPLANE_IP_ADDRESS>durch die IP-Adresse des Bindplane-Agent-Hosts.
- Ersetzen Sie
Speichern Sie die Datei und schließen Sie sie.
Starten Sie den Syslog-Daemon neu:
sudo launchctl unload /System/Library/LaunchDaemons/com.apple.syslogd.plist sudo launchctl load /System/Library/LaunchDaemons/com.apple.syslogd.plist
Logweiterleitung überprüfen
Generieren Sie auf dem macOS-Endpunkt einen Test-Logeintrag:
logger -p user.notice "Test syslog message for Bindplane"Prüfen Sie auf dem BindPlane-Agent-Host die Agentenlogs auf eingehende Nachrichten:
sudo journalctl -u observiq-otel-collector -f
UDM-Zuordnungstabelle
| Logfeld | UDM-Zuordnung | Logik |
|---|---|---|
activityIdentifier_label |
additional.fields |
Zusammengeführt |
backtrace_label |
additional.fields |
Zusammengeführt |
bootUUID_label |
additional.fields |
Zusammengeführt |
category_label |
additional.fields |
Zusammengeführt |
chronicle_log_type_label |
additional.fields |
Zusammengeführt |
formatString_label |
additional.fields |
Zusammengeführt |
log_type_label |
additional.fields |
Zusammengeführt |
machTimestamp_label |
additional.fields |
Zusammengeführt |
messageType_label |
additional.fields |
Zusammengeführt |
parentActivityIdentifier_label |
additional.fields |
Zusammengeführt |
processImageUUID_label |
additional.fields |
Zusammengeführt |
senderImageUUID_label |
additional.fields |
Zusammengeführt |
senderProgramCounter_label |
additional.fields |
Zusammengeführt |
subprocess_label |
additional.fields |
Zusammengeführt |
subsystem_label |
additional.fields |
Zusammengeführt |
threadID_label |
additional.fields |
Zusammengeführt |
traceID_label |
additional.fields |
Zusammengeführt |
intermediary_host |
intermediary.hostname |
Direkt zugeordnet |
attributes.message |
metadata.description |
Direkt zugeordnet |
description |
metadata.description |
Direkt zugeordnet |
eventMessage |
metadata.description |
Direkt zugeordnet |
timestamp |
metadata.event_timestamp |
Geparst als ISO8601 |
has_principal |
metadata.event_type |
Zugeordnet: true → STATUS_UPDATE |
has_user |
metadata.event_type |
Zugeordnet: true → USER_UNCATEGORIZED |
attributes.process |
metadata.product_event_type |
Direkt zugeordnet |
eventType |
metadata.product_event_type |
Direkt zugeordnet |
attributes.host |
principal.asset.hostname |
Direkt zugeordnet |
hostname |
principal.asset.hostname |
Direkt zugeordnet |
source |
principal.asset.hostname |
Direkt zugeordnet |
senderImagePath |
principal.file.full_path |
Direkt zugeordnet |
attributes.host |
principal.hostname |
Direkt zugeordnet |
hostname |
principal.hostname |
Direkt zugeordnet |
source |
principal.hostname |
Direkt zugeordnet |
command_line |
principal.process.command_line |
Direkt zugeordnet |
processImagePath |
principal.process.file.full_path |
Direkt zugeordnet |
attributes.pid |
principal.process.pid |
Direkt zugeordnet |
processID |
principal.process.pid |
Direkt zugeordnet |
process_id |
principal.process.pid |
Direkt zugeordnet |
userID |
principal.user.userid |
Direkt zugeordnet |
| – | metadata.event_type |
Konstante: USER_UNCATEGORIZED |
| – | metadata.product_name |
Konstante: MacOS |
| – | metadata.vendor_name |
Konstante: Apple |
| – | principal.platform |
Konstante: MAC |
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten