Raccogliere i log di Cisco Stealthwatch

Supportato in:

Questo documento spiega come raccogliere i log di Cisco Secure Network Analytics (in precedenza Stealthwatch) in Google Security Operations utilizzando Bindplane. Il parser gestisce due formati di log Cisco Stealthwatch: uno con informazioni su IP e pacchetti client/server e un altro con ID dispositivo e conteggi dei byte. Estrae i campi, li converte nei tipi di dati appropriati, li mappa all'UDM e imposta i campi dei metadati come fornitore, prodotto e tipo di evento in base al contenuto e al formato dei log.

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 Cisco Stealthwatch.

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

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

  1. Accedi al file di configurazione:

    1. Individua il file config.yaml. In genere, si trova nella directory /etc/bindplane-agent/ su Linux o nella directory di installazione su Windows.
    2. 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: CISCO_STEALTHWATCH
                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 di Cisco Secure Network Analytics (in precedenza Stealthwatch)

  1. Accedi all'UI web della console di gestione.
  2. Vai a Configurazione > Gestione risposte.
  3. Modifica formato Syslog:

    • Nome: inserisci un nome per il formato syslog.
    • Descrizione: fornisci una descrizione del formato.
    • Struttura: impostata su Local 0
    • Gravità: impostata su Informational.
    • Nel campo Messaggio, incolla il seguente formato:
    Lancope|StealthWatch|time|{time}|target_hostname|{target_hostname}|alarm_severity_id|{alarm_severity_id}|alarm_type_id|{alarm_type_id}|alarm_type_description|{alarm_type_description}|port|{port}|target_ip|{target_ip}|target_mac_address|{target_mac_address}|target_label|{target_label}|alarm_type_name|{alarm_type_name}|source_hostname|{source_hostname}|source_ip|{source_ip}|source_mac_address|{source_mac_address}|source_username|{source_username}|device_ip|{device_ip}|device_name|{device_name}|details|{details}|protocol|{protocol}|alarm_id|{alarm_id}|alarm_category_name|{alarm_category_name}|start_active_time|{start_active_time}| end_active_time|{end_active_time}
    
  4. Fai clic su OK.

  5. Vai a Gestione risposte > Azioni > Aggiungi messaggio Syslog.

  6. Configura l'agente di inoltro Syslog:

    • Nome: inserisci il nome del forwarder Google SecOps Bindplane.
    • Descrizione: inserisci la descrizione del forwarder Google SecOps Bindplane.
    • Indirizzo IP: inserisci l'indirizzo IP dell'agente Bindplane.
    • Porta: inserisci il numero di porta dell'agente Bindplane, ad esempio 514.
    • Formato: seleziona il formato creato nel passaggio 3.
  7. Fai clic su OK.

Configurare i nomi delle regole per Cisco Secure Network Analytics (in precedenza Stealthwatch)

  1. Vai a Configurazione > Gestione risposte.
  2. Seleziona Regole > Aggiungi > Allarmi di sistema SMC.
  3. Fai clic su OK.
  4. Nella finestra di dialogo Tipi di regole, seleziona una regola.
  5. Fai clic su OK.
  6. Nella finestra di dialogo Regola, procedi nel seguente modo:
    • Nome: inserisci un nome per la regola.
    • Questa regola viene attivata se: seleziona Qualsiasi, Gravità e Informativa negli elenchi corrispondenti.
  7. Fai clic su OK.
  8. Seleziona Azioni > Aggiungi.
  9. Seleziona l'azione che hai creato in precedenza.
  10. Fai clic su Ok, quindi su Ok.
  11. Ripeti i passaggi precedenti per rinominare le tre opzioni seguenti nella sezione Regola:
    • Meccanismo di raccolta dei log supportato: Syslog
    • Meccanismo di raccolta dei log preferito: Syslog
    • Diagramma logico del flusso di eventi - Server syslog remoto SMC

Tabella di mappatura UDM

Campo log Mappatura UDM Logic
Alarm_ID additional.fields[?key=='Alarm_ID'].value.string_value Il valore di Alarm_ID del log non elaborato viene inserito in una struttura additional.fields nidificata sotto la chiave Alarm_ID.
ClientBytes network.sent_bytes ClientBytes dal log non elaborato viene convertito in un numero intero senza segno e mappato.
ClientIP principal.ip ClientIP dal log non elaborato viene mappato.
ClientPort principal.port ClientPort dal log non elaborato viene convertito in un numero intero e mappato.
CPayload Nessuna mappatura Questo campo non viene utilizzato nell'UDM finale.
DestIPv4Address target.ip DestIPv4Address dal log non elaborato viene mappato.
DestPort target.port DestPort dal log non elaborato viene convertito in un numero intero e mappato.
details security_result.summary Viene mappato il valore di details dal log non elaborato, con le virgolette doppie rimosse.
FC intermediary.ip FC dal log non elaborato viene mappato.
host.country principal.location.country_or_region host.country dal log non elaborato viene mappato.
host.hostGroupNames about.group.group_display_name Ogni elemento dell'array host.hostGroupNames del log non elaborato è preceduto da host: e mappato come oggetto about separato.
host.ipAddress principal.ip host.ipAddress dal log non elaborato viene mappato.
hostBytes network.sent_bytes hostBytes dal log non elaborato viene convertito in un numero intero senza segno e mappato.
InPackets additional.fields[?key=='InPackets'].value.string_value Il valore di InPackets del log non elaborato viene inserito in una struttura additional.fields nidificata sotto la chiave InPackets.
inputSNMPIface additional.fields[?key=='inputSNMPIface'].value.string_value Il valore di inputSNMPIface del log non elaborato viene inserito in una struttura additional.fields nidificata sotto la chiave inputSNMPIface.
LastTime Nessuna mappatura In alcuni casi, questo campo viene analizzato per il timestamp dell'evento, ma non viene mappato direttamente all'UDM.
MessageSourceAddress principal.ip MessageSourceAddress dal log non elaborato viene mappato.
method network.http.method method dal log non elaborato viene mappato.
outputSNMPIface additional.fields[?key=='outputSNMPIface'].value.string_value Il valore di outputSNMPIface del log non elaborato viene inserito in una struttura additional.fields nidificata sotto la chiave outputSNMPIface.
PAAppID Nessuna mappatura Questo campo non viene utilizzato nell'UDM finale.
peer.country target.location.country_or_region peer.country dal log non elaborato viene mappato.
peer.hostGroupNames about.group.group_display_name Ogni elemento dell'array peer.hostGroupNames del log non elaborato è preceduto da peer: e mappato come oggetto about separato.
peer.ipAddress target.ip peer.ipAddress dal log non elaborato viene mappato.
peerBytes network.received_bytes peerBytes dal log non elaborato viene convertito in un numero intero senza segno e mappato.
peerPackets Nessuna mappatura Questo campo non viene utilizzato nell'UDM finale.
Protocol Nessuna mappatura Questo campo viene analizzato per determinare il network.ip_protocol, ma non viene mappato direttamente.
ProtocolIdentifier Nessuna mappatura Questo campo viene utilizzato per derivare network.ip_protocol, ma non viene mappato direttamente.
reportName metadata.product_event_type reportName dal log non elaborato viene mappato.
ServerBytes network.received_bytes ServerBytes dal log non elaborato viene convertito in un numero intero senza segno e mappato.
ServerIP target.ip ServerIP dal log non elaborato viene mappato.
ServerPort target.port ServerPort dal log non elaborato viene convertito in un numero intero e mappato.
Service Nessuna mappatura Questo campo non viene utilizzato nell'UDM finale.
sid target.user.windows_sid sid dal log non elaborato viene mappato.
SourceModuleName target.resource.name SourceModuleName dal log non elaborato viene mappato.
SourceModuleType observer.application SourceModuleType dal log non elaborato viene mappato.
SourcePort principal.port SourcePort dal log non elaborato viene convertito in un numero intero e mappato.
sourceIPv4Address principal.ip sourceIPv4Address dal log non elaborato viene mappato.
SPayload Nessuna mappatura Questo campo non viene utilizzato nell'UDM finale.
src_ip principal.ip src_ip dal log non elaborato viene mappato.
StartTime Nessuna mappatura In alcuni casi, questo campo viene analizzato per il timestamp dell'evento, ma non viene mappato direttamente all'UDM.
time Nessuna mappatura In alcuni casi, questo campo viene analizzato per il timestamp dell'evento, ma non viene mappato direttamente all'UDM.
timestamp Nessuna mappatura Questo campo viene analizzato per il timestamp dell'evento, ma non viene mappato direttamente all'UDM.
UserName principal.user.user_display_name UserName dal log non elaborato viene mappato.
Version metadata.product_version Version dal log non elaborato viene convertito in una stringa e mappato.
N/A metadata.event_timestamp Il timestamp dell'evento viene derivato da vari campi (LastTime, time, timestamp, StartTime) a seconda del formato del log o dal campo create_time se non è disponibile nessun altro timestamp.
N/A metadata.log_type Sempre impostato su CISCO_STEALTHWATCH.
N/A metadata.vendor_name Sempre impostato su Cisco.
N/A metadata.event_type Determinato dalla logica del parser in base ai contenuti del log. Può essere NETWORK_CONNECTION, USER_STATS, USER_UNCATEGORIZED, FILE_OPEN, FILE_DELETION o FILE_UNCATEGORIZED.
N/A network.ip_protocol Determinato dalla logica del parser in base ai campi Protocol o ProtocolIdentifier. Può essere TCP, UDP o ICMP.
action security_result.action_details Il valore di action del log non elaborato viene mappato.
action security_result.action Derivato dal campo action. Se action è SUCCESS, questo campo è impostato su ALLOW; in caso contrario, è impostato su BLOCK.
category security_result.category_details Il valore di category del log non elaborato viene mappato.
description security_result.description Se sia description che file_type sono presenti nel log non elaborato, vengono concatenati e mappati.
desc metadata.description Viene mappato il valore di desc dal log non elaborato, con le virgolette doppie rimosse.
failuer_reason security_result.summary Se sia failuer_reason che file_type sono presenti nel log non elaborato, vengono concatenati e mappati.
file_path target.file.full_path file_path dal log non elaborato viene mappato.
file_type target.file.mime_type file_type dal log non elaborato viene mappato.
hostname principal.hostname hostname dal log non elaborato viene mappato.
ip principal.ip ip dal log non elaborato viene mappato.
ipf intermediary.ip ipf dal log non elaborato viene mappato.
ipt target.ip ipt dal log non elaborato viene mappato.
process_id target.process.pid process_id dal log non elaborato viene mappato.
protocol network.application_protocol protocol dal log non elaborato viene mappato.
security_res.severity security_result.severity Se severity è Minor, questo campo è impostato su INFORMATIONAL; se severity è Major, è impostato su ERROR.
session_id network.session_id session_id dal log non elaborato viene mappato.
severity Nessuna mappatura Questo campo viene utilizzato per derivare security_result.severity, ma non viene mappato direttamente.
Source_HG principal.location.country_or_region Source_HG dal log non elaborato viene mappato.
Source_HostSnapshot principal.url Source_HostSnapshot dal log non elaborato viene mappato.
Target_HostSnapshot target.url Target_HostSnapshot dal log non elaborato viene mappato.
user_name principal.user.userid user_name dal log non elaborato viene mappato.

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