Raccogli i log di WatchGuard Firebox

Supportato in:

Questo documento spiega come importare i log di WatchGuard Firebox in Google Security Operations utilizzando Bindplane. WatchGuard Firebox è un'appliance firewall UTM (Unified Threat Management) che fornisce funzionalità di sicurezza di rete, tra cui ispezione dei pacchetti stateful, prevenzione delle intrusioni, controllo delle applicazioni, filtro URL, antivirus gateway e connettività VPN. I log di Firebox acquisiscono eventi di traffico, avvisi di sicurezza, attività di autenticazione e informazioni sullo stato del sistema.

Prima di iniziare

Assicurati di soddisfare i seguenti prerequisiti:

  • Un'istanza Google SecOps.
  • Un host Windows 2016 o versioni successive o Linux con systemd.
  • Se l'agente viene eseguito dietro un proxy, assicurati che le porte del firewall siano aperte in base ai requisiti dell'agente Bindplane.
  • Accesso privilegiato all'interfaccia utente web di WatchGuard Firebox (Fireware Web UI) o a WatchGuard System Manager.

Recuperare il file di autenticazione dell'importazione di Google SecOps

  1. Accedi alla console Google SecOps.
  2. Vai a Impostazioni SIEM > Agente di raccolta.
  3. Scarica il file di autenticazione dell'acquisizione.

    • Salva il file in modo sicuro sul sistema in cui verrà installato Bindplane.

Recuperare 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

Installa l'agente Bindplane sul sistema operativo Windows o Linux seguendo le istruzioni riportate di seguito.

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 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 aggiuntive per l'installazione

Configura l'agente Bindplane per importare syslog e inviarli a Google SecOps

  1. Accedi al file di configurazione:

    • Individua il file config.yaml. In genere si trova nella directory /etc/bindplane-agent/ su Linux o nella directory di installazione su Windows.
    • 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_file_path: '/path/to/ingestion-authentication-file.json'
        # Replace with your actual customer ID from Step 2
        customer_id: YOUR_CUSTOMER_ID
        endpoint: malachiteingestion-pa.googleapis.com
        # Add optional ingestion labels for better organization
        log_type: 'WATCHGUARD'
        raw_log_field: body
        ingestion_labels:
    
    service:
      pipelines:
        logs/source0__chronicle_w_labels-0:
          receivers:
            - udplog
          exporters:
            - chronicle/chronicle_w_labels
    
  • Sostituisci la porta e l'indirizzo IP in base alle esigenze della tua infrastruttura.
  • Sostituisci YOUR_CUSTOMER_ID con l'ID cliente effettivo.
  • Aggiorna /path/to/ingestion-authentication-file.json con il percorso del file in cui è stato salvato il file di autenticazione nel passaggio 1.

Riavvia l'agente Bindplane per applicare le modifiche

  1. Per riavviare l'agente Bindplane in Linux, esegui questo comando:

    sudo systemctl restart observiq-otel-collector
    
  2. Per riavviare l'agente Bindplane in Windows, puoi utilizzare la console Servizi o inserire il seguente comando:

    net stop observiq-otel-collector && net start observiq-otel-collector
    

Configura l'inoltro di syslog di WatchGuard Firebox

Per configurare WatchGuard Firebox in modo da inoltrare i messaggi syslog all'agente Bindplane, segui questi passaggi utilizzando la GUI web di Fireware:

  1. Accedi alla UI web del firmware (https://<firebox-ip>:8080).
  2. Vai a Sistema > Logging.
  3. Fai clic su Aggiungi nella sezione Server Syslog.
  4. Fornisci i seguenti dettagli di configurazione:

    • Indirizzo IP: inserisci l'indirizzo IP dell'host dell'agente Bindplane (ad esempio, 192.168.1.100).
    • Porta: inserisci 514 (o la porta configurata nell'agente Bindplane).
    • Formato log: seleziona Syslog (formato syslog BSD standard).
  5. Nella sezione Impostazioni Syslog, configura il livello di log:

    • Imposta il Livello di log su Informazioni o superiore per acquisire eventi di traffico, sicurezza e sistema.
  6. Fai clic su Salva.

Configura i tipi di log da inoltrare

  1. Nell'interfaccia utente web del firmware, vai a Sistema > Logging > Syslog.
  2. Assicurati che i seguenti tipi di log siano abilitati per l'inoltro di syslog:

    • Traffico: eventi di traffico del firewall (consenti, nega).
    • Allarme: eventi di IPS e allarme di sicurezza.
    • Evento: eventi di sistema e modifiche di stato.
    • Debug: facoltativo, solo per la risoluzione dei problemi.
  3. Fai clic su Salva.

(Alternativa) Configurazione tramite WatchGuard System Manager

  1. Apri WatchGuard System Manager e connettiti a Firebox.
  2. Vai a Configurazione > Registrazione > Invia messaggi di log a questo server syslog.
  3. Fai clic su Aggiungi.
  4. Fornisci i seguenti dettagli di configurazione:

    • Indirizzo IP: inserisci l'indirizzo IP dell'host dell'agente Bindplane.
    • Porta: inserisci 514.
    • Formato log: seleziona Syslog.
  5. Fai clic su Ok e salva la configurazione su Firebox.

Per saperne di più, consulta la documentazione sulla registrazione di WatchGuard Fireware.

Tabella di mappatura UDM

Campo log Mappatura UDM Logica
action security_result.action_details Il valore di action del log non elaborato viene assegnato a security_result.action_details.
action target.labels.value Il valore di action del log non elaborato viene assegnato a target.labels.value, mentre target.labels.key è "Azione sulla risorsa".
arg target.file.full_path Il valore di arg del log non elaborato viene assegnato a target.file.full_path.
app_cat_id about.labels.value Il valore di app_cat_id del log non elaborato viene assegnato a about.labels.value, con about.labels.key impostato su "app_cat_id".
app_cat_name target.application Utilizzato in combinazione con app_name per formare il valore di target.application (ad es. "Google - Servizi web").
app_id about.labels.value Il valore di app_id del log non elaborato viene assegnato a about.labels.value, con about.labels.key impostato su "app_id".
app_name target.application Utilizzato in combinazione con app_cat_name per formare il valore di target.application (ad es. "Google - Servizi web").
cats security_result.category_details Il valore di cats del log non elaborato viene assegnato a security_result.category_details.
cert_issuer network.tls.server.certificate.issuer Il valore di cert_issuer del log non elaborato viene assegnato a network.tls.server.certificate.issuer.
cert_subject network.tls.server.certificate.subject Il valore di cert_subject del log non elaborato viene assegnato a network.tls.server.certificate.subject.
cn network.tls.server.certificate.subject Il valore di cn del log non elaborato viene assegnato a network.tls.server.certificate.subject.
conn_action security_result.action_details Il valore di conn_action del log non elaborato viene assegnato a security_result.action_details.
content_type Non mappato Non mappato all'oggetto IDM negli esempi UDM forniti.
description metadata.description Il valore di description derivato dal log non elaborato viene assegnato a metadata.description.
dhcp_type network.dhcp.type Il valore di dhcp_type del log non elaborato viene mappato al tipo DHCP corrispondente in network.dhcp.type (ad es. "REQUEST", "ACK").
dst_host target.hostname Il valore di dst_host del log non elaborato viene assegnato a target.hostname.
dst_ip target.ip Il valore di dst_ip del log non elaborato viene assegnato a target.ip.
dst_mac target.mac Il valore di dst_mac del log non elaborato viene assegnato a target.mac.
dst_port target.port Il valore di dst_port del log non elaborato viene assegnato a target.port.
dst_user target.user.user_display_name Il valore di dst_user del log non elaborato viene assegnato a target.user.user_display_name.
dstname target.administrative_domain Il valore di dstname del log non elaborato viene assegnato a target.administrative_domain.
duration Non mappato Non mappato all'oggetto IDM negli esempi UDM forniti.
elapsed_time Non mappato Non mappato all'oggetto IDM negli esempi UDM forniti.
endpoint intermediary.labels.value Il valore di endpoint del log non elaborato viene assegnato a intermediary.labels.value, con intermediary.labels.key impostato su "Gateway-Endpoint".
event_name principal.application Il valore di event_name del log non elaborato viene assegnato a principal.application.
firewall_id intermediary.asset_id Il valore di firewall_id del log non elaborato viene preceduto da "ID firewall : " e assegnato a intermediary.asset_id.
firewall_name principal.asset_id Il valore di firewall_name del log non elaborato viene preceduto da "Firewall: " e assegnato a principal.asset_id.
firewallname intermediary.hostname Il valore di firewallname del log non elaborato viene assegnato a intermediary.hostname.
firewallname principal.hostname Il valore di firewallname del log non elaborato viene assegnato a principal.hostname.
fqdn_dst_match Non mappato Non mappato all'oggetto IDM negli esempi UDM forniti.
geo Non mappato Non mappato all'oggetto IDM negli esempi UDM forniti.
geo_dst target.location.country_or_region Il valore di geo_dst del log non elaborato viene assegnato a target.location.country_or_region.
geo_src principal.location.country_or_region Il valore di geo_src del log non elaborato viene assegnato a principal.location.country_or_region.
host Non mappato Non mappato all'oggetto IDM negli esempi UDM forniti.
ike_policy security_result.rule_id Il valore di ike_policy del log non elaborato viene assegnato a security_result.rule_id.
ike_policy_version security_result.rule_version Il valore di ike_policy_version del log non elaborato viene assegnato a security_result.rule_version.
intermediary_host intermediary.hostname Il valore di intermediary_host del log non elaborato viene assegnato a intermediary.hostname.
ipaddress Non mappato Non mappato all'oggetto IDM negli esempi UDM forniti.
ipsec_policy Non mappato Non mappato all'oggetto IDM negli esempi UDM forniti.
ipsec_policy_version Non mappato Non mappato all'oggetto IDM negli esempi UDM forniti.
keyword Non mappato Non mappato all'oggetto IDM negli esempi UDM forniti.
line Non mappato Non mappato all'oggetto IDM negli esempi UDM forniti.
log_message metadata.description Il valore di log_message del log non elaborato viene assegnato a metadata.description quando non sono disponibili altre descrizioni più specifiche.
log_reason security_result.summary Il valore di log_reason del log non elaborato viene assegnato a security_result.summary.
log_type metadata.log_type Il valore di log_type del log non elaborato viene assegnato a metadata.log_type. Sempre impostato su "WATCHGUARD".
msg security_result.summary Il valore di msg del log non elaborato viene assegnato a security_result.summary.
msg_id metadata.product_event_type Il valore di msg_id del log non elaborato viene assegnato a metadata.product_event_type.
new_action security_result.action_details Utilizzato con conn_action per formare il valore di security_result.action_details (ad es. "ProxyReplace: IP protocol - HTTPS-Client.DPI-Off").
op network.http.method Il valore di op del log non elaborato viene assegnato a network.http.method.
path target.url Il valore di path del log non elaborato viene assegnato a target.url.
pid Non mappato Non mappato all'oggetto IDM negli esempi UDM forniti.
policy_name intermediary.resource.name Il valore di policy_name del log non elaborato viene assegnato a intermediary.resource.name.
policy_name security_result.rule_name Il valore di policy_name del log non elaborato viene assegnato a security_result.rule_name.
policyname_label.value security_result.rule_labels.value Il valore di policy_name del log non elaborato viene assegnato a security_result.rule_labels.value, con security_result.rule_labels.key impostato su "PolicyName".
prin_host principal.hostname Il valore di prin_host del log non elaborato viene assegnato a principal.hostname.
proc_id Non mappato Non mappato all'oggetto IDM negli esempi UDM forniti.
protocol network.ip_protocol Il valore di protocol dal log non elaborato, convertito in maiuscolo, viene assegnato a network.ip_protocol. Gestione speciale per "EXTERNAL ICMP", mappato a "ICMP".
proxy_act security_result.rule_id Il valore di proxy_act del log non elaborato viene assegnato a security_result.rule_id.
proxy_act security_result.rule_name Il valore di proxy_act del log non elaborato viene assegnato a security_result.rule_name.
query_name network.dns.questions.name Il valore di query_name del log non elaborato viene assegnato a network.dns.questions.name.
query_type network.dns.questions.type Il valore di query_type del log non elaborato viene assegnato a network.dns.questions.type. Gestione speciale per i tipi di query numeriche e mappatura ai tipi di query DNS standard.
rc Non mappato Non mappato all'oggetto IDM negli esempi UDM forniti.
reason security_result.summary Il valore di reason del log non elaborato viene assegnato a security_result.summary.
record_type network.dns.answers.type Il valore di record_type del log non elaborato viene mappato al tipo di record DNS corrispondente in network.dns.answers.type.
redirect_action Non mappato Non mappato all'oggetto IDM negli esempi UDM forniti.
reputation additional.fields.value.string_value Il valore di reputation del log non elaborato viene assegnato a additional.fields.value.string_value, con additional.fields.key impostato su "reputazione".
response Non mappato Non mappato all'oggetto IDM negli esempi UDM forniti.
response_code network.dns.response_code Il valore di response_code del log non elaborato viene mappato al codice di risposta DNS corrispondente in network.dns.response_code.
route_type Non mappato Non mappato all'oggetto IDM negli esempi UDM forniti.
rule_name security_result.rule_name Il valore di rule_name del log non elaborato viene assegnato a security_result.rule_name.
rcvd_bytes network.received_bytes Il valore di rcvd_bytes del log non elaborato viene assegnato a network.received_bytes.
sent_bytes network.sent_bytes Il valore di sent_bytes del log non elaborato viene assegnato a network.sent_bytes.
server_ssl Non mappato Non mappato all'oggetto IDM negli esempi UDM forniti.
severity Non mappato Non mappato all'oggetto IDM negli esempi UDM forniti.
sig_vers network.tls.server.certificate.version Il valore di sig_vers del log non elaborato viene assegnato a network.tls.server.certificate.version.
signature_cat additional.fields.value.string_value Il valore di signature_cat del log non elaborato viene assegnato a additional.fields.value.string_value, mentre additional.fields.key è "signature_cat".
signature_id additional.fields.value.string_value Il valore di signature_id del log non elaborato viene assegnato a additional.fields.value.string_value, con additional.fields.key impostato su "signature_id".
signature_name additional.fields.value.string_value Il valore di signature_name del log non elaborato viene assegnato a additional.fields.value.string_value, con additional.fields.key impostato su "signature_name".
sni network.tls.client.server_name Il valore di sni del log non elaborato viene assegnato a network.tls.client.server_name.
src_ctid Non mappato Non mappato all'oggetto IDM negli esempi UDM forniti.
src_host principal.hostname Il valore di src_host del log non elaborato viene assegnato a principal.hostname.
src_ip principal.ip Il valore di src_ip del log non elaborato viene assegnato a principal.ip.
src_ip_nat Non mappato Non mappato all'oggetto IDM negli esempi UDM forniti.
src_mac principal.mac Il valore di src_mac del log non elaborato viene assegnato a principal.mac.
src_port principal.port Il valore di src_port del log non elaborato viene assegnato a principal.port.
src_user principal.user.user_display_name Il valore di src_user del log non elaborato viene assegnato a principal.user.user_display_name.
src_user_name principal.user.user_display_name Il valore di src_user_name del log non elaborato viene assegnato a principal.user.user_display_name.
src_vpn_ip principal.ip Il valore di src_vpn_ip del log non elaborato viene assegnato a principal.ip.
srv_ip Non mappato Non mappato all'oggetto IDM negli esempi UDM forniti.
srv_port Non mappato Non mappato all'oggetto IDM negli esempi UDM forniti.
ssl_offload Non mappato Non mappato all'oggetto IDM negli esempi UDM forniti.
tcp_info Non mappato Non mappato all'oggetto IDM negli esempi UDM forniti.
time metadata.event_timestamp.seconds, timestamp.seconds Il valore di time del log non elaborato viene analizzato e utilizzato per compilare metadata.event_timestamp.seconds e timestamp.seconds.
time1 metadata.event_timestamp.seconds, timestamp.seconds Il valore di time1 del log non elaborato viene analizzato e utilizzato per compilare metadata.event_timestamp.seconds e timestamp.seconds.
tls_profile about.labels.value Il valore di tls_profile del log non elaborato viene assegnato a about.labels.value, mentre about.labels.key è "tls_profile".
tls_version Non mappato Non mappato all'oggetto IDM negli esempi UDM forniti.
user_name principal.user.userid, principal.user.user_display_name Il valore di user_name del log non elaborato viene assegnato a principal.user.userid o principal.user.user_display_name a seconda del contesto.
user_type Non mappato Non mappato all'oggetto IDM negli esempi UDM forniti.
(N/A) intermediary.resource.type Impostato sempre su "ACCESS_POLICY".
(N/A) metadata.event_type Determinato dalla logica del parser in base a msg_id, log_type, event_name e altri campi. Può essere NETWORK_CONNECTION, SERVICE_MODIFICATION, NETWORK_SMTP, NETWORK_DNS, NETWORK_HTTP, USER_LOGIN, USER_LOGOUT, USER_RESOURCE_UPDATE_CONTENT, RESOURCE_PERMISSIONS_CHANGE, RESOURCE_CREATION, GENERIC_EVENT, STATUS_UPDATE o USER_UNCATEGORIZED.
(N/A) metadata.product_name Sempre impostato su "Firmware".
(N/A) metadata.vendor_name Sempre impostato su "Watchguard".
(N/A) security_result.action Determinato dalla logica del parser in base a disposition. Può essere "ALLOW" o "BLOCK".
(N/A) extensions.auth.type Impostato su "AUTHTYPE_UNSPECIFIED" per gli eventi di accesso/disconnessione dell'utente e su "VPN" per gli eventi di rete correlati alle VPN.
(N/A) network.application_protocol Determinato dalla logica del parser in base a msg_id e event_name. Può essere "DNS", "DHCP", "HTTP" o "HTTPS".
(N/A) network.dns.questions.type Imposta il valore su 1 per le query dei record "A".
(N/A) target.labels.key Imposta "Azione sulla risorsa" quando action è mappato a target.labels.value.
(N/A) intermediary.labels.key Impostato su "Nome membro firewall" quando prin_host è mappato su intermediary.labels.value.
(N/A) intermediary.labels.key Imposta "Gateway-Endpoint" quando endpoint è mappato a intermediary.labels.value.
(N/A) principal.labels.key Imposta "Gateway" quando gateway è mappato su principal.labels.value.
(N/A) target.labels.key Imposta "Gateway" quando gateway è mappato su target.labels.value.
(N/A) principal.labels.key Imposta "state" (stato) quando status è mappato a principal.labels.value.
(N/A) target.labels.key Impostato su "Stato gateway" quando status è mappato su target.labels.value.
(N/A) additional.fields.key Imposta "signature_name", "signature_cat", "signature_id" o "reputation" quando i valori corrispondenti vengono mappati dal log non elaborato.

Log delle modifiche

Visualizza il log delle modifiche per questo parser

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