Barracuda WAF-Logs erfassen

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie Barracuda Web Application Firewall (WAF)-Logs mit Bindplane erfassen. Der Parser extrahiert Felder aus Logs im JSON- und Syslog-Format, normalisiert sie und ordnet sie dem einheitlichen Datenmodell (Unified Data Model, UDM) zu. Es werden verschiedene Logtypen (Traffic, Web-Firewall) verarbeitet und bedingte Transformationen basierend auf Feldwerten durchgeführt, einschließlich der Auflösung von IP-Adressen/Hostnamen, der Zuordnung der Richtung und der Normalisierung des Schweregrads.

Hinweise

  • Prüfen Sie, ob Sie eine Google Security Operations-Instanz haben.
  • Achten Sie darauf, dass Sie Windows 2016 oder höher oder einen Linux-Host mit systemd verwenden.
  • Wenn Sie einen Proxy verwenden, müssen die Firewallports geöffnet sein.
  • Prüfen Sie, ob Sie privilegierten Zugriff auf die Barracuda WAF haben.

Authentifizierungsdatei für die Aufnahme in Google SecOps abrufen

  1. Melden Sie sich in der Google SecOps-Konsole an.
  2. Rufen Sie SIEM-Einstellungen > Collection Agents auf.
  3. Laden Sie die Authentifizierungsdatei für die Aufnahme herunter. Speichern Sie die Datei sicher auf dem System, auf dem BindPlane installiert wird.

Google SecOps-Kundennummer abrufen

  1. Melden Sie sich in der Google SecOps-Konsole an.
  2. Rufen Sie die SIEM-Einstellungen > „Profil“ auf.
  3. Kopieren und speichern Sie die Kunden-ID aus dem Bereich Organisationsdetails.

BindPlane-Agent installieren

Fenstereinbau

  1. Öffnen Sie die Eingabeaufforderung oder PowerShell als Administrator.
  2. Führen Sie dazu diesen Befehl aus:

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    

Linux-Installation

  1. Öffnen Sie ein Terminal mit Root- oder Sudo-Berechtigungen.
  2. Führen Sie dazu diesen Befehl aus:

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    

Zusätzliche Installationsressourcen

BindPlane-Agent zum Erfassen von Syslog-Daten und Senden an Google SecOps konfigurieren

  1. Greifen Sie auf die Konfigurationsdatei zu:

    1. Suchen Sie die Datei config.yaml. Normalerweise befindet es sich unter Linux im Verzeichnis /etc/bindplane-agent/ oder unter Windows im Installationsverzeichnis.
    2. Öffnen Sie die Datei mit einem Texteditor (z. B. nano, vi oder Notepad).
  2. Bearbeiten Sie die Datei config.yamlso:

    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. Ersetzen Sie den Port und die IP-Adresse nach Bedarf in Ihrer Infrastruktur.

  4. Ersetzen Sie <customer_id> durch die tatsächliche Kunden-ID.

  5. Aktualisieren Sie /path/to/ingestion-authentication-file.json auf den Pfad, in dem die Authentifizierungsdatei im Abschnitt Google SecOps-Aufnahmeauthentifizierungsdatei abrufen gespeichert wurde.

Bindplane-Agent neu starten, um die Änderungen zu übernehmen

  • Führen Sie den folgenden Befehl aus, um den Bindplane-Agent unter Linux neu zu starten:

    sudo systemctl restart bindplane-agent
    
  • Wenn Sie den Bindplane-Agent unter Windows neu starten möchten, können Sie entweder die Konsole Dienste verwenden oder den folgenden Befehl eingeben:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Barracuda WAF konfigurieren

  1. Melden Sie sich mit Administratoranmeldedaten in der Barracuda WAF-Konsole an.
  2. Klicken Sie auf den Tab Erweitert > Protokolle exportieren.
  3. Klicken Sie im Bereich Protokolle exportieren auf Server für den Export von Protokollen hinzufügen.
  4. Geben Sie die folgenden Werte an:
    • Name: Geben Sie einen Namen für den Google SecOps-Forwarder ein.
    • Log-Servertyp: Wählen Sie Syslog aus.
    • IP-Adresse oder Hostname: Geben Sie die Bindplane-IP-Adresse ein.
    • Port: Geben Sie den Bindplane-Port ein.
    • Verbindungstyp: Wählen Sie den TCP-Verbindungstyp aus (TCP wird empfohlen). Es können jedoch auch UDP- oder SSL-Protokolle verwendet werden.
    • Serverzertifikat validieren: Wählen Sie Nein aus.
    • Clientzertifikat: Wählen Sie Kein aus.
    • Log timestamp and hostname (Zeitstempel und Hostname des Logs): Wählen Sie Yes (Ja) aus.
    • Klicken Sie auf Hinzufügen.

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
action security_result.action Wenn action DENY ist, legen Sie BLOCK fest. Andernfalls setzen Sie den Wert auf ALLOW (speziell für den Logtyp WF). Wird auch für allgemeine Firewallereignisse verwendet.
appProtocol network.application_protocol Wenn appProtocol mit TLSv übereinstimmt, wird HTTPS festgelegt. Verwenden Sie andernfalls den Wert von appProtocol.
attackDetails security_result.description Aus dem Rohdatenlog für den Logtyp WF extrahiert.
attackType security_result.summary Teil des Großflächenbrandes security_result.summary, kombiniert mit ruleType.
bytesReceived network.received_bytes In eine vorzeichenlose Ganzzahl konvertiert und für den Logtyp TR zugeordnet.
bytesSent network.sent_bytes In eine vorzeichenlose Ganzzahl konvertiert und für den Logtyp TR zugeordnet.
hostName target.hostname Wenn hostName keine IP-Adresse ist, verwenden Sie den Wert. Andernfalls wird er in target.ip zusammengeführt.
httpMethod loginId principal.user.userid Wird für den Protokolltyp TR zugeordnet, wenn er nicht gleich emptyToken ist.
logType metadata.product_event_type Wenn TR, legen Sie metadata.product_event_type auf Barracuda Access Log fest. Bei WF auf Barracuda Web Firewall Log.
message metadata.description Wird verwendet, wenn desc nicht leer ist.
referrer network.http.referral_url Wird für den Protokolltyp TR zugeordnet, wenn er nicht gleich emptyToken ist.
responseCode network.http.response_code In eine Ganzzahl konvertiert und für den Logtyp TR zugeordnet.
rule security_result.rule_name Für den Logtyp WF zugeordnet.
ruleType security_result.summary Teil des Großflächenbrandes security_result.summary, kombiniert mit attackType.
sec_desc security_result.rule_name Wird für allgemeine Firewallereignisse verwendet.
server target.ip Mit target.ip zusammengeführt.
serv target.ip Mit target.ip zusammengeführt.
severity security_result.severity Für den Protokolltyp WF: In Großbuchstaben umgewandelt. Wenn EMERGENCY, ALER oder CRITICAL, legen Sie security_result.severity auf CRITICAL fest. Bei ERROR auf HIGH. Bei WARNING auf MEDIUM. Bei NOTICE auf LOW. Andernfalls legen Sie INFORMATIONAL fest.
src principal.ip Wird auch für allgemeine Firewallereignisse und einige Statusaktualisierungen verwendet.
srcPort principal.port In Ganzzahl konvertiert.
target targetPort target.port In Ganzzahl konvertiert.
time metadata.event_timestamp.seconds, metadata.event_timestamp.nanos, timestamp.seconds, timestamp.nanos Wird mit tz kombiniert und geparst, um den Ereigniszeitstempel zu erstellen. Die Sekunden und Nanosekunden werden extrahiert und in die entsprechenden Felder eingefügt.
url urlParams target.url Wird an url angehängt, wenn er für den Protokolltyp TR nicht gleich emptyToken ist.
userAgent userName target.user.userid, target.user.user_display_name Wird für allgemeine Firewallereignisse verwendet. Wenn nicht gleich emptyToken für den Protokolltyp TR, wird target.user.user_display_name zugeordnet. Hartcodiert auf Barracuda. Wird auf NETWORK_HTTP gesetzt, wenn sowohl src als auch target vorhanden sind. Wird auf STATUS_UPDATE gesetzt, wenn nur src vorhanden ist. Auf GENERIC_EVENT als Standard oder für andere Szenarien wie das CEF-Parsing festlegen. Hartcodiert auf BARRACUDA_WAF.

Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten