Sophos XG-Firewall-Logs erfassen

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie mit Bindplane Sophos Next Gen (XG) Firewall-Logs erfassen. Der Parser extrahiert Protokolle, normalisiert die Schlüssel/Wert-Paare und ordnet sie dem UDM zu. Er unterstützt verschiedene Protokollformate, wandelt Zeitstempel um, ergänzt Netzwerkdaten und kategorisiert Ereignisse anhand von Protokoll-IDs und Netzwerkaktivitäten.

Hinweise

  • Sie benötigen eine Google Security Operations-Instanz.
  • Sie müssen Windows 2016 oder höher oder einen Linux-Host mit systemd verwenden.
  • Wenn die Ausführung hinter einem Proxy erfolgt, müssen die Firewallports geöffnet sein.
  • Sie benötigen erhöhte Zugriffsrechte für die Sophos XG-Firewall.

Authentifizierungsdatei für die Aufnahme in Google SecOps abrufen

  1. Melden Sie sich in der Google SecOps Console an.
  2. Gehen Sie zu SIEM-Einstellungen > Erfassungsagenten.
  3. Lade die Datei für die Datenaufnahmeauthentifizierung herunter. Speichern Sie die Datei sicher auf dem System, auf dem BindPlane installiert wird.

Google SecOps-Kundennummer abrufen

  1. Melden Sie sich in der Google SecOps Console an.
  2. Gehen Sie zu SIEM-Einstellungen > Profil.
  3. Kopieren und speichern Sie die Kundennummer aus dem Bereich Organisationsdetails.

BindPlane-Agent installieren

Windows-Installation

  1. Öffnen Sie die Eingabeaufforderung oder die PowerShell als Administrator.
  2. 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

  1. Öffnen Sie ein Terminal mit Root- oder Sudo-Berechtigungen.
  2. 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
    

Weitere Installationsressourcen

Bindplane-Agent so konfigurieren, dass er Syslog-Daten aufnimmt und an Google SecOps sendet

  1. Rufen Sie die Konfigurationsdatei auf:

    1. Suchen Sie die Datei config.yaml. Normalerweise befindet es sich unter Linux im Verzeichnis /etc/bindplane-agent/ oder unter Windows im Installationsverzeichnis.
    2. Öffnen Sie die Datei mit einem Texteditor, z. B. nano, vi oder Notepad.
  2. 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: '/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
    
  3. Ersetzen Sie den Port und die IP-Adresse nach Bedarf in Ihrer Infrastruktur.

  4. Ersetzen Sie <customer_id> durch die tatsächliche Kundennummer.

  5. Aktualisieren Sie /path/to/ingestion-authentication-file.json im Abschnitt Authentifizierungsdatei für die Datenaufnahme von Google SecOps abrufen auf den Pfad, unter dem die Authentifizierungsdatei gespeichert wurde.

Starten Sie den Bindplane-Agent neu, um die Änderungen anzuwenden

  • Führen Sie den folgenden Befehl aus, um den Bindplane-Agenten unter Linux neu zu starten:

    sudo systemctl restart bindplane-agent
    
  • Sie können den Bindplane-Agenten unter Windows entweder über die Dienste-Konsole oder mit dem folgenden Befehl neu starten:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Syslog-Server der Sophos Firewall konfigurieren

  1. Melden Sie sich in der Sophos XG-Firewall an.
  2. Gehen Sie zu Konfigurieren > Systemdienste > Protokolleinstellungen.
  3. Klicken Sie im Bereich Syslog-Server auf Hinzufügen.
  4. 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.
    • Facility: Wählen Sie DAEMON aus.
    • Schweregrad: Wählen Sie Information aus.
    • Format: Wählen Sie Gerätestandardformat aus.
  5. Klicken Sie auf Speichern.
  6. Kehren Sie zur Seite Protokolleinstellungen zurück und wählen Sie die Protokolltypen aus, die an den syslog-Server weitergeleitet werden sollen.

Protokolleinstellungen der Sophos XG-Firewall konfigurieren

  1. Wählen Sie die folgenden Base Firewall (Sicherheitsrichtlinienprotokoll)-Protokolle aus:
    • Richtlinienregeln
    • Ungültige Zugriffe
    • Lokale ACLs
    • DoS-Angriff
    • Verworfenes ICMP-Weiterleitungspaket
    • Abgelehntes Paket mit Quellrouting
    • Abgebrochene fragmentierte Zugriffe
    • MAC-Filterung
    • IP‑MAC-Paar-Filterung
    • Schutz vor IP-Spoofing
    • SSL-VPN-Tunnel
    • Geschützter Anwendungsserver
    • Herzschlag
  2. Wählen Sie die folgenden Protokolle für den Webschutz (Webfilterprotokoll und Anwendungsfilterprotokoll) aus:
    • Web filter
    • Anwendungsfilter
  3. Wählen Sie die folgenden Protokolle für den Netzwerkschutz (IPS-Protokoll) aus:
    • Anomalie
    • Signatur
  4. 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 Aus dem Feld priority oder severity basierend auf einer Suchtabelle zugeordnet.
protocol network.ip_protocol Aus dem Feld protocol mithilfe einer Suchtabelle 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. Außerdem wird eine geparste Version generiert.
user_gp extensions.auth.type Wenn user_gp 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 ist der Protokolltyp 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 anhand der Logik bestimmt, die auf dem Vorhandensein anderer Felder basiert (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.

Änderungen

2024-08-26

Optimierung:

  • Geparste Logs für „zeitzone=WAT“.

2023-11-20

Optimierung:

  • packets_sent wurde network.sent_packets zugeordnet.
  • packets_received wurde network.received_packets zugeordnet.
  • src_trans_ip wurde principal.nat_ip zugeordnet.
  • src_trans_port wurde principal.nat_port zugeordnet.
  • dst_trans_ip wurde target.nat_ip zugeordnet.
  • dst_trans_port wurde target.nat_port zugeordnet.
  • bytes_sent wurde network.sent_bytes zugeordnet.
  • bytes_received wurde network.received_bytes zugeordnet.
  • duration wurde network.session_duration zugeordnet.
  • referer wurde network.http.referer_url zugeordnet.
  • ipaddress wurde principal.ip und network.dhcp.ciaddr zugeordnet.
  • client_physical_address wurde network.dhcp.chaddr zugeordnet.
  • client_host_name wurde network.dhcp.client_hostname zugeordnet.
  • reason wurde security_result.summary zugeordnet.
  • http_status wurde network.http.response_code zugeordnet.
  • app_name wurde principal.application zugeordnet.
  • Zugewiesene Zeichen: out_display_interface, web_policy_id, http_category, http_category_type, exceptions, con_id, used_quota, src_zone_type, src_zone, dst_zone_type, dst_zone, app_risk, app_category, nat_rule_name, gw_id_request, gw_name_request, app_filter_policy_id, app_technology, in_interface, out_interface, con_event, srczonetype, dstzonetype, connevent, connid, hb_health, category_type, activityname bis security_result.detection_fields.

2023-11-10

Optimierung:

  • fw_rule_type wurde security_result.rule_type zugeordnet.
  • severity wurde security_result.severity zugeordnet.
  • device_serial_id wurde principal.asset.asset_id zugeordnet.
  • log_type, log_component, log_subtype, log_version, nat_rule_id, ether_type, hb_status, app_resolved_by, app_is_cloud, qualifier, log_occurrence, in_display_interface auf security_result.detection_fields.

2023-04-03

Optimierung:

  • Die Zuordnung von device_name wurde von principal.hostname zu intermediary.hostname geändert.
  • Die Zuordnung von device_id wurde von principal.asset.asset_id zu intermediary.asset.asset_id geändert.
  • Die Zuordnung von metadata.vendor_name wurde von SOPHOS Ltd. zu SOPHOS geändert.
  • sent_pkts wurde network.sent_packets zugeordnet.
  • recv_pkts wurde network.received_packets zugeordnet.
  • tran_src_ip wurde principal.nat_ip zugeordnet.
  • tran_src_port wurde principal.nat_port zugeordnet.
  • tran_dst_ip wurde target.nat_ip zugeordnet.
  • tran_dst_port wurde target.nat_port zugeordnet.

2022-12-01

Optimierung:

  • Geparste Logs für „Zeitzone=IST“.
  • application_category, application_risk and application_technology wurde security_result.detection_fields zugeordnet.
  • fw_rule_name wurde security_result.rule_name zugeordnet.
  • fw_rule_section wurde security_result.rule_set zugeordnet.

2022-08-18

Optimierung:

  • Geparste Logs für „zeitzone=CEST“.
  • Reduzierter Prozentsatz der generischen Ereignisse
  • user_name wurde event.idm.read_only_udm.principal.user.userid zugeordnet
  • device_id wurde event.idm.read_only_udm.principal.asset.asset_id zugeordnet

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