Raccogliere i log dello switch Dell

Supportato in:

Questo parser estrae i log degli switch Dell, normalizza i timestamp e utilizza i pattern Grok per strutturare il messaggio del log in coppie chiave-valore. Poi mappa questi campi estratti all'Unified Data Model (UDM), gestisce vari formati di log e arricchisce i dati con informazioni contestuali come i dettagli delle risorse e la gravità della sicurezza.

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 di una connessione attiva e delle credenziali amministrative per uno switch Dell.

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. Salva il file in modo sicuro sul sistema in cui verrà installato BindPlane.

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

Installazione di Windows

  1. Apri il prompt dei comandi o PowerShell come amministratore.
  2. Esegui questo comando:

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    

Installazione di Linux

  1. Apri un terminale con privilegi root o sudo.
  2. Esegui questo comando:

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    

Risorse di installazione aggiuntive

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

  1. Accedi al file di configurazione:

    • Individua il file config.yaml. In genere si trova nella directory /etc/bindplane-agent/ su Linux o nella directory di installazione su Windows.
    • Apri il file utilizzando un editor di testo (ad esempio nano, vi o Blocco note).
  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: sell_switch
            raw_log_field: body
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - tcplog
                exporters:
                    - chronicle/chronicle_w_labels
    
  3. Sostituisci la porta e l'indirizzo IP come richiesto nella tua infrastruttura.

  4. Sostituisci <customer_id> con l'ID cliente effettivo.

  5. Aggiorna /path/to/ingestion-authentication-file.json con il percorso in cui è stato salvato il file di autenticazione nella sezione Ottenere il file di autenticazione per l'importazione di Google SecOps.

Riavvia BindPlane Agent per applicare le modifiche

  • In Linux, per riavviare BindPlane Agent, esegui il seguente comando:

    sudo systemctl restart bindplane-agent
    
  • In Windows, per riavviare l'agente BindPlane, puoi utilizzare la console Servizi o inserire il seguente comando:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Configurare l'esportazione di Syslog da uno switch Dell

  1. Connettiti allo switch Dell tramite SSH o la porta console.
  2. Accedi con le credenziali amministrative.
  3. Utilizza il seguente comando per specificare l'indirizzo IP o il nome host del server syslog (sostitui <syslog_server_ip>, <udp|tcp> e <syslog-port-number> con i dettagli effettivi):

    logging host <syslog-server-ip> transport <udp|tcp> port <syslog-port-number>
    
  4. (Facoltativo) Definisci il livello di gravità minimo per i messaggi da inviare al server syslog. Ad esempio, per registrare i messaggi informativi e quelli successivi:

    logging level informational
    
  5. Salva la configurazione in esecuzione nella configurazione di avvio per assicurarti che le modifiche vengano mantenute dopo i riavvii:

    copy running-config startup-config
    
  6. Salva la configurazione:

    write memory
    

Tabella di mappatura UDM

Campo log Mappatura UDM Logica
acct principal.user.userid Utilizzato come userid se il campo user non è presente.
addr principal.asset.ip, principal.ip Analizza come indirizzo IP e utilizzato per l'IP del principale e l'IP della risorsa se è un indirizzo IP valido e diverso dal nome host.
application principal.application Mappatura diretta.
asset principal.asset.attribute.labels.value Mappato direttamente al valore dell'etichetta della risorsa, con la chiave hardcoded come "Nome risorsa". Se il campo della risorsa è vuoto e il messaggio contiene "Dell", la risorsa viene impostata su "Dell".
auid principal.resource.attribute.labels.value Mappato direttamente a un'etichetta con chiave auid in principal.resource.attribute.labels.
datetime metadata.event_timestamp Analizzati da vari formati nel campo del messaggio e convertiti in un timestamp.
dest_ip target.asset.ip, target.ip Mappato all'IP target e all'IP della risorsa target.
enterpriseId principal.resource.attribute.labels.value Mappato a un'etichetta con chiave enterpriseId in principal.resource.attribute.labels.
exe sec_result.detection_fields.value Mappato a un campo di rilevamento con chiave exe.
File target.file.full_path Mappatura diretta.
grantors principal.resource.attribute.labels.value Mappato a un'etichetta con chiave grantors in principal.resource.attribute.labels.
host principal.hostname, principal.asset.hostname, metadata.event_type Utilizzato come nome host principale e nome host della risorsa. Se è presente host, metadata.event_type viene impostato su STATUS_UPDATE. Se il nome host è presente, ma non l'host, il nome host viene utilizzato come host.
hostname principal.asset.ip, principal.ip, host Se è un indirizzo IP valido, viene utilizzato per l'IP principale e l'IP della risorsa. Se host è vuoto, viene utilizzato come host.
ID principal.resource.attribute.labels.value Mappato a un'etichetta con chiave ID in principal.resource.attribute.labels.
ip principal.asset.ip, principal.ip Mappato all'IP principale e all'IP della risorsa.
is_synced sec_result.detection_fields.value Mappato a un campo di rilevamento con chiave is_synced.
local target.asset.ip, target.ip, target.port Analizzati per estrarre l'IP e la porta locali, mappati all'IP target, all'IP della risorsa target e alla porta target.
local_ip target.asset.ip, target.ip Estratto dal campo local e mappato all'IP target e all'IP dell'asset target.
local_port target.port Estratto dal campo local e mappato alla porta di destinazione.
mac principal.mac Se si tratta di un indirizzo MAC valido, deve essere mappato all'indirizzo MAC principale.
msg metadata.description Utilizzato come descrizione dell'evento, se presente. Analizza anche i campi aggiuntivi.
msg1 metadata.description Viene utilizzato come descrizione dell'evento se msg2 non è presente.
msg2 sec_result.description, metadata.event_type, extensions.auth.type Utilizzata come descrizione del risultato di sicurezza. Se contiene "aperto per l'utente", il tipo di evento è impostato su USER_LOGIN e il tipo di autenticazione su MACHINE. Se contiene "closed for user", il tipo di evento è impostato su USER_LOGOUT e il tipo di autenticazione su MACHINE.
op metadata.product_event_type Utilizzato come tipo di evento del prodotto, se presente.
pid principal.process.pid Mappatura diretta.
port principal.port Mappatura diretta.
prod_event_type metadata.product_event_type Utilizzato come tipo di evento del prodotto, se presente.
res sec_result.summary Mappatura diretta.
sec_description sec_result.description, target.url, target.ip, target.asset.ip, sec_result.action_details Analizzati per URL di destinazione, IP, dettagli dell'azione e utilizzati come descrizione del risultato di sicurezza.
Server_ID target.resource.product_object_id Mappatura diretta.
server principal.asset.ip, principal.ip, principal.port Analizzati per estrarre l'IP e la porta del server, mappati all'IP principale, all'IP dell'asset principale e alla porta principale.
server_ip principal.asset.ip, principal.ip Estratto dal campo server e mappato all'IP principale e all'IP della risorsa principale.
server_port principal.port Estratte dal campo server e mappate alla porta principale.
ses network.session_id Mappatura diretta.
severity sec_result.severity, metadata.product_event_type Utilizzato per determinare la gravità del risultato di sicurezza e il tipo di evento del prodotto in base a valori specifici.
software principal.asset.software Mappatura diretta.
softwareName software.name Mappatura diretta.
Status sec_result.summary Viene utilizzato come riepilogo del risultato di sicurezza se res non è presente.
subj principal.resource.attribute.labels.value Mappato a un'etichetta con chiave subj in principal.resource.attribute.labels.
swVersion software.version Mappatura diretta.
target_host target.hostname, target.asset.hostname Mappato direttamente al nome host di destinazione e al nome host della risorsa di destinazione.
target_ip target.asset.ip, target.ip Mappato direttamente all'IP target e all'IP della risorsa target.
target_url target.url Mappatura diretta.
target_user_id target.user.userid Mappatura diretta.
terminal principal.resource.attribute.labels.value Mappato a un'etichetta con chiave terminal in principal.resource.attribute.labels.
tzknown sec_result.detection_fields.value Mappato a un campo di rilevamento con chiave tzknown.
uid principal.resource.attribute.labels.value Mappato a un'etichetta con chiave uid in principal.resource.attribute.labels.
user principal.user.userid, metadata.event_type Utilizzato come ID utente principale. Se è presente user, metadata.event_type viene impostato su USER_UNCATEGORIZED.
username target.user.userid Mappato direttamente all'ID utente di destinazione.
N/D metadata.vendor_name Hardcoded su "Dell".
N/D metadata.product_name Hardcoded su "Dell Switch".
N/D extensions.auth.type Impostato su MACHINE per eventi di accesso/uscita specifici.
N/D metadata.event_type Determinato da una logica complessa basata su vari campi e condizioni, il valore predefinito è GENERIC_EVENT se non viene impostato diversamente. Può essere USER_LOGIN, USER_LOGOUT, USER_UNCATEGORIZED, NETWORK_CONNECTION, NETWORK_UNCATEGORIZED, STATUS_UPDATE o GENERIC_EVENT.

Modifiche

2024-04-25

  • Sono stati aggiunti pattern Grok per analizzare un nuovo tipo di log.
  • op è stato mappato a metadata.product_event_type.
  • mac è stato mappato a principal.mac.
  • addr è stato mappato a principal.ip.
  • hostname è stato mappato a principal.ip.
  • server_ip è stato mappato a principal.ip.
  • server_port è stato mappato a principal.port.
  • acct è stato mappato a principal.user.userid.
  • target_ip è stato mappato a target.ip.
  • local_ip è stato mappato a target.ip.
  • local_port è stato mappato a target.port.
  • File è stato mappato a target.file.full_path.
  • target_host è stato mappato a target.hostname.
  • target_user_id è stato mappato a target.user.userid.
  • Server_ID è stato mappato a target.resource.product_object_id.
  • tzknown, is_synced e exe sono stati mappati a security_result.detection_fields.
  • res è stato mappato a security_result.summary.
  • Se il valore del campo res è "", status viene mappato a security_result.summary.
  • Sono stati mappati uid, enterpriseId, auid, terminal, subj, grantors e ID a principal.resource.attribute.labels.

2024-04-04

  • Sono stati aggiunti pattern Grok per analizzare il nuovo tipo di log.
  • prod_event_type è stato mappato a metadata.product_event_type.
  • ip è stato mappato a principal.ip.
  • dest_ip è stato mappato a target.ip.
  • target_url è stato mappato a target.url.
  • sec_description è stato mappato a security_result.description.
  • action_details è stato mappato a security_result.action_details.

2024-01-04

  • Sono stati aggiunti pattern Grok per i log appena importati.
  • È stato aggiunto un blocco di date quando datetime è in formato SYSLOGTIMESTAMP.
  • softwareName è stato mappato a principal.asset.software.name.
  • swVersion è stato mappato a principal.asset.software.version.
  • port è stato mappato a principal_port.
  • È stato mappato user a principal.user.userid e impostato metadata.event_type su USER_UNCATEGORIZED quando è presente user.
  • application è stato mappato a principal.application.
  • ip è stato mappato a principal.ip.
  • Imposta sec_result.severity su INFORMATIONAL quando severity è IFMGR-5-OSTATE_DN.
  • msg è stato mappato a metadata.description.

2023-11-02

  • Parser appena creato.