Raccogliere i log BlueCat DDI

Supportato in:

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

  1. Accedi alla console Google SecOps.
  2. Vai a Impostazioni SIEM > Agenti di raccolta.
  3. Scarica il file di autenticazione importazione.

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

  1. 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
  2. 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
  3. Ulteriori opzioni di installazione sono disponibili in questa guida all'installazione.

Configura l'agente Bindplane per importare Syslog e inviarlo a Google SecOps

  1. Accedi alla macchina in cui è installato Bindplane.
  2. 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
    
  3. Riavvia l'agente Bindplane per applicare le modifiche:

    sudo systemctl restart bindplane
    

Configura Syslog su Bluecat DDI

  1. Accedi a Bluecat Address Manager (BAM).
  2. Dal menu Configurazione, seleziona una configurazione.
  3. Seleziona la scheda Server.
  4. Nella sezione Server, fai clic sul nome di un BDDS.
  5. Dovrebbe aprirsi la scheda Dettagli del server.
  6. Fai clic sul menu Nome server.
  7. Seleziona Service Configuration (Configurazione del servizio).
  8. Fai clic su Tipo di servizio > Syslog (Address Manager esegue query sul server e restituisce i valori correnti).
  9. 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).
  10. Fai clic su Aggiungi.
    • Il server syslog appena aggiunto verrà visualizzato nell'elenco.
  11. Fai clic su Aggiorna.

Configurare le impostazioni Syslog in BlueCat DDI

  1. Accedi a BlueCat Address Manager.
  2. Vai a Configurazione > Impostazioni di sistema > Registrazione.
  3. In Logging Settings (Impostazioni per il logging), individua la sezione Syslog Servers (Server Syslog).
  4. Fai clic su Aggiungi server Syslog.
  5. 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).
  6. 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
  7. (Facoltativo) Aggiungi una struttura Syslog personalizzata per classificare i log (ad esempio, local0 o local1).
  8. Salva la configurazione.

Applicare le impostazioni Syslog agli appliance DDI

  1. Vai a Server > Gestisci server.
  2. Seleziona i server DNS/DHCP in cui abilitare syslog.
  3. Fai clic su Modifica server.
  4. 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.