Sophos XG Firewall-Logs erfassen
In diesem Dokument wird beschrieben, wie Sie Sophos Next Gen (XG) Firewall-Logs mit Bindplane erfassen. Der Parser extrahiert Logs, normalisiert die Schlüssel/Wert-Paare und ordnet sie dem UDM zu. Es verarbeitet verschiedene Logformate, konvertiert Zeitstempel, reichert Netzwerkdaten an und kategorisiert Ereignisse anhand von Log-IDs und Netzwerkaktivitäten.
Hinweise
- Prüfen Sie, ob Sie eine Google Security Operations-Instanz haben.
- Achten Sie darauf, dass Sie Windows 2016 oder höher oder einen Linux-Host mit
systemd
verwenden. - Wenn Sie einen Proxy verwenden, müssen die Firewallports geöffnet sein.
- Sie benötigen privilegierten Zugriff auf die Sophos XG Firewall.
Authentifizierungsdatei für die Aufnahme in Google SecOps abrufen
- Melden Sie sich in der Google SecOps-Konsole an.
- Rufen Sie 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 > „Profil“ auf.
- Kopieren und speichern Sie die Kunden-ID aus dem Bereich Organisationsdetails.
BindPlane-Agent installieren
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
Greifen Sie auf die Konfigurationsdatei zu:
- Suchen Sie die Datei
config.yaml
. Normalerweise befindet es 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: '/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 ingestion_labels: log_type: SYSLOG namespace: sophos_firewall raw_log_field: body 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 Kunden-ID.Aktualisieren Sie
/path/to/ingestion-authentication-file.json
auf den Pfad, in dem die Authentifizierungsdatei im Abschnitt Google SecOps-Aufnahmeauthentifizierungsdatei 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 bindplane-agent
Wenn Sie den Bindplane-Agent unter Windows neu starten möchten, können Sie entweder die Konsole Dienste verwenden oder den folgenden Befehl eingeben:
net stop BindPlaneAgent && net start BindPlaneAgent
Syslog-Server für Sophos Firewall konfigurieren
- Melden Sie sich bei der Sophos XG Firewall an.
- Gehen Sie zu Konfigurieren > Systemdienste > Protokolleinstellungen.
- Klicken Sie im Bereich Syslog-Server auf Hinzufügen.
- Geben Sie die folgenden Konfigurationsdetails an:
- Name: Geben Sie einen eindeutigen Namen für den Google SecOps-Collector ein.
- IP-Adresse/Domain: Geben Sie die Bindplane-IP-Adresse ein.
- Port: Geben Sie die Bindplane-Portnummer ein.
- Einrichtung: Wählen Sie DAEMON aus.
- Schweregrad: Wählen Sie Information aus.
- Format: Wählen Sie Gerätestandardformat aus.
- Klicken Sie auf Speichern.
- Kehren Sie zur Seite Log Settings (Protokolleinstellungen) zurück und wählen Sie die Protokolltypen aus, die an den Syslog-Server weitergeleitet werden sollen.
Sophos XG Firewall-Logeinstellungen konfigurieren
- Wählen Sie die folgenden Base firewall (security policy log)-Logs aus:
- Richtlinienregeln
- Ungültige Zugriffe
- Lokale ACLs
- DoS-Angriff
- Verworfenes ICMP-Paket mit Weiterleitung
- Verworfenes Quellrouting-Paket
- Verworfener fragmentierter Traffic
- MAC-Filterung
- Filterung von IP-MAC-Paaren
- Schutz vor IP-Spoofing
- SSL VPN-Tunnel
- Geschützter Anwendungsserver
- Heartbeat
- Wählen Sie die folgenden Webschutz-Protokolle (Webfilterprotokoll und Anwendungsfilterprotokoll) aus:
- Web filter
- Anwendungsfilter
- Wählen Sie die folgenden Protokolle für Network Protection (IPS-Protokoll) aus:
- Anomalie
- Signatur
- Wählen Sie das folgende Systemprotokoll aus:
- Systemereignisse
UDM-Zuordnungstabelle
Logfeld | UDM-Zuordnung | Logik |
---|---|---|
activityname |
security_result.detection_fields.activityname |
Wert aus dem Feld activityname . |
app_category |
security_result.detection_fields.Application Category , application_category |
Wert aus dem Feld app_category . |
app_filter_policy_id |
security_result.detection_fields.app_filter_policy_id |
Wert aus dem Feld app_filter_policy_id . |
app_is_cloud |
security_result.detection_fields.app_is_cloud |
Wert aus dem Feld app_is_cloud . |
app_name |
principal.application |
Wert aus dem Feld app_name . |
app_resolved_by |
security_result.detection_fields.app_resolved_by |
Wert aus dem Feld app_resolved_by . |
app_risk |
security_result.detection_fields.Application Risk , application_risk |
Wert aus dem Feld app_risk . |
app_technology |
application_technology |
Wert aus dem Feld app_technology . |
application |
principal.application |
Wert aus dem Feld application . |
application_category |
security_result.detection_fields.Application Category |
Wert aus dem Feld application_category . |
application_risk |
security_result.detection_fields.Application Risk |
Wert aus dem Feld application_risk . |
application_technology |
security_result.detection_fields.Application Technology |
Wert aus dem Feld application_technology . |
bytes_received |
network.received_bytes |
Wert aus dem Feld bytes_received . |
bytes_sent |
network.sent_bytes |
Wert aus dem Feld bytes_sent . |
category |
application_category |
Wert aus dem Feld category . |
category_type |
security_result.detection_fields.category_type |
Wert aus dem Feld category_type . |
client_host_name |
network.dhcp.client_hostname |
Wert aus dem Feld client_host_name . |
client_physical_address |
network.dhcp.chaddr |
Wert aus dem Feld client_physical_address . |
con_event |
security_result.detection_fields.con_event |
Wert aus dem Feld con_event . |
con_id |
security_result.detection_fields.con_id |
Wert aus dem Feld con_id . |
connevent |
security_result.detection_fields.connevent |
Wert aus dem Feld connevent . |
connid |
security_result.detection_fields.connid |
Wert aus dem Feld connid . |
date |
event.timestamp |
Aus den Feldern date und time geparst und an die Zeitzone angepasst. |
device_id |
intermediary.asset.asset_id |
Wert aus dem Feld device_id mit dem Präfix ID: . |
device_model |
intermediary.hostname |
Wert aus dem Feld device_model . |
device_name |
intermediary.hostname |
Wert aus dem Feld device_name . |
device_serial_id |
intermediary.asset.asset_id |
Wert aus dem Feld device_serial_id mit dem Präfix ID: . |
domain |
principal.administrative_domain , target.hostname |
Wert aus dem Feld domain . |
dst_country |
target.location.country_or_region |
Wert aus dem Feld dst_country . |
dst_country_code |
target.location.country_or_region |
Wert aus dem Feld dst_country_code . |
dst_ip |
target.ip |
Wert aus dem Feld dst_ip . |
dst_mac |
target.mac |
Wert aus dem Feld dst_mac . |
dst_port |
target.port |
Wert aus dem Feld dst_port . |
dst_trans_ip |
target.nat_ip |
Wert aus dem Feld dst_trans_ip . |
dst_trans_port |
target.nat_port |
Wert aus dem Feld dst_trans_port . |
dst_zone |
security_result.detection_fields.dst_zone |
Wert aus dem Feld dst_zone . |
dstzone |
security_result.detection_fields.dstzone |
Wert aus dem Feld dstzone . |
dstzonetype |
security_result.detection_fields.dstzonetype |
Wert aus dem Feld dstzonetype . |
duration |
network.session_duration.seconds |
Wert aus dem Feld duration . |
ether_type |
security_result.detection_fields.ether_type |
Wert aus dem Feld ether_type . |
exceptions |
security_result.detection_fields.exceptions |
Wert aus dem Feld exceptions . |
fw_rule_id |
security_result.rule_id |
Wert aus dem Feld fw_rule_id . |
fw_rule_name |
security_result.rule_name |
Wert aus dem Feld fw_rule_name . |
fw_rule_section |
security_result.rule_set |
Wert aus dem Feld fw_rule_section . |
fw_rule_type |
security_result.rule_type |
Wert aus dem Feld fw_rule_type . |
gw_id_request |
security_result.detection_fields.gw_id_request |
Wert aus dem Feld gw_id_request . |
gw_name_request |
security_result.detection_fields.gw_name_request |
Wert aus dem Feld gw_name_request . |
hb_health |
security_result.detection_fields.hb_health |
Wert aus dem Feld hb_health . |
hb_status |
security_result.detection_fields.hb_status |
Wert aus dem Feld hb_status . |
http_category |
security_result.detection_fields.http_category |
Wert aus dem Feld http_category . |
http_category_type |
security_result.detection_fields.http_category_type |
Wert aus dem Feld http_category_type . |
http_status |
network.http.response_code |
Wert aus dem Feld http_status . |
in_display_interface |
security_result.detection_fields.in_display_interface |
Wert aus dem Feld in_display_interface . |
in_interface |
security_result.detection_fields.in_interface |
Wert aus dem Feld in_interface . |
ipaddress |
principal.ip , network.dhcp.ciaddr |
Wert aus dem Feld ipaddress . |
log_component |
metadata.product_event_type , security_result.detection_fields.log_component |
Wert aus dem Feld log_component . |
log_id |
metadata.product_log_id |
Wert aus dem Feld log_id . |
log_msg |
metadata.description |
Wert aus dem Feld message nach dem Entfernen von message= . |
log_occurrence |
security_result.detection_fields.log_occurrence |
Wert aus dem Feld log_occurrence . |
log_subtype |
security_result.detection_fields.log_subtype , security_result.action |
Wert aus dem Feld log_subtype . |
log_type |
security_result.detection_fields.log_type |
Wert aus dem Feld log_type . |
log_version |
security_result.detection_fields.log_version |
Wert aus dem Feld log_version . |
message |
metadata.description |
Wert aus dem Feld message . |
nat_rule_id |
security_result.detection_fields.nat_rule_id |
Wert aus dem Feld nat_rule_id . |
nat_rule_name |
security_result.detection_fields.nat_rule_name |
Wert aus dem Feld nat_rule_name . |
out_display_interface |
security_result.detection_fields.out_display_interface |
Wert aus dem Feld out_display_interface . |
out_interface |
security_result.detection_fields.out_interface |
Wert aus dem Feld out_interface . |
packets_received |
network.received_packets |
Wert aus dem Feld packets_received . |
packets_sent |
network.sent_packets |
Wert aus dem Feld packets_sent . |
priority |
security_result.severity |
Wird anhand einer Nachschlagetabelle aus dem Feld priority oder severity zugeordnet. |
protocol |
network.ip_protocol |
Aus dem Feld protocol mithilfe einer Nachschlagetabelle geparst. |
reason |
security_result.detection_fields.reason , security_result.summary |
Wert aus dem Feld reason . |
recv_bytes |
network.received_bytes |
Wert aus dem Feld recv_bytes . |
recv_pkts |
network.received_packets |
Wert aus dem Feld recv_pkts . |
referer |
network.http.referral_url |
Wert aus dem Feld referer . |
rule_id |
security_result.rule_id |
Wert aus dem Feld rule_id . |
rule_name |
security_result.rule_name |
Wert aus dem Feld rule_name . |
sent_bytes |
network.sent_bytes |
Wert aus dem Feld sent_bytes . |
sent_pkts |
network.sent_packets |
Wert aus dem Feld sent_pkts . |
severity |
priority |
Wert aus dem Feld severity . |
src_country |
principal.location.country_or_region |
Wert aus dem Feld src_country . |
src_country_code |
principal.location.country_or_region |
Wert aus dem Feld src_country_code . |
src_ip |
principal.ip |
Wert aus dem Feld src_ip . |
src_mac |
principal.mac |
Wert aus dem Feld src_mac . |
src_port |
principal.port |
Wert aus dem Feld src_port . |
src_trans_ip |
principal.nat_ip |
Wert aus dem Feld src_trans_ip . |
src_trans_port |
principal.nat_port |
Wert aus dem Feld src_trans_port . |
src_zone |
security_result.detection_fields.src_zone |
Wert aus dem Feld src_zone . |
srczone |
security_result.detection_fields.srczone |
Wert aus dem Feld srczone . |
srczonetype |
security_result.detection_fields.srczonetype |
Wert aus dem Feld srczonetype . |
status |
security_result.action_details , security_result.action |
Wert aus dem Feld status . |
status_code |
network.http.response_code |
Wert aus dem Feld status_code . |
target.url |
target.url |
Wert aus dem Feld url . |
time |
event.timestamp |
Aus den Feldern date und time geparst und an die Zeitzone angepasst. |
timestamp |
event.timestamp |
Aus dem Feld timestamp geparst. |
tran_dst_ip |
target.nat_ip |
Wert aus dem Feld tran_dst_ip . |
tran_dst_port |
target.nat_port |
Wert aus dem Feld tran_dst_port . |
tran_src_ip |
principal.nat_ip |
Wert aus dem Feld tran_src_ip . |
tran_src_port |
principal.nat_port |
Wert aus dem Feld tran_src_port . |
url |
target.url |
Wert aus dem Feld url . |
used_quota |
security_result.detection_fields.used_quota |
Wert aus dem Feld used_quota . |
user_agent |
network.http.user_agent , network.http.parsed_user_agent |
Wert aus dem Feld user_agent . Es wurde auch eine geparste Version generiert. |
user_gp |
extensions.auth.type |
Wenn user_gp gleich vpn ist, wird extensions.auth.type auf VPN gesetzt. |
user_name |
principal.user.userid , principal.user.email_addresses |
Wert aus dem Feld user_name . Wenn sie @ enthält, wird sie auch email_addresses hinzugefügt. |
web_policy_id |
security_result.detection_fields.web_policy_id |
Wert aus dem Feld web_policy_id . |
– | event.idm.read_only_udm.metadata.event_timestamp |
Kopiert von event.timestamp . |
– | event.idm.read_only_udm.metadata.log_type |
Im Chronicle-Aufnahmeschema wird der Logtyp als SOPHOS_FIREWALL angegeben. |
– | event.idm.read_only_udm.metadata.vendor_name |
Konstanter Wert SOPHOS . |
– | event.idm.read_only_udm.metadata.product_name |
Konstanter Wert SOPHOS Firewall . |
– | event.idm.read_only_udm.network.application_protocol |
Wird auf DHCP gesetzt, wenn das Feld ipaddress vorhanden ist. Andernfalls wird der Wert aus dem Feld protocol abgeleitet. |
– | event.idm.read_only_udm.metadata.event_type |
Wird durch Logik basierend auf dem Vorhandensein anderer Felder bestimmt (z.B. NETWORK_HTTP , NETWORK_CONNECTION , NETWORK_DHCP , STATUS_UPDATE , GENERIC_EVENT ). |
– | event.idm.read_only_udm.security_result.action |
Abgeleitet aus den Feldern status oder log_subtype . |
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten