Raccogliere i log di VyOS

Supportato in:

Questo documento spiega come importare i log di VyOS in Google Security Operations utilizzando Bindplane. Il parser estrae i campi dai messaggi syslog, concentrandosi principalmente sugli eventi DHCP. Utilizza pattern grok per identificare e classificare i messaggi in base al processo (dhcpd, kernel e così via), quindi mappa le informazioni pertinenti ai campi UDM, gestendo in modo diverso richieste, riconoscimenti, offerte DHCP e altri tipi di eventi. Inoltre, compila i dettagli generici degli eventi per i log non DHCP e mappa le informazioni sulla connessione di rete, se disponibili.

Prima di iniziare

Assicurati di soddisfare i seguenti prerequisiti:

  • Istanza Google SecOps
  • Windows 2016 o versioni successive o un host Linux con systemd
  • Se l'esecuzione avviene tramite un proxy, assicurati che le porte del firewall siano aperte.
  • Accesso con privilegi a VyOS

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

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

Installa l'agente Bindplane sul sistema operativo Windows o Linux seguendo le istruzioni riportate di seguito.

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 aggiuntive per l'installazione

Per ulteriori opzioni di installazione, consulta la guida all'installazione.

Configura l'agente Bindplane per importare 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:
        udplog:
            # Replace the port and IP address as required
            listen_address: "0.0.0.0:514"
    
    exporters:
        chronicle/chronicle_w_labels:
            compression: gzip
            # Adjust the path to the credentials file you downloaded in Step 1
            creds_file_path: '/path/to/ingestion-authentication-file.json'
            # Replace with your actual customer ID from Step 2
            customer_id: <customer_id>
            endpoint: malachiteingestion-pa.googleapis.com
            # Add optional ingestion labels for better organization
            log_type: 'VYOS'
            raw_log_field: body
            ingestion_labels:
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - udplog
                exporters:
                    - chronicle/chronicle_w_labels
    

Riavvia l'agente Bindplane per applicare le modifiche

  • Per riavviare l'agente Bindplane in Linux, esegui questo comando:

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

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Configura Syslog su VyOS

  1. Accedi al router VyOS utilizzando la CLI.
  2. Inserisci i seguenti comandi:

    set system syslog marker interval 1200
    set system syslog remote <bindplane-address> facility local0 level info port <bindolane-port> protocol <udp-or-tcp> format include-timezone
    
  3. Assicurati di sostituire i seguenti campi con i tuoi dati:

    • <bindplane-address>: inserisci l'indirizzo IP dell'agente Bindplane.
    • <bindolane-port>: inserisci il numero di porta dell'agente Bindplane (ad esempio, 514).
    • <udp-or-tcp>: inserisci UDP o TCP, a seconda della configurazione di Bindplane (ad esempio, UDP).

Tabella di mappatura UDM

Campo log Mappatura UDM Logic
clientIp principal.ip Indirizzo IP client estratto dal messaggio DHCP.
clientMac principal.mac Indirizzo MAC del client estratto dal messaggio DHCP.
datetime metadata.event_timestamp Il timestamp estratto dal messaggio di log.
dst_ipaddress target.ip Indirizzo IP di destinazione estratto dal messaggio di log.
hostname observer.hostname Nome host estratto dal messaggio di log. Determinato dal parser in base a process e ad altri campi. Può essere GENERIC_EVENT, NETWORK_CONNECTION, NETWORK_DHCP o STATUS_UPDATE. Codificato in modo permanente su "VYOS".
msg metadata.description Il messaggio originale del log o una sua parte, a seconda della logica di analisi. Imposta "DHCP Event" se process è "dhcpd". Codificato come "VYOS DHCP". Codificato in modo permanente su "VYOS".
network.dhcp.chaddr network.dhcp.chaddr Indirizzo MAC client estratto dai messaggi DHCP.
network.dhcp.ciaddr network.dhcp.ciaddr Indirizzo IP client in un messaggio DHCPREQUEST. Opcode del messaggio DHCP. Imposta "BOOTREQUEST" per DHCPREQUEST e DHCPINFORM, "BOOTREPLY" per DHCPACK e DHCPNAK. Tipo di messaggio DHCP. Derivato da eventType e può essere REQUEST, ACK, INFORM, NAK o OFFER.
network.dhcp.yiaddr network.dhcp.yiaddr Il tuo indirizzo IP (client) in un messaggio DHCPACK o DHCPOFFER. Imposta "DHCP" se process è "dhcpd".
pri_host principal.hostname Nome host associato a un client nei messaggi DHCP.
rem_msg metadata.description La parte rimanente del messaggio dopo l'analisi iniziale, utilizzata per la descrizione in alcuni casi.
src_ipaddress principal.ip Indirizzo IP di origine estratto dal messaggio di log.
timestamp event.timestamp Il timestamp della voce di log.

Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.