Sophos DHCP-Logs erfassen
In diesem Dokument wird beschrieben, wie Sie Sophos DHCP-Logs (Dynamic Host Configuration Protocol) mit Bindplane in Google Security Operations aufnehmen. Der Parser normalisiert Sophos DHCP-Syslog-Nachrichten zuerst in eine Schlüssel-Wert-Struktur und ordnet dann die extrahierten Felder dem Schema für einheitliche Datenmodelle (Unified Data Model, UDM) zu. Es verarbeitet verschiedene DHCP-Nachrichtentypen (DHCPREQUEST, DHCPACK, DHCPOFFER, DHCPNAK) und extrahiert relevante Informationen wie IP-Adressen, MAC-Adressen und DHCP-Optionen.
Hinweise
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.
- Privilegierter Zugriff auf die Sophos UTM-Verwaltungskonsole oder die Web-Admin-Konsole von Sophos Firewall (SFOS).
Authentifizierungsdatei für die Aufnahme in Google SecOps abrufen
- Melden Sie sich in der Google SecOps-Konsole an.
- Rufen Sie die SIEM-Einstellungen > Collection Agents auf.
- Laden Sie die Authentifizierungsdatei für die Aufnahme 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 im Installationsleitfaden.
BindPlane-Agent zum Erfassen von Syslog-Daten und Senden an Google SecOps konfigurieren
- Rufen Sie die Konfigurationsdatei auf:
- Suchen Sie die Datei
config.yaml
. Normalerweise befindet sie sich unter Linux im Verzeichnis/etc/bindplane-agent/
oder unter Windows im Installationsverzeichnis. - Öffnen Sie die Datei mit einem Texteditor (z. B.
nano
,vi
oder Notepad).
- Suchen Sie die Datei
Bearbeiten Sie die Datei
config.yaml
so: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: <CUSTOMER_ID> endpoint: malachiteingestion-pa.googleapis.com # Add optional ingestion labels for better organization log_type: 'SOPHOS_DHCP' 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
<CUSTOMER_ID>
durch die tatsächliche Kundennummer. - Aktualisieren Sie
/path/to/ingestion-authentication-file.json
auf den Pfad, in dem die Authentifizierungsdatei im Abschnitt Authentifizierungsdatei für die Google SecOps-Aufnahme abrufen gespeichert wurde.
Bindplane-Agent neu starten, um die Änderungen zu übernehmen
Führen Sie den folgenden Befehl aus, um den BindPlane-Agent unter Linux neu zu starten:
sudo systemctl restart observiq-otel-collector
Wenn Sie den BindPlane-Agent unter Windows neu starten möchten, können Sie entweder die Dienste-Konsole verwenden oder den folgenden Befehl eingeben:
sc stop observiq-otel-collector && sc start observiq-otel-collector
Option 2: Syslog-Weiterleitung auf der Sophos Firewall konfigurieren
- Melden Sie sich in der Sophos Firewall Web Admin Console an.
- Gehen Sie zu Konfigurieren > Systemdienste > Protokolleinstellungen.
- Klicken Sie auf Hinzufügen, um einen Syslog-Server zu konfigurieren.
- Geben Sie die folgenden Konfigurationsdetails an:
- Name: Geben Sie einen eindeutigen Namen für den Google SecOps-Collector ein, z. B.
Google SecOps BindPlane DHCP
. - IP-Adresse/Domain: Geben Sie die BindPlane-IP-Adresse ein.
- Port: Geben Sie die BindPlane-Portnummer ein (z. B.
514
). - Einrichtung: Wählen Sie DAEMON aus.
- Schweregrad: Wählen Sie Information aus.
- Format: Wählen Sie Device standard format aus.
- Name: Geben Sie einen eindeutigen Namen für den Google SecOps-Collector ein, z. B.
- Klicken Sie auf Speichern.
- Kehren Sie zur Seite Log Settings (Protokolleinstellungen) zurück und wählen Sie die spezifischen Protokolltypen aus, die an den Syslog-Server weitergeleitet werden sollen.
- Wählen Sie die entsprechenden Protokollkategorien aus, die DHCP-Ereignisse enthalten. DHCP-Logs werden vom dhcpd-Dienst generiert und sind Teil von Netzwerk- oder Systemlogs, die weitergeleitet werden, wenn die entsprechenden Logkategorien aktiviert sind.
- Klicken Sie auf Übernehmen, um die Konfiguration zu speichern.
Option 1: Syslog-Weiterleitung auf Sophos UTM konfigurieren
- Melden Sie sich in der Sophos UTM Management Console an.
- Gehen Sie zu Logging & Reporting > Log Settings> Remote Syslog Server.
- Klicken Sie auf die Ein/Aus-Schaltfläche, um das Remote-Syslog zu aktivieren. Der Bereich „Remote Syslog Settings“ (Remote-Syslog-Einstellungen) kann bearbeitet werden.
- Klicken Sie im Feld Syslog-Server auf + Syslog-Server hinzufügen.
- Geben Sie im Dialogfeld Syslog-Server hinzufügen die folgenden Konfigurationsdetails an:
- Name: Geben Sie einen aussagekräftigen Namen ein, z. B.
Google SecOps BindPlane DHCP
. - Server: Klicken Sie neben dem Feld „Server“ auf das Symbol + (Pluszeichen). Erstellen oder wählen Sie einen Host aus den Netzwerkdefinitionen mit der IP-Adresse des BindPlane-Agents aus und klicken Sie auf Speichern.
- Port: Klicken Sie neben dem Feld Port auf das Symbol + (Pluszeichen). Erstellen oder wählen Sie eine Service Definition (Dienstdefinition) mit dem entsprechenden Protokoll und Port aus (z. B. UDP/514) und klicken Sie auf Save (Speichern).
- Name: Geben Sie einen aussagekräftigen Namen ein, z. B.
- Klicken Sie im Dialogfeld Syslog-Server hinzufügen auf Speichern.
- Klicken Sie im Bereich Einstellungen für Remote-Syslog auf Übernehmen.
- Optional: Passen Sie die Einstellung Remote Syslog Buffer (Standard ist 1000 Zeilen) an und klicken Sie auf Apply (Anwenden).
- Wählen Sie im Abschnitt Remote Syslog Log Selection (Auswahl von Remote-Syslog-Logs) DHCP Server (DHCP-Server) und die erforderlichen Logkategorien aus.
- Klicken Sie auf Übernehmen, um die Einstellungen für die Protokollauswahl zu speichern.
UDM-Zuordnungstabelle
Logfeld | UDM-Zuordnung | Logik |
---|---|---|
Aktion | event.idm.read_only_udm.security_result.action_details | |
attr_address | event.idm.read_only_udm.target.ip | |
attr_addresses | event.idm.read_only_udm.target.ip | |
Anruf | event.idm.read_only_udm.security_result.summary | |
Client | event.idm.read_only_udm.principal.hostname | |
Client | event1.idm.read_only_udm.principal.hostname | |
Daten | ||
dstip | event.idm.read_only_udm.target.ip | |
dstmac | event.idm.read_only_udm.target.mac | |
dstport | event.idm.read_only_udm.target.port | |
fwrule | event.idm.read_only_udm.security_result.rule_id | |
id | event.idm.read_only_udm.metadata.product_event_type | Verkettet mit ulogd - |
id | event1.idm.read_only_udm.metadata.product_event_type | Verkettet mit ID - |
Info | event.idm.read_only_udm.security_result.description | |
initf | event.idm.read_only_udm.security_result.about.labels.value | Schlüssel ist hartcodiert auf In Interface |
msg | event.idm.read_only_udm.metadata.description | Wenn „process_type“ nicht confd oder ulogd ist |
Name | event.idm.read_only_udm.security_result.description | |
objname | event.idm.read_only_udm.principal.resource.name | |
oldattr_address | event.idm.read_only_udm.principal.ip | |
oldattr_addresses | event.idm.read_only_udm.principal.ip | |
outitf | event.idm.read_only_udm.security_result.about.labels.value | Schlüssel ist hartcodiert auf Out Interface |
pid | event.idm.read_only_udm.principal.process.pid | |
Proto | event.idm.read_only_udm.network.ip_protocol | |
die Ausprägung | event.idm.read_only_udm.security_result.severity | Wenn der Schweregrad info oder debug ist, ist security_result.severity INFORMATIONAL . Wenn der Schweregrad warn ist, ist security_result.severity MEDIUM . |
die Ausprägung | event1.idm.read_only_udm.security_result.severity | Wenn der Schweregrad info oder debug ist, ist security_result.severity INFORMATIONAL . Wenn der Schweregrad warn ist, ist security_result.severity MEDIUM . |
sid | event.idm.read_only_udm.security_result.about.labels.value | Schlüssel ist hartcodiert auf sid |
src_host | event.idm.read_only_udm.principal.hostname | Wenn „process_type“ den Wert dhcpd und „dhcp_type“ den Wert DHCPREQUEST , DHCPACK oder DHCPOFFER hat |
src_host | event.idm.read_only_udm.observer.hostname | Wenn „process_type“ dhcpd und „dhcp_type“ DHCPREQUEST ist |
src_host | event.idm.read_only_udm.network.dhcp.client_hostname | Wenn „process_type“ dhcpd und „dhcp_type“ DHCPACK oder DHCPOFFER ist |
src_ip | event.idm.read_only_udm.network.dhcp.ciaddr | Wenn „process_type“ dhcpd und „dhcp_type“ DHCPREQUEST ist |
src_ip | event.idm.read_only_udm.network.dhcp.yiaddr | Wenn „process_type“ den Wert dhcpd und „dhcp_type“ den Wert DHCPACK , DHCPOFFER oder DHCPNAK hat |
src_ip | event.idm.read_only_udm.principal.ip | Wenn „process_type“ den Wert dhcpd und „dhcp_type“ den Wert DHCPREQUEST , DHCPACK , DHCPOFFER oder DHCPNAK hat |
src_ip | event.idm.read_only_udm.observer.ip | Wenn „process_type“ den Wert dhcpd und „dhcp_type“ den Wert DHCPREQUEST , DHCPACK oder DHCPOFFER hat |
src_mac | event.idm.read_only_udm.network.dhcp.chaddr | Wenn „process_type“ den Wert dhcpd und „dhcp_type“ den Wert DHCPREQUEST , DHCPACK , DHCPOFFER oder DHCPNAK hat |
src_mac | event.idm.read_only_udm.principal.mac | Wenn „process_type“ den Wert dhcpd und „dhcp_type“ den Wert DHCPREQUEST , DHCPACK , DHCPOFFER oder DHCPNAK hat |
srcip | event.idm.read_only_udm.principal.ip | |
srcip | event1.idm.read_only_udm.principal.ip | |
srcmac | event.idm.read_only_udm.principal.mac | |
srcport | event.idm.read_only_udm.principal.port | |
sub | event.idm.read_only_udm.metadata.description | |
sub | event1.idm.read_only_udm.metadata.description | |
tcpflags | event.idm.read_only_udm.security_result.about.labels.value | Schlüssel ist hartcodiert auf TCP Flags |
Nutzer | event.idm.read_only_udm.principal.user.userid | |
Nutzer | event1.idm.read_only_udm.principal.user.userid | |
event.idm.read_only_udm.metadata.event_type | GENERIC_EVENT , wenn kein anderer „event_type“ festgelegt ist. NETWORK_CONNECTION , wenn „srcip“ und „dstip“ nicht leer sind. RESOURCE_WRITTEN , wenn der Name object changed ist. NETWORK_DHCP , wenn „process_type“ dhcpd ist |
|
event.idm.read_only_udm.metadata.log_type | Fest codiert auf SOPHOS_DHCP |
|
event.idm.read_only_udm.metadata.product_name | Fest codiert auf SOPHOS_DHCP |
|
event.idm.read_only_udm.metadata.vendor_name | Fest codiert auf SOPHOS |
|
event.idm.read_only_udm.network.application_protocol | Bei „process_type“ = dhcpd ist der Wert fest auf DHCP codiert. |
|
event.idm.read_only_udm.network.dhcp.opcode | Fest codiert auf BOOTREQUEST , wenn „process_type“ dhcpd und „dhcp_type“ DHCPREQUEST ist. Fest codiert auf BOOTREPLY , wenn process_type dhcpd und dhcp_type DHCPACK , DHCPOFFER oder DHCPNAK ist. |
|
event.idm.read_only_udm.network.dhcp.type | REQUEST , wenn „process_type“ dhcpd und „dhcp_type“ DHCPREQUEST ist. ACK , wenn „process_type“ dhcpd und „dhcp_type“ DHCPACK ist. OFFER , wenn „process_type“ dhcpd und „dhcp_type“ DHCPOFFER ist. NAK , wenn „process_type“ dhcpd und „dhcp_type“ DHCPNAK ist |
|
event1.idm.read_only_udm.metadata.event_type | Fest codiert auf GENERIC_EVENT |
|
event1.idm.read_only_udm.metadata.log_type | Fest codiert auf SOPHOS_DHCP |
|
event1.idm.read_only_udm.metadata.product_name | Fest codiert auf SOPHOS_DHCP |
|
event1.idm.read_only_udm.metadata.vendor_name | Fest codiert auf SOPHOS |
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten