Raccogliere i log HP ProCurve

Supportato in:

Questo documento spiega come importare i log dello switch HP ProCurve in Google Security Operations utilizzando Bindplane. Il codice del parser tenta innanzitutto di analizzare il messaggio di log non elaborato come JSON. In caso contrario, utilizza le espressioni regolari (pattern grok) per estrarre i campi dal messaggio in base ai formati di log HP ProCurve comuni.

Prima di iniziare

Assicurati di soddisfare i seguenti prerequisiti:

  • Istanza Google SecOps
  • Host Windows 2016 o versioni successive o Linux con systemd
  • Se l'esecuzione avviene tramite un proxy, le porte del firewall sono aperte
  • Accesso privilegiato a uno switch HP ProCurve

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

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 di 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: '/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
                ingestion_labels:
                    log_type: HP_PROCURVE
                    raw_log_field: body
    
        service:
            pipelines:
                logs/source0__chronicle_w_labels-0:
                    receivers:
                        - udplog
                    exporters:
                        - chronicle/chronicle_w_labels
    
  3. Sostituisci la porta e l'indirizzo IP in base alle esigenze della tua infrastruttura.

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

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

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
    

Configurare Syslog su HP ProCurve Switch

  1. Accedi allo switch HP Procurve con SSH.
  2. Verifica l'interfaccia dello switch utilizzando il seguente comando:

    show ip int br
    
  3. Attiva la modalità di configurazione sullo switch utilizzando il seguente comando:

    console# conf t
    
  4. Configura lo switch per inviare i log utilizzando i seguenti comandi:

        logging host <bindplae-server-ip> transport <udp/tcp> port <port-number>
        logging facility syslog
        logging trap informational
        logging buffer 65536
        logging origin-id hostname
        logging source-interface <interface>
    
  5. Sostituisci <bindplae-server-ip> e <port-number> con l'indirizzo IP di Bindplane e il numero di porta.

  6. Sostituisci <udp/tcp> selezionando solo UDP o TCP come protocollo di comunicazione (a seconda della configurazione dell'agente Bindplane).

  7. Sostituisci <interface> con l'ID interfaccia che hai ricevuto in precedenza dallo switch (ad esempio, Ethernet1/1).

  8. Esci dalla modalità di configurazione e salva utilizzando i seguenti comandi:

    console# exit
    console# wr
    

Tabella di mappatura UDM

Campo log Mappatura UDM Logic
AAAScheme read_only_udm.security_result.detection_fields.value Valore estratto dal campo descrip se la chiave è AAAScheme
AAAType read_only_udm.security_result.detection_fields.value Valore estratto dal campo descrip se la chiave è AAAType
ID telaio read_only_udm.security_result.detection_fields.value Valore estratto dal campo description se la chiave è Chassis ID
Il comando è read_only_udm.security_result.detection_fields.value Testo dopo Command is nel campo commandInfo
CommandSource read_only_udm.security_result.detection_fields.value Valore estratto dal campo descrip se la chiave è CommandSource
Config-Method read_only_udm.additional.fields.value.string_value Se il campo esiste nel log, viene inserito nei campi aggiuntivi come config_method
ConfigDestination read_only_udm.security_result.detection_fields.value Valore estratto dal campo descrip se la chiave è ConfigDestination
ConfigSource read_only_udm.security_result.detection_fields.value Valore estratto dal campo descrip se la chiave è ConfigSource
Device-Name read_only_udm.principal.hostname Se il campo esiste nel log, viene mappato al nome host dell'entità e al nome host dell'asset
ID evento read_only_udm.additional.fields.value.string_value Se il campo esiste nel log, viene inserito nei campi aggiuntivi come event_id
EventIndex read_only_udm.security_result.detection_fields.value Valore estratto dal campo descrip se la chiave è EventIndex
IfIndex read_only_udm.security_result.detection_fields.value Valore estratto dal campo description se la chiave è IfIndex
IP: %{IP:IPAddr} read_only_udm.target.ip, read_only_udm.target.asset.ip Indirizzo IP estratto dal campo desc e mappato all'IP di destinazione e all'IP dell'asset di destinazione
IPAddr read_only_udm.target.ip, read_only_udm.target.asset.ip Se il campo esiste nel log, viene mappato all'IP di destinazione e all'IP della risorsa di destinazione
Notice-Type read_only_udm.additional.fields.value.string_value Se il campo esiste nel log, viene inserito nei campi aggiuntivi come notice_type
ID porta read_only_udm.security_result.detection_fields.value Valore estratto dal campo description se la chiave è Port ID
Remote-IP-Address read_only_udm.additional.fields.value.string_value Se il campo esiste nel log, viene inserito nei campi aggiuntivi come remote_ip_address
Servizio read_only_udm.security_result.detection_fields.value Valore estratto dal campo descrip se la chiave è Service
Attività read_only_udm.security_result.detection_fields.value Valore estratto dal campo descrip se la chiave è Task
Utente read_only_udm.principal.user.userid Se il campo esiste nel log, viene mappato all'ID utente principale
User-Name read_only_udm.principal.user.userid Se il campo esiste nel log, viene mappato all'ID utente principale
Nome utente read_only_udm.principal.user.userid Se il campo esiste nel log, viene mappato all'ID utente principale
UserService read_only_udm.security_result.detection_fields.value Valore estratto dal campo desc se la chiave è UserService
collection_time.seconds read_only_udm.metadata.event_timestamp.seconds Parte dei secondi del timestamp dell'evento
dati Questo campo contiene il messaggio di log non elaborato e viene analizzato per estrarre altri campi. Non è mappato all'UDM.
decr read_only_udm.security_result.description Descrizione estratta dal messaggio di log
descrip Descrizione estratta dal campo desc, analizzata ulteriormente per le coppie chiave-valore. Non è mappato all'UDM.
description read_only_udm.security_result.description Se il campo esiste nel log, viene mappato alla descrizione del risultato di sicurezza
descript read_only_udm.metadata.description Se il campo esiste nel log, viene mappato alla descrizione dei metadati
event_id read_only_udm.additional.fields.value.string_value Se il campo esiste nel log, viene inserito nei campi aggiuntivi come event_id
eventId read_only_udm.metadata.product_event_type ID evento estratto dal messaggio di log
nome host read_only_udm.principal.hostname, read_only_udm.principal.asset.hostname Nome host estratto dal messaggio di log e mappato al nome host principale e al nome host dell'asset
inter_ip read_only_udm.additional.fields.value.string_value, read_only_udm.intermediary.ip Se il campo esiste nel log ed è un IP valido, viene mappato all'IP intermedio. In caso contrario, viene inserito nei campi aggiuntivi come inter_ip
notice_type read_only_udm.additional.fields.value.string_value Se il campo esiste nel log, viene inserito nei campi aggiuntivi come notice_type
pid read_only_udm.principal.process.pid Se il campo esiste nel log, viene mappato al PID del processo principale
programma Informazioni sul programma estratte dal messaggio di log, analizzate ulteriormente per estrarre modulo, gravità e azione. Non è mappato all'UDM.
proto read_only_udm.network.application_protocol, read_only_udm.additional.fields.value.string_value Protocollo estratto dal messaggio di log. Se corrisponde a protocolli noti, viene mappato al protocollo dell'applicazione. In caso contrario, viene inserito nei campi aggiuntivi come Application Protocol
remote_ip_address read_only_udm.principal.ip, read_only_udm.principal.asset.ip, read_only_udm.additional.fields.value.string_value Se il campo esiste nel log ed è un IP valido, viene mappato all'IP principale e all'IP dell'asset principale. In caso contrario, viene inserito nei campi aggiuntivi come remote_ip_address
gravità read_only_udm.security_result.severity, read_only_udm.security_result.severity_details Gravità estratta dal campo program dopo la suddivisione per /. È mappato ai livelli di gravità UDM e memorizzato anche come dettagli di gravità non elaborati
src_ip read_only_udm.principal.ip, read_only_udm.principal.asset.ip L'IP di origine estratto dal messaggio di log e mappato all'IP principale e all'IP della risorsa principale
stato read_only_udm.additional.fields.value.string_value Se il campo esiste nel log, viene inserito nei campi aggiuntivi come status
targetHostname read_only_udm.target.hostname, read_only_udm.target.asset.ip Se il campo esiste nel log, viene mappato al nome host di destinazione e all'IP risorsa di destinazione
target_ip read_only_udm.target.ip, read_only_udm.target.asset.ip IP di destinazione estratto dal messaggio di log e mappato all'IP di destinazione e all'IP della risorsa di destinazione
timestamp read_only_udm.metadata.event_timestamp.seconds Timestamp estratto dal messaggio di log e convertito in timestamp dell'evento
timestamp.seconds read_only_udm.metadata.event_timestamp.seconds Parte dei secondi del timestamp dell'evento
nome utente read_only_udm.principal.user.userid Se il campo esiste nel log, viene mappato all'ID utente principale
read_only_udm.metadata.event_type Determinato in base a una combinazione di campi e logica:
- NETWORK_CONNECTION: se has_principal e has_target sono true.
- USER_LOGOUT: se action è WEBOPT_LOGOUT, LOGOUT o SHELL_LOGOUT.
- USER_LOGIN: se action è LOGIN o WEBOPT_LOGIN_SUC.
- STATUS_UPDATE: se action non è vuoto o src_ip/hostname non sono vuoti.
- USER_UNCATEGORIZED: se has_user è true.
- GENERIC_EVENT: se nessuna di queste condizioni è soddisfatta.
read_only_udm.metadata.product_name Codificato in modo permanente su Procurve
read_only_udm.metadata.vendor_name Codificato in modo permanente su HP
read_only_udm.extensions.auth.type Impostato su MACHINE se event_type è USER_LOGOUT o USER_LOGIN

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