Raccogliere i log DHCP di Sophos
Questo documento spiega come importare i log DHCP di Sophos in Google Security Operations utilizzando Bindplane.
Il parser estrae i campi dai log formattati syslog DHCP di Sophos utilizzando grok e/o kv. Mappa questi valori al modello UDM (Unified Data Model) e imposta i valori predefiniti dei metadati per l'origine e il tipo di evento.
Prima di iniziare
Assicurati di soddisfare i seguenti prerequisiti:
- Un'istanza Google SecOps.
- Un host Windows 2016 o versioni successive o Linux con systemd.
- Connettività di rete: 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 amministratore di Sophos Firewall/UTM.
Recuperare il file di autenticazione importazione di Google SecOps
- Accedi alla console Google SecOps.
- Vai a Impostazioni SIEM > Agente di raccolta.
- Scarica il file di autenticazione importazione.
- Salva il file in modo sicuro sul sistema in cui verrà installato Bindplane.
Recuperare l'ID cliente Google SecOps
- Accedi alla console Google SecOps.
- Vai a Impostazioni SIEM > Profilo.
- 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
- Apri il prompt dei comandi o PowerShell come amministratore.
Esegui questo comando:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Installazione di Linux
- Apri un terminale con privilegi root o sudo.
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
Per ulteriori opzioni di installazione, consulta questa guida all'installazione.
Configura l'agente Bindplane per importare Syslog e inviarlo a Google SecOps
Accedi al file di configurazione:
- Individua il file
config.yaml. In genere si trova nella directory/opt/observiq-otel-collectorsu Linux o nella directory di installazione su Windows. - Apri il file utilizzando un editor di testo (ad esempio
nano,vio Blocco note).
- Individua il file
Modifica il file
config.yamlcome 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: <customer_id> endpoint: malachiteingestion-pa.googleapis.com # Add optional ingestion labels for better organization log_type: 'SOPHOS_DHCP' 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
<customer_id>con il tuo ID cliente effettivo. - Aggiorna
/path/to/ingestion-authentication-file.jsoncon il percorso del file in cui è stato salvato il file di autenticazione nel passaggio 1.
Riavvia l'agente Bindplane per applicare le modifiche
Per riavviare l'agente Bindplane in Linux, esegui questo comando:
/opt/observiq-otel-collector/config.yamlPer riavviare l'agente Bindplane in Windows, puoi utilizzare la console Servizi o inserire il seguente comando:
net stop BindPlaneAgent && net start BindPlaneAgent
Configura l'inoltro di Syslog su Sophos DHCP
- Accedi all'interfaccia utente amministrativa di Sophos Firewall/UTM con privilegi amministrativi.
- Vai alle impostazioni di syslog:
- Sophos Firewall: Servizi di sistema > Impostazioni log.
- Sophos UTM: Logging & Reporting > Log Settings > Remote Syslog Server.
- Fai clic su Aggiungi in Server Syslog e fornisci i seguenti dettagli:
- Nome: un nome descrittivo (ad es.
GoogleSecOps-BindPlane). - Indirizzo IP/Dominio: l'indirizzo IP dell'host dell'agente Bindplane.
- Porta: la porta dell'agente Bindplane (ad es.
514). - Struttura: DAEMON.
- Livello di gravità: Informazioni (modifica in base alle norme interne).
- Formato: formato standard del dispositivo (chiave=valore) per l'allineamento con SYSLOG + KV.
- Nome: un nome descrittivo (ad es.
- Fai clic su Salva/Applica per iniziare l'inoltro dei log relativi a DHCP.
Tabella di mappatura UDM
| Campo log | Mappatura UDM | Logic |
|---|---|---|
msg |
metadata.description |
Mappato direttamente |
sub |
metadata.description |
Mappato direttamente |
log_date |
metadata.event_timestamp |
Analizzato come yyyy:MM:dd-HH:mm:ss |
log_date_inner |
metadata.event_timestamp |
Analizzato come MMM dd HH:mm:ss |
event_type |
metadata.event_type |
Mappato direttamente |
msg |
metadata.event_type |
Mappato: call=new → GENERIC_EVENT |
process_type |
metadata.event_type |
Mappato: "confd","ulogd" → GENERIC_EVENT, dhcpd → GENERIC_EVENT, dhcpd → `NETWORK_D... |
id |
metadata.product_event_type |
Mappato direttamente |
process_type |
metadata.product_event_type |
Mappato direttamente |
msg |
metadata.product_name |
Mappato: call=new → SOPHOS_DHCP |
process_type |
metadata.product_name |
Mappato: "confd","ulogd" → SOPHOS_DHCP |
msg |
metadata.vendor_name |
Mappato: call=new → SOPHOS |
process_type |
metadata.vendor_name |
Mappato: "confd","ulogd" → SOPHOS |
process_type |
network.application_protocol |
Mappato: dhcpd → DHCP |
src_mac |
network.dhcp.chaddr |
Mappato direttamente |
src_ip |
network.dhcp.ciaddr |
Mappato direttamente |
src_host |
network.dhcp.client_hostname |
Mappato direttamente |
dhcp_type |
network.dhcp.opcode |
Mappato: DHCPREQUEST → BOOTREQUEST, DHCPACK → BOOTREPLY, DHCPOFFER → BOOTREPLY, `... |
process_type |
network.dhcp.opcode |
Mappato: dhcpd → BOOTREQUEST, dhcpd → BOOTREPLY |
dhcp_type |
network.dhcp.type |
Mappato: DHCPREQUEST → REQUEST, DHCPACK → ACK, DHCPOFFER → OFFER, DHCPNAK → NAK |
process_type |
network.dhcp.type |
Mappato: dhcpd → REQUEST, dhcpd → ACK, dhcpd → OFFER, dhcpd → NAK |
src_ip |
network.dhcp.yiaddr |
Mappato direttamente |
ip_protocol_out |
network.ip_protocol |
Mappato direttamente |
src_host |
observer.hostname |
Mappato direttamente |
dhcp_type |
observer.ip |
Mappato: DHCPREQUEST → src_ip |
process_type |
observer.ip |
Mappato: dhcpd → src_ip |
src_ip |
observer.ip |
Unita |
client |
principal.hostname |
Mappato direttamente |
src_host |
principal.hostname |
Mappato direttamente |
dhcp_type |
principal.ip |
Mappato: DHCPREQUEST → src_ip, DHCPNAK → src_ip |
ip |
principal.ip |
Unita |
msg |
principal.ip |
Mappato: call=new → srcip |
oldattr_address |
principal.ip |
Unita |
process_type |
principal.ip |
Mappato: "confd","ulogd" → srcip, "confd","ulogd" → oldattr_address, `"confd","ulogd"... |
src_ip |
principal.ip |
Unita |
srcip |
principal.ip |
Unita |
dhcp_type |
principal.mac |
Mappato: DHCPREQUEST → src_mac, DHCPNAK → src_mac |
process_type |
principal.mac |
Mappato: "confd","ulogd" → srcmac, dhcpd → src_mac |
src_mac |
principal.mac |
Unita |
srcmac |
principal.mac |
Unita |
srcport |
principal.port |
Mappato direttamente |
pid |
principal.process.pid |
Mappato direttamente |
objname |
principal.resource.name |
Mappato direttamente |
user |
principal.user.userid |
Mappato direttamente |
msg |
security_result |
Mappato: call=new → sec_result |
process_type |
security_result |
Mappato: "confd","ulogd" → sec_result, "confd","ulogd" → security_result |
sec_result |
security_result |
Unita |
initf_label |
security_result.about.labels |
Unita |
outitf_label |
security_result.about.labels |
Unita |
process_type |
security_result.about.labels |
Mappato: "confd","ulogd" → initf_label, "confd","ulogd" → outitf_label, `"confd","ulo... |
sid_label |
security_result.about.labels |
Unita |
tcpflags_label |
security_result.about.labels |
Unita |
action |
security_result.action_details |
Mappato direttamente |
action |
security_result.category |
Mappato: portscan → category |
category |
security_result.category |
Unita |
process_type |
security_result.category |
Mappato: "confd","ulogd" → category |
info |
security_result.description |
Mappato direttamente |
name |
security_result.description |
Mappato direttamente |
fwrule |
security_result.rule_id |
Mappato direttamente |
process_type |
security_result.severity |
Mappato: "confd","ulogd" → INFORMATIONAL, "confd","ulogd" → MEDIUM |
severity |
security_result.severity |
Mappato: "info","debug" → INFORMATIONAL, warn → MEDIUM |
call |
security_result.summary |
Mappato direttamente |
attr_address |
target.ip |
Unita |
dstip |
target.ip |
Unita |
ip |
target.ip |
Unita |
process_type |
target.ip |
Mappato: "confd","ulogd" → dstip, "confd","ulogd" → attr_address, "confd","ulogd" →... |
dstmac |
target.mac |
Unita |
process_type |
target.mac |
Mappato: "confd","ulogd" → dstmac |
dstport |
target.port |
Mappato direttamente |
| N/D | metadata.event_type |
Costante: GENERIC_EVENT |
| N/D | metadata.product_name |
Costante: SOPHOS_DHCP |
| N/D | metadata.vendor_name |
Costante: SOPHOS |
| N/D | network.application_protocol |
Costante: DHCP |
| N/D | network.dhcp.opcode |
Costante: BOOTREQUEST |
| N/D | network.dhcp.type |
Costante: REQUEST |
| N/D | security_result.severity |
Costante: INFORMATIONAL |
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.