Raccogliere i log di SonicWall
Questo documento descrive come raccogliere i log di SonicWall utilizzando un forwarder di Google Security Operations.
Per ulteriori informazioni, consulta Importazione dei dati in Google Security Operations.
Un'etichetta di importazione identifica l'analizzatore sintattico che normalizza i dati dei log non elaborati
in formato UDM strutturato. Le informazioni contenute in questo documento si applicano al parser con l'etichetta di importazione SONIC_FIREWALL
.
Configura l'appliance di sicurezza SonicWall
- Accedi alla console SonicWall.
- Vai a Log > Syslog.
- Nella sezione Server Syslog, fai clic su Aggiungi. Viene visualizzata la finestra Aggiungi server syslog.
- Nel campo Nome o Indirizzo IP, fornisci il nome host o l'indirizzo IP del forwarder di Google Security Operations.
- Se la configurazione di syslog non utilizza la porta predefinita 514, specifica il numero di porta nel campo Numero di porta.
- Fai clic su Ok.
- Fai clic su Accetta per salvare tutte le impostazioni del server syslog.
Configura il forwarder di Google Security Operations e syslog per importare i log di SonicWall
- Vai a Impostazioni SIEM > Inoltratori.
- Fai clic su Aggiungi nuovo mittente.
- Nel campo Nome del forwarder, inserisci un nome univoco per il forwarder.
- Fai clic su Invia. Il forwarder viene aggiunto e viene visualizzata la finestra Aggiungi configurazione del raccoglitore.
- Digita un nome nel campo Nome del raccoglitore.
- Seleziona SonicWall come Tipo di log.
- Seleziona Syslog come Tipo di collettore.
- Configura i seguenti parametri di input obbligatori:
- Protocollo: specifica il protocollo di connessione che il collector utilizzerà per ascoltare i dati syslog.
- Indirizzo: specifica l'indirizzo IP o il nome host di destinazione in cui risiede il raccoglitore e ascolta i dati syslog.
- Porta: specifica la porta di destinazione in cui risiede il raccoglitore e che ascolta i dati syslog.
- Fai clic su Invia.
Per ulteriori informazioni sui forwarder di Google Security Operations, consulta la documentazione sui forwarder di Google Security Operations.
Per informazioni sui requisiti per ciascun tipo di inoltro, consulta Configurazione degli inoltratori per tipo.
Se riscontri problemi durante la creazione dei reindirizzamenti, contatta l'assistenza di Google Security Operations.
Riferimento alla mappatura dei campi
Questo parser estrae coppie chiave-valore dai messaggi syslog del firewall SonicWall, normalizza vari campi come timestamp, indirizzi IP e porte e li mappa al formato UDM. Gestisce gli indirizzi IPv4 e IPv6, distingue tra eventi consentiti e bloccati ed estrae dettagli pertinenti per la sicurezza, come nomi e descrizioni delle regole.
Tabella di mappatura UDM
Campo log | Mappatura UDM | Logica |
---|---|---|
agente | event.idm.read_only_udm.network.http.user_agent |
Il valore del campo agent viene assegnato al campo UDM. |
appcat | event.idm.read_only_udm.security_result.summary |
Il valore del campo appcat viene assegnato al campo UDM. Se appcat contiene "PROXY-ACCESS", event.idm.read_only_udm.security_result.category è impostato su "POLICY_VIOLATION" e event.idm.read_only_udm.security_result.action è impostato su "BLOCK". |
appid | event.idm.read_only_udm.security_result.rule_id |
Il valore del campo appid viene assegnato al campo UDM. |
arg | event.idm.read_only_udm.target.resource.name |
Il valore del campo arg viene assegnato al campo UDM. |
avgThroughput | event.idm.read_only_udm.target.resource.attribute.labels |
Al campo UDM viene aggiunta un'etichetta con chiave "avgThroughput" e valore del campo avgThroughput . |
bytesIn | event.idm.read_only_udm.network.received_bytes |
Il valore del campo bytesIn viene convertito in un numero intero non firmato e assegnato al campo UDM. |
bytesOut | event.idm.read_only_udm.network.sent_bytes |
Il valore del campo bytesOut viene convertito in un numero intero non firmato e assegnato al campo UDM. |
bytesTotal | event.idm.read_only_udm.target.resource.attribute.labels |
Al campo UDM viene aggiunta un'etichetta con chiave "bytesTotal" e valore del campo bytesTotal . |
Categoria | event.idm.read_only_udm.security_result.category_details |
Il valore del campo Category viene assegnato al campo UDM. |
cdur | event.idm.read_only_udm.security_result.detection_fields |
Al campo UDM viene aggiunto un campo di rilevamento con chiave "Durata connessione (millisecondi)" e valore del campo cdur . |
dst | event.idm.read_only_udm.target.ip , event.idm.read_only_udm.target.port |
L'IP e la porta vengono estratti dal campo dst . Se dstV6 non è vuoto, l'IP viene estratto da dstV6 . |
dstMac | event.idm.read_only_udm.target.mac |
Il valore del campo dstMac viene assegnato al campo UDM. |
dstV6 | event.idm.read_only_udm.target.ip |
L'IP viene estratto dal campo dstV6 . |
dstname | event.idm.read_only_udm.target.hostname |
Se dstname non è un indirizzo IP, il relativo valore viene assegnato al campo UDM. |
duration | event.idm.read_only_udm.network.session_duration.seconds |
Il valore del campo duration viene convertito in un numero intero e assegnato al campo UDM. |
fw | event.idm.read_only_udm.principal.ip |
Il valore del campo fw viene assegnato al campo UDM. Se fw contiene "-", a event.idm.read_only_udm.additional.fields viene aggiunta un'etichetta con chiave "fw" e valore del campo fw . |
fw_action | event.idm.read_only_udm.security_result.action_details , event.idm.read_only_udm.security_result.summary , event.idm.read_only_udm.security_result.action |
Il valore del campo fw_action viene assegnato a event.idm.read_only_udm.security_result.action_details . Se fw_action è "drop", event.idm.read_only_udm.security_result.action è impostato su "BLOCK" e event.idm.read_only_udm.security_result.summary è impostato sul valore di msg . |
gw | event.idm.read_only_udm.intermediary.ip |
L'indirizzo IP viene estratto dal campo gw e assegnato al campo UDM. |
ID | event.idm.read_only_udm.principal.hostname , event.idm.read_only_udm.principal.asset.hostname |
Il valore del campo id viene assegnato a entrambi i campi UDM. |
maxThroughput | event.idm.read_only_udm.target.resource.attribute.labels |
Al campo UDM viene aggiunta un'etichetta con chiave "maxThroughput" e valore del campo maxThroughput . |
msg | event.idm.read_only_udm.security_result.summary , event.idm.read_only_udm.metadata.description |
Se fw_action non è "drop" o appcat è vuoto, il valore del campo msg viene assegnato a event.idm.read_only_udm.security_result.summary . In caso contrario, viene assegnata a event.idm.read_only_udm.metadata.description . |
natDst | event.idm.read_only_udm.target.nat_ip |
L'indirizzo IP viene estratto dal campo natDst e assegnato al campo UDM. |
natSrc | event.idm.read_only_udm.principal.nat_ip |
L'indirizzo IP viene estratto dal campo natSrc e assegnato al campo UDM. |
nota | event.idm.read_only_udm.security_result.description |
Il valore del campo note , dopo aver estratto dstip , srcip , gw e sec_desc , viene assegnato al campo UDM. |
packetsIn | event.idm.read_only_udm.target.resource.attribute.labels |
Al campo UDM viene aggiunta un'etichetta con la chiave "packetsIn" e il valore del campo packetsIn . |
packetsOut | event.idm.read_only_udm.target.resource.attribute.labels |
Al campo UDM viene aggiunta un'etichetta con chiave "packetsOut" e valore del campo packetsOut . |
packetsTotal | event.idm.read_only_udm.target.resource.attribute.labels |
Al campo UDM viene aggiunta un'etichetta con chiave "packetsTotal" e valore del campo packetsTotal . |
pri | event.idm.read_only_udm.security_result.severity |
Il valore del campo pri determina il valore del campo UDM: 0, 1, 2 -> CRITICAL; 3 -> ERROR; 4 -> MEDIUM; 5, 7 -> LOW; 6 -> INFORMATIONAL. |
proto | event.idm.read_only_udm.network.ip_protocol , event.idm.read_only_udm.network.application_protocol , event.idm.read_only_udm.metadata.event_type |
Se proto contiene "udp", ip_protocol dell'UDM è impostato su "UDP" e event_type su "NETWORK_CONNECTION". Se proto contiene "https", application_protocol UDM è impostato su "HTTPS". |
rcvd | event.idm.read_only_udm.network.received_bytes |
Il valore del campo rcvd viene convertito in un numero intero non firmato e assegnato al campo UDM. |
regola | event.idm.read_only_udm.security_result.rule_name |
Il valore del campo rule viene assegnato al campo UDM. |
sec_desc | event.idm.read_only_udm.security_result.description |
Il valore del campo sec_desc viene assegnato al campo UDM. |
sent | event.idm.read_only_udm.network.sent_bytes |
Il valore del campo sent viene convertito in un numero intero non firmato e assegnato al campo UDM. |
sess | event.idm.read_only_udm.security_result.detection_fields |
Al campo UDM viene aggiunto un campo di rilevamento con la chiave "Tipo di sessione" e il valore del campo sess . |
sn | event.idm.read_only_udm.additional.fields |
Al campo UDM viene aggiunta un'etichetta con chiave "SN" e valore del campo sn . |
spkt | event.idm.read_only_udm.network.sent_packets |
Il valore del campo spkt viene convertito in un numero intero e assegnato al campo UDM. |
src | event.idm.read_only_udm.principal.ip , event.idm.read_only_udm.principal.port |
L'IP e la porta vengono estratti dal campo src . Se srcV6 non è vuoto, l'IP viene estratto da srcV6 . |
srcMac | event.idm.read_only_udm.principal.mac |
Il valore del campo srcMac viene assegnato al campo UDM. |
srcV6 | event.idm.read_only_udm.principal.ip |
L'IP viene estratto dal campo srcV6 . |
srcip | event.idm.read_only_udm.additional.fields , event.idm.read_only_udm.principal.ip |
Se srcip contiene "-", a event.idm.read_only_udm.additional.fields viene aggiunta un'etichetta con chiave "srcip" e valore del campo srcip . In caso contrario, il valore di srcip viene assegnato a event.idm.read_only_udm.principal.ip . |
tempo | event.idm.read_only_udm.metadata.event_timestamp |
Il valore del campo time viene analizzato e convertito in un timestamp, che viene poi assegnato al campo UDM. |
tipo | event.idm.read_only_udm.network.ip_protocol |
Se il campo proto è "icmp", il campo UDM è impostato su "ICMP". |
utente/usr | event.idm.read_only_udm.principal.user.email_addresses , event.idm.read_only_udm.principal.user.user_display_name , event.idm.read_only_udm.principal.user.userid |
Se user è vuoto, viene utilizzato il valore di usr . Se il valore contiene "@", viene considerato un indirizzo email e aggiunto a email_addresses . Se contiene uno spazio, viene considerato un nome visualizzato. In caso contrario, viene trattato come un userid. |
vpnpolicy | event.idm.read_only_udm.security_result.detection_fields |
Al campo UDM viene aggiunto un campo di rilevamento con chiave "vpnpolicy" e valore del campo vpnpolicy . Hardcoded su "SonicWall". Hardcoded su "Firewall". Hardcoded su "SONIC_FIREWALL". Determinato da una logica basata sui valori di altri campi. Il valore predefinito è "GENERIC_EVENT", può essere "STATUS_UPDATE", "NETWORK_CONNECTION" o "NETWORK_HTTP". |
Modifiche
2024-06-04
- È stato rimosso l'allineamento di "principal.asset.ip" e "target.asset.ip".
- Se il valore IP è nel formato intervallo, "src" e "dst" vengono mappati a "additional.fields".
- "gw" è stato mappato a "intermediary.ip".
2024-05-29
- È stato modificato il grok per analizzare il campo "sn".
- "sn" è stato mappato a "intermediary.asset_id".
2024-05-29
- "firewall_hostname" è stato mappato a "intermediary.hostname".
- È stato modificato il pattern Grok per analizzare il campo "sn".
- "sn" è stato mappato a "intermediary.asset_id".
2024-04-18
- È stata modificata la mappatura di "fw" da "observer.ip" a "principal.ip".
- È stata modificata la mappatura di "id" da "resource.id" a "principal.hostname".
2023-05-26
- Miglioramento:
- "fw_action" è stato mappato a "security_result.action_details".
- "spkt" è stato mappato a "network.sent_packets".
2023-03-08
- Miglioramento:
- È stato aggiunto un controllo delle condizioni al campo "Utente" per analizzare il campo appropriato (ad es. principal.user.email_addresses o principal.user.user_display_name o principal.user.userid).
- È stato rimosso "pri" da "security_result.detection_fields" e mappato a "security_result.severity".
- "usr" è stato mappato a "principal.user.email_addresses".
- Il campo "vpnpolicy" è stato mappato a "security_result.detection_fields".
- Campo "cdur" mappato a "security_result.detection_fields".
- Il campo "sess" è stato mappato a "security_result.detection_fields".
2023-03-06
- Miglioramento:
- "fw" è stato mappato a "observer.ip" anziché a target.ip.
2023-02-22
- Miglioramento:
- Gli eventi analizzano il traffico come "NETWORK_HTTP", ma vengono mappati a "NETWORK_CONNECTION" quando il protocollo non è HTTP.
- "msg" è stato mappato a "security_result.summary" dove "fw_action" è uguale a "drop". "BLOCK" è stato mappato a "security_result.action".
- "fw" è stato mappato a "observer.ip" e "src" a "principal.ip".
2022-06-24
- Miglioramento:
- "msg" è stato mappato a "security_result.summary".
- Se "fw_action" è uguale a "drop", viene mappato "BLOCK" a "security_result.action".
- "inviati" è stato mappato a "network.sent_bytes".
- "rcvd" è stato mappato a "network.received_bytes".
- "usr" è stato mappato a "principal.user.userid".
- "pri" è stato mappato a "additional.fields".
- "sn" è stato mappato a "additional.fields".
- "id" è stato mappato a "target.resource.id".
2022-05-26
- Correzione di bug:
- Durata mappata a network.session_duration.seconds.
- Utente mappato a principal.user.userid.
- Agente mappato a network.http.user_agent.
- È stato mappato avgThroughput a target.resource.attribute.labels.
- È stata eseguita la mappatura di bytesIn a network.sent_bytes.
- È stata eseguita la mappatura di bytesOut a network.received_bytes.
- È stato mappato bytesTotal a target.resource.attribute.labels.
- Ho mappato maxThroughput a target.resource.attribute.labels.
- Destinazione mappata a target.ip.
- fw mappato a principal.ip.
- La priorità è stata mappata a event.idm.read_only_udm.additional.fields.
2022-05-19
- Miglioramento: il parser è stato convertito da SDM a UDM (è stata modificata la mappatura dai campi webproxy ai campi evento).