Raccogliere i log DDI di BlueCat
Questo parser gestisce i messaggi syslog formattati sia in LEEF che non in 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 all'UDM in base al tipo di log e compilando di conseguenza i campi DNS, DHCP o relativi agli utenti.
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 è in esecuzione dietro un proxy, assicurati che le porte del firewall siano aperte.
- Assicurati di disporre dell'accesso privilegiato a Bluecat.
Recupera il file di autenticazione di importazione di Google SecOps
- Accedi alla console Google SecOps.
- Vai a Impostazioni SIEM > Agenti di raccolta.
- Scarica il file di autenticazione dell'importazione.
Ottenere 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 BindPlane Agent
- Per l'installazione su 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.
Configurare l'agente BindPlane per importare i syslog e inviarli a Google SecOps
- Accedi al computer su 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
Configurare Syslog su Bluecat DDI
- Accedi a Bluecat Address Manager (BAM).
- Dal menu Configurazione, seleziona una configurazione.
- Seleziona la scheda Server.
- In Server, fai clic sul nome di un BDDS.
- Dovrebbe aprirsi la scheda Dettagli del server.
- Fai clic sul menu del nome del server.
- Seleziona Configurazione 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.
Configura le impostazioni Syslog in BlueCat DDI
- Accedi a BlueCat Address Manager.
- Vai a Configurazione > Impostazioni di sistema > Log.
- In Impostazioni di logging, individua la sezione 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 (predefinito) o TLS (in base alla configurazione di syslog).
- Porta: specifica la porta per la comunicazione syslog (valore predefinito: 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
- Error: eventi di errore
- Avviso: eventi di avviso
- Avviso: eventi normali, ma significativi
- Informazioni: messaggi informativi
- Debug: informazioni dettagliate sul debug
- (Facoltativo) Aggiungi un'entità Syslog personalizzata per classificare i log (ad esempio local0 o local1).
- Salva la configurazione.
Applicare le impostazioni Syslog alle appliance DDI
- Vai a Server > Gestisci server.
- Seleziona i server DNS/DHCP in cui deve essere attivato syslog.
- Fai clic su Modifica server.
- Nella sezione Logging:
- Seleziona il server syslog configurato in precedenza.
- Attiva il logging per servizi specifici (ad esempio query DNS o lease DHCP).
- Salva le modifiche.
Tabella di mappatura UDM
Campo log | Mappatura UDM | Logica |
---|---|---|
client_ip |
network.dhcp.ciaddr |
Estratto dal messaggio DHCPREQUEST. Viene 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 |
Estratto dai messaggi DHCP (DHCPREQUEST, DHCPOFFER, DHCPACK, DHCPNAK, DHCPRELEASE). |
cmd |
target.process.command_line |
Estratto dai log CRON. I simboli & e gli spazi vengono rimossi. |
description |
metadata.description |
Estratto da vari tipi di log, per fornire un contesto aggiuntivo. |
description |
metadata.description |
Estratto dai log di syslog-ng, che fornisce un contesto aggiuntivo. |
file_path |
target.file.full_path |
Estratto da vari tipi di log, rappresenta il percorso completo di un file. |
file_path |
target.process.file.full_path |
Estratto dai log di agetty, rappresenta il percorso completo di un file relativo a un processo. |
inner_message |
metadata.description |
Viene utilizzato come descrizione per gli eventi GENERIC_EVENT quando il tipo di operazione non è definito e per i log MEM-MON. |
metadata.event_type |
Determinato dall'analizzatore 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 su "DNS" per i log DNS e su "DHCP" per i log DHCP. | |
network.dns.answers |
Un array contenente record di risposta. Il campo data all'interno di answers viene compilato con target_ip , se presente. |
|
network.dns.questions |
Un array contenente record di 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, rappresenta l'indirizzo IP di un server di inoltro o intermedio. |
server_host |
target.hostname |
Estratto da vari tipi di log, rappresenta il nome host del server. |
server_host |
network.dhcp.sname |
Estratto dai log DHCP, rappresenta il nome host del server. |
server_host |
principal.hostname |
Estratto da systemd, agetty e da alcuni log di controllo, rappresenta 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 rappresenta 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 rappresenta la porta di origine. |
src_user |
principal.user.userid |
Estratto dai log CRON e di controllo, che rappresenta l'ID utente. |
target_host |
target.hostname |
Estratto da vari tipi di log, che rappresenta 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 rappresenta 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 della risposta. |
tgt_port |
target.port |
Estratto dai log di syslog-ng, che rappresenta la porta di destinazione. |
Modifiche
2022-11-08
- È stato aggiunto il pattern grok per i log appena importati per log_type: "agetty", "syslog-ng", "systemd".
- È stato aggiunto il pattern Grok per log_type: "named", "systemd", "CRON", "agetty", "syslog-ng" e le relative mappature per i campi in log_type sopra menzionati.
2022-09-01
event_type
modificato da "GENERIC_EVENT" a "USER_UNCATEGORIZED" per ridurre la percentuale generica.
2022-08-16
- Mappatura UDM aggiunta
metadata.vendor_name
a "Bluecat Networks"metadata.product_name
a "Bluecat DDI"
2022-05-05
- Sono stati aggiunti controlli per il campo
query_type
.