Raccogliere i log di Sophos XG Firewall

Supportato in:

Questo documento spiega come raccogliere i log del firewall Sophos Next Gen (XG) utilizzando Bindplane. Il parser estrae i log, normalizza le coppie chiave-valore e le mappa all'UDM. Gestisce vari formati di log, converte i timestamp, arricchisce i dati di rete e classifica gli eventi in base agli ID log e all'attività di rete.

Prima di iniziare

  • Assicurati di avere un'istanza Google Security Operations.
  • Assicurati di utilizzare Windows 2016 o versioni successive o un host Linux con systemd.
  • Se il servizio è eseguito dietro un proxy, assicurati che le porte del firewall siano aperte.
  • Assicurati di disporre dell'accesso privilegiato a Sophos XG Firewall.

Ottenere il file di autenticazione di importazione di Google SecOps

  1. Accedi alla console Google SecOps.
  2. Vai a Impostazioni SIEM > Agenti di raccolta.
  3. Scarica il file di autenticazione dell'importazione. Salva il file in modo sicuro sul sistema in cui verrà installato Bindplane.

Ottenere l'ID cliente Google SecOps

  1. Accedi alla console Google SecOps.
  2. Vai a Impostazioni SIEM > Profilo.
  3. Copia e salva l'ID cliente dalla sezione Dettagli dell'organizzazione.

Installa l'agente Bindplane

Installazione di Windows

  1. Apri il prompt dei comandi o PowerShell come amministratore.
  2. Esegui questo comando:

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    

Installazione di Linux

  1. Apri un terminale con privilegi di root o sudo.
  2. Esegui questo comando:

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    

Risorse di installazione aggiuntive

Configura l'agente Bindplane per importare Syslog e inviarlo a Google SecOps

  1. Accedi al file di configurazione:

    1. Individua il file config.yaml. In genere si trova nella directory /etc/bindplane-agent/ su Linux o nella directory di installazione su Windows.
    2. Apri il file utilizzando un editor di testo (ad esempio nano, vi o Blocco note).
  2. Modifica il file config.yaml come segue:

    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. Sostituisci la porta e l'indirizzo IP come richiesto nella tua infrastruttura.

  4. Sostituisci <customer_id> con l'ID cliente effettivo.

  5. Aggiorna /path/to/ingestion-authentication-file.json con il percorso in cui è stato salvato il file di autenticazione nella sezione Ottenere il file di autenticazione per l'importazione di Google SecOps.

Riavvia l'agente Bindplane per applicare le modifiche

  • Per riavviare l'agente Bindplane in Linux, esegui il seguente comando:

    sudo systemctl restart bindplane-agent
    
  • Per riavviare l'agente Bindplane in Windows, puoi utilizzare la console Servizi o inserire il seguente comando:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Configura i server syslog di Sophos Firewall

  1. Accedi a Sophos XG Firewall.
  2. Vai a Configura > Servizi di sistema > Impostazioni di log.
  3. Nella sezione Server Syslog, fai clic su Aggiungi.
  4. Fornisci i seguenti dettagli di configurazione:
    • Nome: inserisci un nome univoco per il raccoglitore Google SecOps.
    • Indirizzo IP/dominio: inserisci l'indirizzo IP di Bindplane.
    • Porta: inserisci il numero di porta di Bindplane.
    • Struttura: seleziona DAEMON.
    • Livello di gravità: seleziona Informazioni.
    • Formato: seleziona Formato standard del dispositivo.
  5. Fai clic su Salva.
  6. Torna alla pagina Impostazioni log e seleziona i tipi di log specifici da inoltrare al server syslog.

Configurare le impostazioni dei log del firewall Sophos XG

  1. Seleziona i seguenti log Firewall di base (log dei criteri di sicurezza):
    • Regole per i criteri
    • Traffico non valido
    • ACL locali
    • Attacco DoS
    • Pacchetto ICMP reindirizzato perso
    • Pacchetto con routing dell'origine perso
    • Traffico frammentato ignorato
    • Filtro MAC
    • Filtro delle coppie IP-MAC
    • Prevenzione dello spoofing IP
    • Tunnel VPN SSL
    • Server di applicazioni protetto
    • Battito cardiaco
  2. Seleziona i seguenti log di Protezione web (log di filtro web e log di filtro delle applicazioni):
    • Filtro web
    • Filtro applicazione
  3. Seleziona i seguenti log di protezione della rete (log IPS):
    • Anomalia
    • Firma
  4. Seleziona il seguente log Log di sistema:
    • Eventi di sistema

Tabella di mappatura UDM

Campo log Mappatura UDM Logica
activityname security_result.detection_fields.activityname Valore del campo activityname.
app_category security_result.detection_fields.Application Category, application_category Valore del campo app_category.
app_filter_policy_id security_result.detection_fields.app_filter_policy_id Valore del campo app_filter_policy_id.
app_is_cloud security_result.detection_fields.app_is_cloud Valore del campo app_is_cloud.
app_name principal.application Valore del campo app_name.
app_resolved_by security_result.detection_fields.app_resolved_by Valore del campo app_resolved_by.
app_risk security_result.detection_fields.Application Risk, application_risk Valore del campo app_risk.
app_technology application_technology Valore del campo app_technology.
application principal.application Valore del campo application.
application_category security_result.detection_fields.Application Category Valore del campo application_category.
application_risk security_result.detection_fields.Application Risk Valore del campo application_risk.
application_technology security_result.detection_fields.Application Technology Valore del campo application_technology.
bytes_received network.received_bytes Valore del campo bytes_received.
bytes_sent network.sent_bytes Valore del campo bytes_sent.
category application_category Valore del campo category.
category_type security_result.detection_fields.category_type Valore del campo category_type.
client_host_name network.dhcp.client_hostname Valore del campo client_host_name.
client_physical_address network.dhcp.chaddr Valore del campo client_physical_address.
con_event security_result.detection_fields.con_event Valore del campo con_event.
con_id security_result.detection_fields.con_id Valore del campo con_id.
connevent security_result.detection_fields.connevent Valore del campo connevent.
connid security_result.detection_fields.connid Valore del campo connid.
date event.timestamp Analizzati dai campi date e time, adeguati al fuso orario.
device_id intermediary.asset.asset_id Valore del campo device_id, preceduto dal prefisso ID:.
device_model intermediary.hostname Valore del campo device_model.
device_name intermediary.hostname Valore del campo device_name.
device_serial_id intermediary.asset.asset_id Valore del campo device_serial_id, preceduto dal prefisso ID:.
domain principal.administrative_domain, target.hostname Valore del campo domain.
dst_country target.location.country_or_region Valore del campo dst_country.
dst_country_code target.location.country_or_region Valore del campo dst_country_code.
dst_ip target.ip Valore del campo dst_ip.
dst_mac target.mac Valore del campo dst_mac.
dst_port target.port Valore del campo dst_port.
dst_trans_ip target.nat_ip Valore del campo dst_trans_ip.
dst_trans_port target.nat_port Valore del campo dst_trans_port.
dst_zone security_result.detection_fields.dst_zone Valore del campo dst_zone.
dstzone security_result.detection_fields.dstzone Valore del campo dstzone.
dstzonetype security_result.detection_fields.dstzonetype Valore del campo dstzonetype.
duration network.session_duration.seconds Valore del campo duration.
ether_type security_result.detection_fields.ether_type Valore del campo ether_type.
exceptions security_result.detection_fields.exceptions Valore del campo exceptions.
fw_rule_id security_result.rule_id Valore del campo fw_rule_id.
fw_rule_name security_result.rule_name Valore del campo fw_rule_name.
fw_rule_section security_result.rule_set Valore del campo fw_rule_section.
fw_rule_type security_result.rule_type Valore del campo fw_rule_type.
gw_id_request security_result.detection_fields.gw_id_request Valore del campo gw_id_request.
gw_name_request security_result.detection_fields.gw_name_request Valore del campo gw_name_request.
hb_health security_result.detection_fields.hb_health Valore del campo hb_health.
hb_status security_result.detection_fields.hb_status Valore del campo hb_status.
http_category security_result.detection_fields.http_category Valore del campo http_category.
http_category_type security_result.detection_fields.http_category_type Valore del campo http_category_type.
http_status network.http.response_code Valore del campo http_status.
in_display_interface security_result.detection_fields.in_display_interface Valore del campo in_display_interface.
in_interface security_result.detection_fields.in_interface Valore del campo in_interface.
ipaddress principal.ip, network.dhcp.ciaddr Valore del campo ipaddress.
log_component metadata.product_event_type, security_result.detection_fields.log_component Valore del campo log_component.
log_id metadata.product_log_id Valore del campo log_id.
log_msg metadata.description Valore del campo message dopo la rimozione di message=.
log_occurrence security_result.detection_fields.log_occurrence Valore del campo log_occurrence.
log_subtype security_result.detection_fields.log_subtype, security_result.action Valore del campo log_subtype.
log_type security_result.detection_fields.log_type Valore del campo log_type.
log_version security_result.detection_fields.log_version Valore del campo log_version.
message metadata.description Valore del campo message.
nat_rule_id security_result.detection_fields.nat_rule_id Valore del campo nat_rule_id.
nat_rule_name security_result.detection_fields.nat_rule_name Valore del campo nat_rule_name.
out_display_interface security_result.detection_fields.out_display_interface Valore del campo out_display_interface.
out_interface security_result.detection_fields.out_interface Valore del campo out_interface.
packets_received network.received_packets Valore del campo packets_received.
packets_sent network.sent_packets Valore del campo packets_sent.
priority security_result.severity Mappato dal campo priority o severity in base a una tabella di ricerca.
protocol network.ip_protocol Analizzati dal campo protocol utilizzando una tabella di ricerca.
reason security_result.detection_fields.reason, security_result.summary Valore del campo reason.
recv_bytes network.received_bytes Valore del campo recv_bytes.
recv_pkts network.received_packets Valore del campo recv_pkts.
referer network.http.referral_url Valore del campo referer.
rule_id security_result.rule_id Valore del campo rule_id.
rule_name security_result.rule_name Valore del campo rule_name.
sent_bytes network.sent_bytes Valore del campo sent_bytes.
sent_pkts network.sent_packets Valore del campo sent_pkts.
severity priority Valore del campo severity.
src_country principal.location.country_or_region Valore del campo src_country.
src_country_code principal.location.country_or_region Valore del campo src_country_code.
src_ip principal.ip Valore del campo src_ip.
src_mac principal.mac Valore del campo src_mac.
src_port principal.port Valore del campo src_port.
src_trans_ip principal.nat_ip Valore del campo src_trans_ip.
src_trans_port principal.nat_port Valore del campo src_trans_port.
src_zone security_result.detection_fields.src_zone Valore del campo src_zone.
srczone security_result.detection_fields.srczone Valore del campo srczone.
srczonetype security_result.detection_fields.srczonetype Valore del campo srczonetype.
status security_result.action_details, security_result.action Valore del campo status.
status_code network.http.response_code Valore del campo status_code.
target.url target.url Valore del campo url.
time event.timestamp Analizzati dai campi date e time, adeguati al fuso orario.
timestamp event.timestamp Analizzati dal campo timestamp.
tran_dst_ip target.nat_ip Valore del campo tran_dst_ip.
tran_dst_port target.nat_port Valore del campo tran_dst_port.
tran_src_ip principal.nat_ip Valore del campo tran_src_ip.
tran_src_port principal.nat_port Valore del campo tran_src_port.
url target.url Valore del campo url.
used_quota security_result.detection_fields.used_quota Valore del campo used_quota.
user_agent network.http.user_agent, network.http.parsed_user_agent Valore del campo user_agent. Viene generata anche la versione analizzata.
user_gp extensions.auth.type Se user_gp è vpn, imposta extensions.auth.type su VPN.
user_name principal.user.userid, principal.user.email_addresses Valore del campo user_name. Se contiene @, viene aggiunto anche a email_addresses.
web_policy_id security_result.detection_fields.web_policy_id Valore del campo web_policy_id.
N/D event.idm.read_only_udm.metadata.event_timestamp Copiato da event.timestamp.
N/D event.idm.read_only_udm.metadata.log_type Lo schema di importazione di Chronicle specifica il tipo di log come SOPHOS_FIREWALL.
N/D event.idm.read_only_udm.metadata.vendor_name Valore costante SOPHOS.
N/D event.idm.read_only_udm.metadata.product_name Valore costante SOPHOS Firewall.
N/D event.idm.read_only_udm.network.application_protocol Imposta su DHCP se è presente il campo ipaddress. In caso contrario, viene derivato dal campo protocol.
N/D event.idm.read_only_udm.metadata.event_type Determinato da una logica basata sulla presenza di altri campi (ad es. NETWORK_HTTP, NETWORK_CONNECTION, NETWORK_DHCP, STATUS_UPDATE, GENERIC_EVENT).
N/D event.idm.read_only_udm.security_result.action Derivato dai campi status o log_subtype.

Modifiche

2024-08-26

Miglioramento:

  • Log analizzati per fuso orario=WAT.

2023-11-20

Miglioramento:

  • packets_sent è stato mappato a network.sent_packets.
  • packets_received è stato mappato a network.received_packets.
  • src_trans_ip è stato mappato a principal.nat_ip.
  • src_trans_port è stato mappato a principal.nat_port.
  • dst_trans_ip è stato mappato a target.nat_ip.
  • dst_trans_port è stato mappato a target.nat_port.
  • bytes_sent è stato mappato a network.sent_bytes.
  • bytes_received è stato mappato a network.received_bytes.
  • duration è stato mappato a network.session_duration.
  • referer è stato mappato a network.http.referer_url.
  • ipaddress è stato mappato a principal.ip e network.dhcp.ciaddr.
  • client_physical_address è stato mappato a network.dhcp.chaddr.
  • client_host_name è stato mappato a network.dhcp.client_hostname.
  • reason è stato mappato a security_result.summary.
  • http_status è stato mappato a network.http.response_code.
  • app_name è stato mappato a principal.application.
  • Sono stati mappati 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 a security_result.detection_fields.

2023-11-10

Miglioramento:

  • fw_rule_type è stato mappato a security_result.rule_type.
  • severity è stato mappato a security_result.severity.
  • device_serial_id è stato mappato a principal.asset.asset_id.
  • Sono stati mappati 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 a security_result.detection_fields.

2023-04-03

Miglioramento:

  • Mappatura di device_name modificata da principal.hostname a intermediary.hostname.
  • Mappatura di device_id modificata da principal.asset.asset_id a intermediary.asset.asset_id.
  • Mappatura di metadata.vendor_name modificata da SOPHOS Ltd. a SOPHOS.
  • sent_pkts è stato mappato a network.sent_packets.
  • recv_pkts è stato mappato a network.received_packets.
  • tran_src_ip è stato mappato a principal.nat_ip.
  • tran_src_port è stato mappato a principal.nat_port.
  • tran_dst_ip è stato mappato a target.nat_ip.
  • tran_dst_port è stato mappato a target.nat_port.

2022-12-01

Miglioramento:

  • Log analizzati per fuso orario=IST.
  • application_category, application_risk and application_technology è stato mappato a security_result.detection_fields.
  • fw_rule_name è stato mappato a security_result.rule_name.
  • fw_rule_section è stato mappato a security_result.rule_set.

2022-08-18

Miglioramento:

  • Log analizzati per fuso orario=CEST.
  • Percentuale di eventi generici ridotta
  • user_name mappato a event.idm.read_only_udm.principal.user.userid
  • device_id mappato a event.idm.read_only_udm.principal.asset.asset_id

Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.