Cisco Firepower NGFW-Logs erfassen

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie Cisco Firepower Next Generation Firewall-Logs (NGFW) mit Bindplane in Google Security Operations aufnehmen. Der Parser extrahiert die Logs aus verschiedenen Formaten (Syslog, JSON und Kombinationen davon), normalisiert den Zeitstempel und ordnet relevante Felder dem einheitlichen Datenmodell (Unified Data Model, UDM) zu. Es verarbeitet sowohl herkömmliche Syslog-Nachrichten als auch JSON-formatierte Nutzlasten in den Logs und nutzt Grok-Muster und bedingte Logik, um Felder wie Ereignis-ID, Schweregrad und Client-IP zu extrahieren. Anschließend werden die Daten mit Labels basierend auf HTTP-Hostname und URI angereichert.

Hinweise

Prüfen Sie, ob folgende Voraussetzungen erfüllt sind:

  • Google SecOps-Instanz
  • Windows 2016 oder höher oder ein Linux-Host mit systemd
  • Wenn die Ausführung hinter einem Proxy erfolgt, müssen die Firewallports geöffnet sein.
  • Privilegierter Zugriff auf ein Cisco Firepower-Gerät

Authentifizierungsdatei für die Aufnahme in Google SecOps abrufen

  1. Melden Sie sich in der Google SecOps-Konsole an.
  2. Rufen Sie die 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

Installieren Sie den Bindplane-Agent auf Ihrem Windows- oder Linux-Betriebssystem gemäß der folgenden Anleitung.

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

Weitere Installationsoptionen finden Sie im Installationsleitfaden.

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

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

    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
    
    • Ersetzen Sie den Port und die IP-Adresse nach Bedarf in Ihrer Infrastruktur.
    • Ersetzen Sie <customer_id> durch die tatsächliche Kunden-ID.
    • Aktualisieren Sie /path/to/ingestion-authentication-file.json auf den Pfad, in dem die Authentifizierungsdatei im Abschnitt Authentifizierungsdatei für die Google SecOps-Aufnahme 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
    

Syslog auf Cisco FirePower-Gerät konfigurieren

  1. Melden Sie sich in der Web-UI von Firepower Device Manager an.
  2. Gehen Sie zu Systemeinstellungen > Logging-Einstellungen.
  3. Stellen Sie den Schalter Daten-Logging auf Aktivieren.
  4. Klicken Sie unter Syslog-Server auf das Symbol +.
  5. Klicken Sie auf Neuen Syslog-Server erstellen. Alternativ können Sie den Syslog-Server unter Objekte > Syslog-Server erstellen.
  6. Geben Sie die folgenden Konfigurationsdetails an:
    • IP-Adresse: Geben Sie die IP-Adresse des Bindplane-Agents ein.
    • Protokolltyp: Wählen Sie UDP aus.
    • Portnummer: Geben Sie die Portnummer des Bindplane-Agents ein.
    • Wählen Sie Datenschnittstelle oder Verwaltungsschnittstelle aus.
  7. Klicken Sie auf OK.
  8. Wählen Sie den neu erstellten Syslog-Server aus der Liste aus und klicken Sie auf OK.
  9. Klicken Sie auf Schweregrad zum Filtern aller Ereignisse und wählen Sie in der Liste den Protokollierungsgrad Informationen aus.
  10. Klicken Sie auf Speichern.
  11. Klicken Sie auf das Symbol Neue Einstellungen bereitstellen> Jetzt bereitstellen.
  12. Klicken Sie oben auf dem Bildschirm auf Richtlinien.
  13. Bewegen Sie den Mauszeiger auf die rechte Seite der ACP-Regel und klicken Sie auf bearbeiten Bearbeiten.
  14. Rufen Sie den Tab Logging auf.
  15. Wählen Sie Am Ende der Verbindung aus.
  16. Öffnen Sie die Liste Select a Syslog Alert Configuration (Syslog-Benachrichtigungskonfiguration auswählen).
  17. Wählen Sie den BindPlane-Syslog-Server aus.
  18. Klicken Sie auf OK.
  19. Klicken Sie auf das Symbol Neue Einstellungen bereitstellen> Jetzt bereitstellen.

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
AccessControlRuleAction security_result.action Direkt aus dem Rohlog zugeordnet. Die Werte werden auf UDM (ALLOW/BLOCK) normalisiert.
AccessControlRuleName security_result.rule_name Direkt aus dem Rohlog zugeordnet.
ACPolicy security_result.rule_labels.value Direkt aus dem Rohlog zugeordnet. Der Schlüssel ist auf „ACPolicy“ festgelegt.
ApplicationProtocol network.application_protocol Direkt aus dem Rohlog zugeordnet.
Client network.http.user_agent Direkt aus dem Rohlog zugeordnet.
ClientVersion principal.asset.platform_version Direkt aus dem Rohlog zugeordnet.
collection_time.nanos metadata.event_timestamp.nanos Direkt aus dem Rohlog zugeordnet.
collection_time.seconds metadata.event_timestamp.seconds Direkt aus dem Rohlog zugeordnet.
ConnectionDuration network.session_duration.seconds Direkt aus dem Rohlog zugeordnet, bei Bedarf in Sekunden umgerechnet (z.B. aus dem Dauerformat).
data metadata.description Wird in Verbindung mit eventId verwendet, um eine aussagekräftigere Beschreibung zu generieren. Wird auch verwendet, um andere Felder mit grok und regulären Ausdrücken zu extrahieren.
deviceId metadata.product_log_id Direkt aus dem Rohlog zugeordnet, nachdem er in device_uuid umbenannt wurde.
device_uuid metadata.product_log_id Direkt aus dem Rohlog zugeordnet.
DstIP target.asset.ip, target.ip Direkt aus dem Rohlog zugeordnet.
DstPort target.port Direkt aus dem Rohlog zugeordnet.
EgressInterface principal.asset.attribute.labels.value Direkt aus dem Rohlog zugeordnet. Der Schlüssel ist auf „EgressInterface“ festgelegt.
EgressZone target.location.name Direkt aus dem Rohlog zugeordnet.
eventId metadata.product_event_type Direkt aus dem Rohlog zugeordnet. Wird auch für bedingte Logik und Filterung verwendet.
FileAction security_result.summary Direkt aus dem Rohlog zugeordnet.
FileDirection metadata.description Direkt aus dem Rohlog zugeordnet und an die Beschreibung angehängt.
FileName target.file.full_path Direkt aus dem Rohlog zugeordnet.
FilePolicy security_result.rule_name Direkt aus dem Rohlog zugeordnet.
FileSize target.file.size Direkt aus dem Rohlog zugeordnet.
FileSHA256 target.file.sha256 Direkt aus dem Rohlog zugeordnet.
FileSandboxStatus security_result.description Direkt aus dem Rohlog zugeordnet.
HTTPReferer network.http.referral_url Direkt aus dem Rohlog zugeordnet.
HTTPResponse network.http.response_code Direkt aus dem Rohlog zugeordnet.
HTTP_Hostname target.resource.attribute.labels.value Direkt aus dem Rohlog zugeordnet. Der Schlüssel ist auf „HTTP_Hostname“ festgelegt.
HTTP_URI target.resource.attribute.labels.value Direkt aus dem Rohlog zugeordnet. Der Schlüssel ist auf „HTTP_URI“ gesetzt.
IngressInterface principal.asset.attribute.labels.value Direkt aus dem Rohlog zugeordnet. Der Schlüssel ist auf „IngressInterface“ festgelegt.
IngressZone principal.location.name Direkt aus dem Rohlog zugeordnet.
InitiatorBytes network.received_bytes Direkt aus dem Rohlog zugeordnet.
InlineResult security_result.action_details Direkt aus dem Rohlog zugeordnet.
IntrusionPolicy security_result.rule_name Direkt aus dem Rohlog zugeordnet.
log_type metadata.log_type Direkt aus dem Rohlog zugeordnet.
Message security_result.description Direkt aus dem Rohlog zugeordnet, oft mit „Message : “ vorangestellt.
NAPPolicy principal.asset.attribute.labels.value Direkt aus dem Rohlog zugeordnet. Der Schlüssel ist auf „NAPPolicy“ festgelegt.
Prefilter Policy security_result.rule_labels.value Direkt aus dem Rohlog zugeordnet. Der Schlüssel ist auf „Prefilter Policy“ (Vorfilterrichtlinie) festgelegt.
Priority security_result.priority_details Direkt aus dem Rohlog zugeordnet.
priorityId security_result.priority_details Direkt aus dem Rohlog zugeordnet.
product metadata.product_name Auf „Firepower Firewall“ festgelegt.
Protocol network.ip_protocol Direkt aus dem Rohlog zugeordnet. Die Werte werden auf UDM (TCP, UDP, ICMP usw.) normalisiert.
ResponderBytes network.sent_bytes Direkt aus dem Rohlog zugeordnet.
Revision security_result.about.labels.value Direkt aus dem Rohlog zugeordnet. Der Schlüssel ist auf „Signature_Version“ festgelegt.
ruleId security_result.rule_id Direkt aus dem Rohlog zugeordnet.
security_result.severity security_result.severity Wird basierend auf dem Feld severity aus dem Rohlog festgelegt. Eine Suchtabelle wird verwendet, um UDM-Schweregradwerte zuzuordnen.
security_result.severity_details security_result.severity_details Wird basierend auf dem Feld severity aus dem Rohlog festgelegt. Dazu wird eine Nachschlagetabelle verwendet, um die UDM-Schweregradinformationen zuzuordnen.
SID security_result.threat_id Direkt aus dem Rohlog zugeordnet.
SrcIP principal.asset.ip, principal.ip Direkt aus dem Rohlog zugeordnet.
SrcPort principal.port Direkt aus dem Rohlog zugeordnet.
syslog_msg_id metadata.product_event_type Direkt aus dem Rohlog zugeordnet, nachdem er in einen String konvertiert wurde. Wird verwendet, um eventId zu überschreiben, falls vorhanden.
syslog_msg_text metadata.description, security_result.description Direkt aus dem Rohlog abgeleitet, manchmal mit „Message: “ vorangestellt. Wird verwendet, um die aus data und eventId generierte Beschreibung zu überschreiben.
syslog_severity security_result.severity Direkt aus dem Rohlog zugeordnet, nachdem er in einen String konvertiert wurde. Wird verwendet, um den Schweregrad zu überschreiben, der aus eventId abgeleitet wurde. Die Werte werden für das UDM normalisiert (INFORMATIONAL, WARNING, ERROR usw.).
sysloghost intermediary.hostname Direkt aus dem Rohlog zugeordnet.
ThreatName security_result.threat_name Direkt aus dem Rohlog zugeordnet.
ts metadata.event_timestamp Aus dem Rohprotokoll mit Datumsfiltern und verschiedenen Formaten geparst.
ts_year metadata.event_timestamp Aus dem Rohprotokoll mit Datumsfiltern und verschiedenen Formaten geparst.
URL target.url Direkt aus dem Rohlog zugeordnet.
URLCategory security_result.category_details Direkt aus dem Rohlog zugeordnet.
URLReputation security_result.confidence_details Direkt aus dem Rohlog zugeordnet.
User target.user.userid Direkt aus dem Rohlog zugeordnet.
UserAgent network.http.user_agent Direkt aus dem Rohlog zugeordnet.
UserName target.user.userid Direkt aus dem Rohlog zugeordnet.
user_name principal.user.email_addresses Direkt aus dem Rohlog für bestimmte Ereignistypen zugeordnet.
WebApplication target.application Direkt aus dem Rohlog zugeordnet.
metadata.event_type wird auf den Standardwert NETWORK_CONNECTION gesetzt und manchmal basierend auf eventId oder anderen Feldern überschrieben.
metadata.vendor_name ist immer auf „Cisco“ festgelegt.

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