Raccogli i log di Cisco eStreamer

Supportato in:

Questo documento spiega come importare i log di Cisco eStreamer in Google Security Operations utilizzando Bindplane.
L'analizzatore sintattico estrae i campi dai log formattati syslog Cisco eStreamer con coppie chiave-valore. Utilizza grok e/o kv per analizzare il messaggio di log e poi mappa questi valori al modello UDM (Unified Data Model). Imposta anche i valori predefiniti dei metadati per l'origine e il tipo di evento.

Prima di iniziare

Assicurati di soddisfare i seguenti prerequisiti:

  • Un'istanza Google SecOps.
  • Windows Server 2016 o versioni successive oppure host Linux con systemd.
  • Se l'agente viene eseguito dietro un proxy, assicurati che le porte del firewall siano aperte in base ai requisiti dell'agente Bindplane.
  • Accesso con privilegi a Cisco Firepower Management Center (FMC).
  • Un sistema Linux per eseguire il client CLI eNcore.

Recuperare il file di autenticazione dell'importazione di Google SecOps

  1. Accedi alla console Google SecOps.
  2. Vai a Impostazioni SIEM > Agente di raccolta.
  3. Scarica il file di autenticazione dell'acquisizione.
    • 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 questa guida all'installazione.

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

  1. Accedi al file di configurazione:

    • Individua il file config.yaml. In genere si trova nella directory /observiq-otel-collector/ su Linux o nella directory `C:\Program Files\observIQ OpenTelemetry Collector` 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:5514"
    
    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: YOUR_CUSTOMER_ID
        endpoint: malachiteingestion-pa.googleapis.com
        # Add optional ingestion labels for better organization
        log_type: 'CISCO_ESTREAMER'
        raw_log_field: body
        ingestion_labels:
    
    service:
      pipelines:
        logs/source0__chronicle_w_labels-0:
          receivers:
            - udplog
          exporters:
            - chronicle/chronicle_w_labels
    
  • Sostituisci la porta e l'indirizzo IP in base alle esigenze della tua infrastruttura.
  • Sostituisci YOUR_CUSTOMER_ID con l'ID cliente effettivo.
  • Aggiorna /path/to/ingestion-authentication-file.json con il percorso del file in cui è stato salvato il file di autenticazione nel passaggio 1.

Riavvia l'agente Bindplane per applicare le modifiche

Per riavviare l'agente Bindplane in Linux:

  1. Esegui questo comando:

    sudo systemctl restart observiq-otel-collector
    
  2. Verifica che il servizio sia in esecuzione:

    sudo systemctl status observiq-otel-collector
    
  3. Controlla i log per individuare eventuali errori:

    sudo journalctl -u observiq-otel-collector -f
    

Per riavviare l'agente Bindplane in Windows:

  1. Scegli una delle seguenti opzioni:

    • Prompt dei comandi o PowerShell come amministratore:
    net stop observiq-otel-collector && net start observiq-otel-collector
    
    • Console dei servizi:
      1. Premi Win+R, digita services.msc e premi Invio.
      2. Individua observIQ OpenTelemetry Collector.
      3. Fai clic con il tasto destro del mouse e seleziona Riavvia.
  2. Verifica che il servizio sia in esecuzione:

    sc query observiq-otel-collector
    
  3. Controlla i log per individuare eventuali errori:

    type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
    

Configura l'inoltro di Syslog su Cisco eStreamer

Configura eStreamer su Firepower Management Center

  1. Accedi a Firepower Management Center.
  2. Vai a Sistema > Integrazione > eStreamer.
  3. Fai clic su eStreamer per accedere alla configurazione degli eventi eStreamer.
  4. Seleziona le caselle di controllo accanto ai tipi di eventi che vuoi acquisire:
    • Eventi di intrusione: per gli eventi di rilevamento delle intrusioni
    • Dati dei pacchetti di eventi di intrusione: per acquisizioni di pacchetti associati a eventi di intrusione
    • Eventi di connessione: per i dati di connessione di rete
    • Eventi Intelligence per la sicurezza: per i dati di threat intelligence
    • Eventi file: per gli eventi di analisi dei file
    • Eventi malware: per gli eventi di rilevamento di malware
  5. Fai clic su Salva.

Crea client eStreamer

  1. Nella pagina eStreamer, fai clic su Crea client.
  2. Fornisci i seguenti dettagli di configurazione:
    • Nome host: inserisci l'indirizzo IP del sistema Linux in cui verrà eseguito il client eNcore.
    • Password: inserisci una password per criptare il file del certificato.
  3. Fai clic su Salva.
  4. Scarica il file del certificato PKCS12 generato e trasferiscilo al sistema client eNcore.

Installa e configura il client CLI eNcore

  1. Sul sistema Linux, scarica il client CLI eStreamer eNcore da Cisco.
  2. Estrai il pacchetto eNcore:

    tar -xzf eStreamer-eNcore-*.tar.gz
    cd eStreamer-eNcore-*
    
  3. Esegui lo script di configurazione:

    ./encore.sh setup
    
  4. Quando richiesto, scegli il formato di output per le coppie chiave-valore (compatibile con i sistemi SIEM).

  5. Inserisci l'indirizzo IP FMC e la password del certificato PKCS12.

  6. Configura il file estreamer.conf per inviare i messaggi syslog all'agente Bindplane:

    • Apri il file estreamer.conf in un editor di testo.
    • Individua la sezione degli output e configurala per inviare syslog all'agente Bindplane:
    {
      "handler": {
        "outputters": [
          {
            "name": "syslog",
            "adapter": "kvpair",
            "enabled": true,
            "stream": {
              "uri": "udp://BINDPLANE_AGENT_IP:5514"
            }
          }
        ]
      }
    }
    
  7. Sostituisci BINDPLANE_AGENT_IP con l'indirizzo IP dell'agente Bindplane.

Avviare eNcore Client

  1. Testa la connessione in modalità in primo piano:

    ./encore.sh foreground
    
  2. Una volta verificato, avvia eNcore come servizio in background:

    ./encore.sh start
    

Tabella di mappatura UDM

Campo log Mappatura UDM Logica
additional_deviceInboundInterface additional.fields Unita
additional_deviceOutboundInterface additional.fields Unita
additional_start additional.fields Unita
has_target extensions.auth.type Mappato: trueAUTHTYPE_UNSPECIFIED
dvchost intermediary.asset.hostname Mappato direttamente
hostname intermediary.asset.hostname Mappato direttamente
dvchost intermediary.hostname Mappato direttamente
hostname intermediary.hostname Mappato direttamente
dvcpid intermediary.process.pid Mappato direttamente
ts metadata.event_timestamp Analizzato come MMM d HH:mm:ss
has_principal metadata.event_type Valori mappati (5 in totale, ad es. trueNETWORK_HTTP, trueNETWORK_DNS, true → `NETW...
has_target metadata.event_type Mappato: trueUSER_UNCATEGORIZED
product_event_type metadata.product_event_type Mappato direttamente
product_name metadata.product_name Mappato direttamente
version metadata.product_version Mappato direttamente
vendor_name metadata.vendor_name Mappato direttamente
app network.application_protocol Mappato direttamente
src network.dhcp.ciaddr Mappato direttamente
deviceDirection network.direction Mappato: 0INBOUND, 1OUTBOUND
dns_question network.dns.questions Unita
requestClientApplication network.http.user_agent Mappato direttamente
ip_protocol_out network.ip_protocol Mappato direttamente
bytesIn network.received_bytes Mappato direttamente
bytesOut network.sent_bytes Mappato direttamente
deviceExternalId principal.asset.asset_id Mappato direttamente
src principal.asset.ip Unita
src principal.ip Unita
spt principal.port Mappato direttamente
security_result_action security_result.action Unita
act security_result.action_details Mappato direttamente
category security_result.category Unita
cat security_result.category_details Unita
cs5 security_result.description Mappato direttamente
blockLength_label security_result.detection_fields Unita
blockType_label security_result.detection_fields Unita
cs1_var security_result.detection_fields Unita
cs2_var security_result.detection_fields Unita
cs3_var security_result.detection_fields Unita
cs4_var security_result.detection_fields Unita
cs5_var security_result.detection_fields Unita
cs6_var security_result.detection_fields Unita
suser_var security_result.detection_fields Unita
cs6 security_result.rule_id Mappato direttamente
severity security_result.severity_details Mappato direttamente
outcome security_result.summary Mappato direttamente
destinationDnsDomain target.asset.hostname Mappato direttamente
dst target.asset.ip Unita
fname target.file.full_path Mappato direttamente
fileType target.file.mime_type Mappato direttamente
fileHash target.file.sha256 Mappato direttamente
fsize target.file.size Mappato direttamente
destinationDnsDomain target.hostname Mappato direttamente
host target.hostname Mappato direttamente
dst target.ip Unita
dpt target.port Mappato direttamente
request target.url Mappato direttamente
N/D extensions.auth.type Costante: AUTHTYPE_UNSPECIFIED
N/D metadata.event_type Costante: NETWORK_HTTP
N/D network.direction Costante: INBOUND

Log delle modifiche

Visualizza il log delle modifiche per questo parser

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