Raccogliere i log di Cisco Firepower NGFW

Supportato in:

Questo documento spiega come importare i log di Cisco Firepower Next Generation Firewall (NGFW) in Google Security Operations utilizzando Bindplane. Il parser estrae i log da vari formati (syslog, JSON e combinazioni), normalizza il timestamp e mappa i campi pertinenti al modello UDM (Unified Data Model). Gestisce sia i messaggi syslog convenzionali sia i payload in formato JSON all'interno dei log, sfruttando i pattern grok e la logica condizionale per estrarre campi come ID evento, gravità e IP client, quindi arricchisce i dati con etichette basate su nome host e URI HTTP.

Prima di iniziare

Assicurati di soddisfare i seguenti prerequisiti:

  • Istanza Google SecOps
  • 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.
  • Accesso con privilegi a un dispositivo Cisco Firepower

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 inviarlo 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: 'CISCO_FIREPOWER_FIREWALL'
            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
    

Configurare Syslog sul dispositivo Cisco FirePower

  1. Accedi all'interfaccia utente web di Firepower Device Manager.
  2. Vai a Impostazioni di sistema > Impostazioni di registrazione.
  3. Attiva l'opzione Abilita per Logging dei dati.
  4. Fai clic sull'icona + in Server Syslog.
  5. Fai clic su Crea nuovo server Syslog. In alternativa, puoi creare il server Syslog in Oggetti > Server Syslog.
  6. Fornisci i seguenti dettagli di configurazione:
    • Indirizzo IP: inserisci l'indirizzo IP dell'agente Bindplane.
    • Tipo di protocollo: seleziona UDP.
    • Numero porta: inserisci il numero di porta dell'agente Bindplane.
    • Seleziona Interfaccia dati o Interfaccia di gestione.
  7. Fai clic su OK.
  8. Seleziona il server Syslog appena creato dall'elenco e fai clic su Ok.
  9. Fai clic su Livello di gravità per il filtro di tutti gli eventi e seleziona Informativo dall'elenco.
  10. Fai clic su Salva.
  11. Fai clic sull'icona Implementa nuove impostazioni > Implementa ora.
  12. Fai clic su Norme nella parte superiore dello schermo.
  13. Passa il mouse sopra il lato destro della regola ACP e fai clic su Modifica Modifica.
  14. Vai alla scheda Registrazione.
  15. Seleziona Al termine della connessione.
  16. Apri l'elenco Seleziona una configurazione di avviso Syslog.
  17. seleziona il server Syslog di Bindplane.
  18. Fai clic su OK.
  19. Fai clic sull'icona Implementa nuove impostazioni > Implementa ora.

Tabella di mappatura UDM

Campo log Mappatura UDM Logic
AccessControlRuleAction security_result.action Mappato direttamente dal log non elaborato. I valori sono normalizzati in UDM (ALLOW/BLOCK).
AccessControlRuleName security_result.rule_name Mappato direttamente dal log non elaborato.
ACPolicy security_result.rule_labels.value Mappato direttamente dal log non elaborato. La chiave è impostata su "ACPolicy".
ApplicationProtocol network.application_protocol Mappato direttamente dal log non elaborato.
Client network.http.user_agent Mappato direttamente dal log non elaborato.
ClientVersion principal.asset.platform_version Mappato direttamente dal log non elaborato.
collection_time.nanos metadata.event_timestamp.nanos Mappato direttamente dal log non elaborato.
collection_time.seconds metadata.event_timestamp.seconds Mappato direttamente dal log non elaborato.
ConnectionDuration network.session_duration.seconds Mappato direttamente dal log non elaborato, convertito in secondi se necessario (ad es. dal formato della durata).
data metadata.description Utilizzato in combinazione con eventId per generare una descrizione più descrittiva. Utilizzato anche per estrarre altri campi utilizzando grok ed espressioni regolari.
deviceId metadata.product_log_id Mappato direttamente dal log non elaborato dopo la ridenominazione in device_uuid.
device_uuid metadata.product_log_id Mappato direttamente dal log non elaborato.
DstIP target.asset.ip, target.ip Mappato direttamente dal log non elaborato.
DstPort target.port Mappato direttamente dal log non elaborato.
EgressInterface principal.asset.attribute.labels.value Mappato direttamente dal log non elaborato. La chiave è impostata su "EgressInterface".
EgressZone target.location.name Mappato direttamente dal log non elaborato.
eventId metadata.product_event_type Mappato direttamente dal log non elaborato. Utilizzato anche per la logica condizionale e il filtraggio.
FileAction security_result.summary Mappato direttamente dal log non elaborato.
FileDirection metadata.description Mappato direttamente dal log non elaborato e aggiunto alla descrizione.
FileName target.file.full_path Mappato direttamente dal log non elaborato.
FilePolicy security_result.rule_name Mappato direttamente dal log non elaborato.
FileSize target.file.size Mappato direttamente dal log non elaborato.
FileSHA256 target.file.sha256 Mappato direttamente dal log non elaborato.
FileSandboxStatus security_result.description Mappato direttamente dal log non elaborato.
HTTPReferer network.http.referral_url Mappato direttamente dal log non elaborato.
HTTPResponse network.http.response_code Mappato direttamente dal log non elaborato.
HTTP_Hostname target.resource.attribute.labels.value Mappato direttamente dal log non elaborato. La chiave è impostata su "HTTP_Hostname".
HTTP_URI target.resource.attribute.labels.value Mappato direttamente dal log non elaborato. La chiave è impostata su "HTTP_URI".
IngressInterface principal.asset.attribute.labels.value Mappato direttamente dal log non elaborato. La chiave è impostata su "IngressInterface".
IngressZone principal.location.name Mappato direttamente dal log non elaborato.
InitiatorBytes network.received_bytes Mappato direttamente dal log non elaborato.
InlineResult security_result.action_details Mappato direttamente dal log non elaborato.
IntrusionPolicy security_result.rule_name Mappato direttamente dal log non elaborato.
log_type metadata.log_type Mappato direttamente dal log non elaborato.
Message security_result.description Mappato direttamente dal log non elaborato, spesso preceduto da "Message : ".
NAPPolicy principal.asset.attribute.labels.value Mappato direttamente dal log non elaborato. La chiave è impostata su "NAPPolicy".
Prefilter Policy security_result.rule_labels.value Mappato direttamente dal log non elaborato. La chiave è impostata su "Prefilter Policy".
Priority security_result.priority_details Mappato direttamente dal log non elaborato.
priorityId security_result.priority_details Mappato direttamente dal log non elaborato.
product metadata.product_name Imposta "Firepower Firewall".
Protocol network.ip_protocol Mappato direttamente dal log non elaborato. I valori sono normalizzati in UDM (TCP, UDP, ICMP e così via).
ResponderBytes network.sent_bytes Mappato direttamente dal log non elaborato.
Revision security_result.about.labels.value Mappato direttamente dal log non elaborato. La chiave è impostata su "Singnature_Version".
ruleId security_result.rule_id Mappato direttamente dal log non elaborato.
security_result.severity security_result.severity Impostato in base al campo severity del log non elaborato, utilizzando una tabella di ricerca per la mappatura ai valori di gravità UDM.
security_result.severity_details security_result.severity_details Impostato in base al campo severity del log non elaborato, utilizzando una tabella di ricerca per la mappatura ai dettagli di gravità UDM.
SID security_result.threat_id Mappato direttamente dal log non elaborato.
SrcIP principal.asset.ip, principal.ip Mappato direttamente dal log non elaborato.
SrcPort principal.port Mappato direttamente dal log non elaborato.
syslog_msg_id metadata.product_event_type Mappato direttamente dal log non elaborato dopo la conversione in una stringa. Utilizzato per sovrascrivere eventId, se presente.
syslog_msg_text metadata.description, security_result.description Mappato direttamente dal log non elaborato, a volte preceduto da "Message : ". Utilizzato per ignorare la descrizione generata da data e eventId.
syslog_severity security_result.severity Mappato direttamente dal log non elaborato dopo la conversione in una stringa. Utilizzato per eseguire l'override della gravità derivata da eventId. I valori vengono normalizzati in UDM (INFORMATIONAL, WARNING, ERROR e così via).
sysloghost intermediary.hostname Mappato direttamente dal log non elaborato.
ThreatName security_result.threat_name Mappato direttamente dal log non elaborato.
ts metadata.event_timestamp Analizzato dal log non elaborato utilizzando filtri per data e vari formati.
ts_year metadata.event_timestamp Analizzato dal log non elaborato utilizzando filtri per data e vari formati.
URL target.url Mappato direttamente dal log non elaborato.
URLCategory security_result.category_details Mappato direttamente dal log non elaborato.
URLReputation security_result.confidence_details Mappato direttamente dal log non elaborato.
User target.user.userid Mappato direttamente dal log non elaborato.
UserAgent network.http.user_agent Mappato direttamente dal log non elaborato.
UserName target.user.userid Mappato direttamente dal log non elaborato.
user_name principal.user.email_addresses Mappati direttamente dal log non elaborato per tipi di eventi specifici.
WebApplication target.application Mappato direttamente dal log non elaborato.
metadata.event_type è impostato sul valore predefinito NETWORK_CONNECTION e a volte viene sostituito in base a eventId o ad altri campi.
metadata.vendor_name è sempre impostato su "Cisco".

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