Raccogliere i log DDI di BlueCat

Supportato in:

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

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

Ottenere 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 BindPlane Agent

  1. 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
  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.

Configurare l'agente BindPlane per importare i syslog e inviarli a Google SecOps

  1. Accedi al computer su 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
    

Configurare Syslog su Bluecat DDI

  1. Accedi a Bluecat Address Manager (BAM).
  2. Dal menu Configurazione, seleziona una configurazione.
  3. Seleziona la scheda Server.
  4. In Server, fai clic sul nome di un BDDS.
  5. Dovrebbe aprirsi la scheda Dettagli del server.
  6. Fai clic sul menu del nome del server.
  7. Seleziona Configurazione 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.

Configura le impostazioni Syslog in BlueCat DDI

  1. Accedi a BlueCat Address Manager.
  2. Vai a Configurazione > Impostazioni di sistema > Log.
  3. In Impostazioni di logging, individua la sezione 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 (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).
  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
    • Error: eventi di errore
    • Avviso: eventi di avviso
    • Avviso: eventi normali, ma significativi
    • Informazioni: messaggi informativi
    • Debug: informazioni dettagliate sul debug
  7. (Facoltativo) Aggiungi un'entità Syslog personalizzata per classificare i log (ad esempio local0 o local1).
  8. Salva la configurazione.

Applicare le impostazioni Syslog alle appliance DDI

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