Raccogliere i log WAF di Barracuda

Supportato in:

Questo documento spiega come raccogliere i log di Barracuda Web Application Firewall (WAF) utilizzando Bindplane. L'analizzatore estrae i campi dai log nei formati JSON e Syslog, li normalizza e li mappa al modello Unified Data Model (UDM). Gestisce vari tipi di log (traffico, firewall web) ed esegue trasformazioni condizionali in base ai valori dei campi, tra cui la risoluzione di indirizzi IP/nomi host, la mappatura della direzionalità e la normalizzazione della gravità.

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 al WAF di Barracuda.

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:
        tcplog:
            # Replace the port and IP address as required
            listen_address: "0.0.0.0:54525"
    
    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: SYSLOG
                namespace: barracuda_waf
                raw_log_field: body
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - tcplog
                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
    

Configura Barracuda WAF

  1. Accedi alla console Barracuda WAF utilizzando le credenziali di amministratore.
  2. Fai clic sulla scheda Avanzate > Esporta log.
  3. Nella sezione Esporta log, fai clic su Aggiungi server di esportazione log.
  4. Fornisci i seguenti valori:
    • Nome: inserisci un nome per il forwarder Google SecOps.
    • Tipo di server di log: seleziona Syslog.
    • Indirizzo IP o nome host: inserisci l'indirizzo IP Bindplane.
    • Porta: inserisci la porta Bindplane.
    • Tipo di connessione: seleziona il tipo di connessione TCP (è consigliato TCP). Tuttavia, possono essere utilizzati anche i protocolli UDP o SSL.
    • Convalida certificato server: seleziona No.
    • Certificato client: seleziona Nessuno.
    • Timestamp e nome host del log: seleziona .
    • Fai clic su Aggiungi.

Tabella di mappatura UDM

Campo log Mappatura UDM Logic
action security_result.action Se action è DENY, impostalo su BLOCK. In caso contrario, imposta ALLOW (specificamente per il tipo di log WF). Utilizzato anche per eventi firewall generici.
appProtocol network.application_protocol Se appProtocol corrisponde a TLSv, imposta HTTPS. In caso contrario, utilizza il valore di appProtocol.
attackDetails security_result.description Estratto dal log non elaborato per il tipo di log WF.
attackType security_result.summary Parte di security_result.summary, combinata con ruleType.
bytesReceived network.received_bytes Convertito in numero intero senza segno e mappato per il tipo di log TR.
bytesSent network.sent_bytes Convertito in numero intero senza segno e mappato per il tipo di log TR.
hostName target.hostname Se hostName non è un indirizzo IP, utilizza il suo valore. In caso contrario, viene unito a target.ip.
httpMethod loginId principal.user.userid Mappato per il tipo di log TR quando non è uguale a emptyToken.
logType metadata.product_event_type Se TR, imposta metadata.product_event_type su Barracuda Access Log. Se WF, imposta su Barracuda Web Firewall Log.
message metadata.description Utilizzato quando desc non è vuoto.
referrer network.http.referral_url Mappato per il tipo di log TR quando non è uguale a emptyToken.
responseCode network.http.response_code Convertito in numero intero e mappato per il tipo di log TR.
rule security_result.rule_name Mappato per il tipo di log WF.
ruleType security_result.summary Parte di security_result.summary, combinata con attackType.
sec_desc security_result.rule_name Utilizzato per eventi firewall generici.
server target.ip Unito a target.ip.
serv target.ip Unito a target.ip.
severity security_result.severity Per il tipo di log WF: convertito in maiuscolo. Se EMERGENCY, ALER o CRITICAL, imposta security_result.severity su CRITICAL. Se ERROR, imposta su HIGH. Se WARNING, imposta su MEDIUM. Se NOTICE, imposta su LOW. In caso contrario, imposta il valore su INFORMATIONAL.
src principal.ip Utilizzato anche per eventi firewall generici e alcuni aggiornamenti di stato.
srcPort principal.port Convertito in numero intero.
target targetPort target.port Convertito in numero intero.
time metadata.event_timestamp.seconds, metadata.event_timestamp.nanos, timestamp.seconds, timestamp.nanos Combinato con tz e analizzato per creare il timestamp dell'evento. I secondi e i nanosecondi vengono estratti e inseriti nei rispettivi campi.
url urlParams target.url Aggiunto a url se non è uguale a emptyToken per il tipo di log TR.
userAgent userName target.user.userid, target.user.user_display_name Utilizzato per eventi firewall generici. Se non è uguale a emptyToken per il tipo di log TR, mappato a target.user.user_display_name. Codificato in modo permanente su Barracuda. Imposta su NETWORK_HTTP se sono presenti sia src che target. Imposta su STATUS_UPDATE se è presente solo src. Imposta GENERIC_EVENT come valore predefinito o per altri scenari come l'analisi CEF. Codificato in modo permanente su BARRACUDA_WAF.

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