Raccogliere i log BlueCat DDI
Questo parser gestisce i messaggi syslog in formato LEEF e non LEEF di Bluecat DDI (DNS, DHCP, IPAM). Estrae i campi da vari tipi di log (ad esempio named, dhcpd, audit e CRON) utilizzando pattern grok e logica condizionale, mappandoli alla UDM in base al tipo di log e compilando di conseguenza i campi DNS, DHCP o relativi all'utente.
Prima di iniziare
- Assicurati di avere un'istanza Google Security Operations.
- Assicurati di utilizzare Windows 2016 o versioni successive oppure un host Linux con systemd.
- Se l'esecuzione avviene tramite un proxy, assicurati che le porte del firewall siano aperte.
- Assicurati di disporre dell'accesso con privilegi a Bluecat.
Recuperare il file di autenticazione importazione di Google SecOps
- Accedi alla console Google SecOps.
- Vai a Impostazioni SIEM > Agenti di raccolta.
- Scarica il file di autenticazione importazione.
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
- Per l'installazione di Windows, esegui il seguente script:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
- Per l'installazione di Linux, esegui il seguente script:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
- Ulteriori opzioni di installazione sono disponibili in questa guida all'installazione.
Configura l'agente Bindplane per importare Syslog e inviarlo a Google SecOps
- Accedi alla macchina in cui è installato Bindplane.
Modifica il file
config.yaml
come segue:receivers: tcplog: # Replace the below port <54525> and IP <0.0.0.0> with your specific values listen_address: "0.0.0.0:54525" exporters: chronicle/chronicle_w_labels: compression: gzip # Adjust the creds location below according the placement of the credentials file you downloaded creds: '{ json file for creds }' # Replace <customer_id> below with your actual ID that you copied customer_id: <customer_id> endpoint: malachiteingestion-pa.googleapis.com # You can apply ingestion labels below as preferred ingestion_labels: log_type: SYSLOG namespace: bluceat_ddi raw_log_field: body service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - tcplog exporters: - chronicle/chronicle_w_labels
Riavvia l'agente Bindplane per applicare le modifiche:
sudo systemctl restart bindplane
Configura Syslog su Bluecat DDI
- Accedi a Bluecat Address Manager (BAM).
- Dal menu Configurazione, seleziona una configurazione.
- Seleziona la scheda Server.
- Nella sezione Server, fai clic sul nome di un BDDS.
- Dovrebbe aprirsi la scheda Dettagli del server.
- Fai clic sul menu Nome server.
- Seleziona Service Configuration (Configurazione del servizio).
- Fai clic su Tipo di servizio > Syslog (Address Manager esegue query sul server e restituisce i valori correnti).
- In Generali, imposta i seguenti valori:
- Server Syslog: l'indirizzo IP del server Syslog (Bindplane).
- Porta Syslog: la porta del server Syslog (Bindplane).
- Trasporto Syslog: seleziona TCP o UDP (a seconda della configurazione di Bindplane).
- Fai clic su Aggiungi.
- Il server syslog appena aggiunto verrà visualizzato nell'elenco.
- Fai clic su Aggiorna.
Configurare le impostazioni Syslog in BlueCat DDI
- Accedi a BlueCat Address Manager.
- Vai a Configurazione > Impostazioni di sistema > Registrazione.
- In Logging Settings (Impostazioni per il logging), individua la sezione Syslog Servers (Server Syslog).
- Fai clic su Aggiungi server Syslog.
- Fornisci i valori richiesti:
- Nome server: un nome univoco per il server syslog (ad esempio, BindplaneServer).
- Indirizzo IP: l'indirizzo IP o il nome host del server syslog.
- Protocollo: seleziona TCP, UDP (impostazione predefinita) o TLS (in base alla configurazione di syslog).
- Porta: specifica la porta per la comunicazione syslog (impostazione predefinita: 514 per UDP/TCP, 6514 per TLS).
- Configura il livello di logging. Scegli il livello appropriato in base alle tue esigenze. Le opzioni includono:
- Emergenza: problemi critici che richiedono attenzione immediata
- Avviso: avvisi che richiedono un'azione immediata
- Critica: condizioni critiche
- Errore: eventi di errore
- Avviso: eventi di avviso
- Avviso: eventi normali ma significativi
- Informazioni: messaggi informativi
- Debug: informazioni di debug dettagliate
- (Facoltativo) Aggiungi una struttura Syslog personalizzata per classificare i log (ad esempio, local0 o local1).
- Salva la configurazione.
Applicare le impostazioni Syslog agli appliance DDI
- Vai a Server > Gestisci server.
- Seleziona i server DNS/DHCP in cui abilitare syslog.
- Fai clic su Modifica server.
- Nella sezione Registrazione:
- Seleziona il server syslog che hai configurato in precedenza.
- Abilita la registrazione per servizi specifici (ad esempio, query DNS o assegnazioni DHCP).
- Salva le modifiche.
Tabella di mappatura UDM
Campo log | Mappatura UDM | Logic |
---|---|---|
client_ip |
network.dhcp.ciaddr |
Estratto dal messaggio DHCPREQUEST. Compilato solo per i messaggi DHCPREQUEST. |
client_mac |
principal.mac |
Estratto dai messaggi DHCP (DHCPDISCOVER, DHCPREQUEST, DHCPRELEASE). |
client_mac |
target.mac |
Estratto dai messaggi DHCP (DHCPOFFER, DHCPNAK). |
client_mac |
network.dhcp.chaddr |
Estratti dai messaggi DHCP (DHCPREQUEST, DHCPOFFER, DHCPACK, DHCPNAK, DHCPRELEASE). |
cmd |
target.process.command_line |
Estratto dai log CRON. Le e commerciali e gli spazi vengono rimossi. |
description |
metadata.description |
Estratti da vari tipi di log, che forniscono un contesto aggiuntivo. |
description |
metadata.description |
Estratto dai log syslog-ng, che forniscono un contesto aggiuntivo. |
file_path |
target.file.full_path |
Estratto da vari tipi di log, che rappresentano il percorso completo di un file. |
file_path |
target.process.file.full_path |
Estratto dai log agetty, che rappresenta il percorso completo di un file correlato a un processo. |
inner_message |
metadata.description |
Utilizzato come descrizione per GENERIC_EVENT quando il tipo di operazione non è definito e per i log MEM-MON. |
metadata.event_type |
Determinato dal parser in base al tipo e ai contenuti del log. I valori possibili includono: NETWORK_DNS, NETWORK_DHCP, USER_LOGIN, USER_LOGOUT, USER_UNCATEGORIZED, GENERIC_EVENT, STATUS_UPDATE, NETWORK_CONNECTION. Sempre "BLUECAT_DDI". | |
metadata.vendor_name |
Sempre "Bluecat Networks". | |
metadata.product_name |
Sempre "Bluecat DDI". | |
metadata.event_timestamp |
Copiato dal timestamp analizzato della voce di log. | |
network.protocol |
Imposta "DNS" per i log DNS e "DHCP" per i log DHCP. | |
network.dns.answers |
Un array contenente i record delle risposte. Il campo data all'interno di answers viene compilato con target_ip , se presente. |
|
network.dns.questions |
Un array contenente i record delle domande. Il campo name viene compilato con target_host , il campo type è derivato dai campi query_type o question_type e il campo class è derivato dal campo qclass . |
|
network.dns.recursive |
Imposta su "true" se rec_flag è "+". |
|
qclass |
network.dns.questions.class |
Estratto dai log delle query DNS e mappato a un valore intero utilizzando il file dns_query_class_mapping.include . |
query_type |
network.dns.questions.type |
Estratto dai log delle query DNS e mappato a un valore intero utilizzando il file dhcp_qtype_mapping.include . |
relay_ip |
intermediary.ip |
Estratto dai log DNS e DHCP, che rappresenta l'indirizzo IP di un server di relay o intermediario. |
server_host |
target.hostname |
Estratto da vari tipi di log, che rappresenta il nome host del server. |
server_host |
network.dhcp.sname |
Estratto dai log DHCP, che rappresenta il nome host del server. |
server_host |
principal.hostname |
Estratto da systemd, agetty e alcuni audit log, che rappresentano il nome host dell'entità. |
server_ip |
target.ip |
Estratto dai log in formato LEEF, che rappresenta l'indirizzo IP del server. |
src_ip |
principal.ip |
Estratto da vari tipi di log, che rappresentano l'indirizzo IP di origine. |
src_ip |
network.dhcp.yiaddr |
Utilizzato nei messaggi DHCPINFORM per compilare il campo yiaddr. |
src_port |
principal.port |
Estratto da vari tipi di log, che rappresentano la porta di origine. |
src_user |
principal.user.userid |
Estratto dai log di controllo e CRON, che rappresenta l'ID utente. |
target_host |
target.hostname |
Estratto da vari tipi di log, che rappresentano il nome host di destinazione. |
target_host |
network.dns.questions.name |
Utilizzato nei log DNS per compilare il nome della domanda. |
target_ip |
target.ip |
Estratto da vari tipi di log, che rappresentano l'indirizzo IP di destinazione. |
target_ip |
network.dhcp.ciaddr |
Utilizzato nei messaggi BOOTREQUEST per compilare il campo ciaddr. |
target_ip |
network.dns.answers.data |
Utilizzato nei log DNS per compilare i dati di risposta. |
tgt_port |
target.port |
Estratto dai log syslog-ng, che rappresenta la porta di destinazione. |
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.