Carbon Black App Control-Protokolle erfassen

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie Carbon Black App Control-Protokolle erfassen. Der Parser unterstützt sowohl das CEF- als auch das JSON-Format. Zuerst wird versucht, die Eingabe als JSON zu parsen. Wenn das fehlschlägt, wird die Eingabe als CEF behandelt, Text ersetzt, CEF-Felder extrahiert, UDM zugeordnet und der Ereignistyp auf „GENERIC_EVENT“ gesetzt. Andernfalls wird eine separate JSON-spezifische UDM-Zuordnungs-Include-Datei verwendet.

Hinweise

  • Sie benötigen eine Google Security Operations-Instanz.
  • Sie müssen Windows 2016 oder höher oder einen Linux-Host mit systemd verwenden.
  • Wenn die Ausführung hinter einem Proxy erfolgt, müssen die Firewallports geöffnet sein.
  • Carbon Black App Control (CB Protection)-Server (Version 8.x oder höher empfohlen)
  • Sie benötigen erhöhte Zugriffsrechte für Carbon Black App Control.

Authentifizierungsdatei für die Aufnahme in Google SecOps abrufen

  1. Melden Sie sich in der Google SecOps Console an.
  2. Gehen Sie zu SIEM-Einstellungen > Erfassungsagenten.
  3. Lade die Datei für die Datenaufnahmeauthentifizierung 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 Console an.
  2. Gehen Sie zu SIEM-Einstellungen > Profil.
  3. Kopieren und speichern Sie die Kundennummer aus dem Bereich Organisationsdetails.

BindPlane-Agent installieren

Windows-Installation

  1. Öffnen Sie die Eingabeaufforderung oder die 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 so konfigurieren, dass er Syslog-Dateien aufnimmt und an Google SecOps sendet

  1. Rufen Sie die Konfigurationsdatei auf:

    • Suchen Sie die Datei config.yaml. Normalerweise befindet es 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:
        tcplog:
            # Replace the port and IP address as required
            listen_address: "0.0.0.0:11592"
    
    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: JSON
                namespace: cb_app_control
                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 Kundennummer.

  5. Aktualisieren Sie /path/to/ingestion-authentication-file.json im Abschnitt Authentifizierungsdatei für die Datenaufnahme von Google SecOps abrufen auf den Pfad, unter dem die Authentifizierungsdatei gespeichert wurde.

Bindplane-Agent neu starten, um die Änderungen anzuwenden

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

    sudo systemctl restart bindplane-agent
    
  • Sie können den Bindplane-Agenten unter Windows entweder über die Dienste-Konsole oder mit dem folgenden Befehl neu starten:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

CB App Control zum Senden von Syslog-Logs konfigurieren

  1. Melden Sie sich mit einem Administratorkonto in der CB App Control-Konsole an.
  2. Gehen Sie zu Verwaltung > Systemkonfiguration > Externe Protokollierung.
  3. Gehen Sie im Abschnitt „Externe Ereignisprotokollierung“ so vor:
    • Syslog-Protokollierung aktivieren: Klicken Sie das Kästchen Syslog aktiviert an.
    • Serveradresse: <Bindplane Server IP>.
    • Port: <Bindplane Server PORT>.
    • Protocol (Protokoll): Wählen Sie TCP aus.
    • Syslog-Format: Wählen Sie JSON aus.
  4. Wählen Sie unter Optionen für die Ereignisprotokollierung die zu sendenden Protokolltypen aus:
    • Richtlinienverstöße
    • Ereignisse der Dateiintegritätsprüfung (File Integrity Monitoring, FIM)
    • Ereignisse zur Nutzerauthentifizierung
    • Threat Intelligence-Daten
  5. Klicken Sie auf Speichern.

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
ABId principal.asset.asset_id Die ABId aus dem JSON-Log wird als Teil der Asset-ID im Format PRODUCT_SPECIFIC_ID:{ABId}-{Bit9Server} verwendet.
Bit9Server principal.asset.asset_id Wird als Teil der Asset-ID des Hauptberechtigten in Kombination mit ABId verwendet. Wird auch zum Erstellen des Felds metadata.url_back_to_product verwendet.
CommandLine about.process.command_line Direkt zugeordnet.
EventType metadata.product_event_type Sie werden mit der entsprechenden EventTypeId in eckigen Klammern zugeordnet (z.B. „[5] – Discovery“).
EventTypeId metadata.product_event_type Wird mit EventType verwendet, um metadata.product_event_type auszufüllen.
EventSubType metadata.description An das Feld metadata.description angehängt.
EventSubTypeId metadata.description Nicht explizit zugeordnet, trägt aber basierend auf der internen Logik des Parsers möglicherweise zur Beschreibung bei.
externalId metadata.product_log_id Direkt zugeordnet.
FileHash about.file.sha256 Direkt zugeordnet.
FileName additional.fields (mit dem Schlüssel „FileName“) Als zusätzliches Feld hinzugefügt. Wird bei einigen Ereignissen auch als Teil der Dateiinformationen in metadata.description verwendet.
FilePath about.file.full_path Direkt zugeordnet.
FileThreat additional.fields (mit dem Schlüssel „fileThreat“) Als zusätzliches Feld hinzugefügt.
FileTrust additional.fields (mit dem Schlüssel „fileTrust“) Als zusätzliches Feld hinzugefügt.
HostId principal.asset.asset_id Wird verwendet, um die URL zum Produkt in metadata.url_back_to_product zu erstellen.
HostName target.hostname Direkt zugeordnet.
HostIP target.ip Direkt zugeordnet.
Message metadata.description Direkt zugeordnet.
PathName about.file.full_path Direkt zugeordnet.
Platform target.platform Dem Enumerationswert WINDOWS zugeordnet.
Policy additional.fields (mit dem Schlüssel „Richtlinie“) Als zusätzliches Feld hinzugefügt.
PolicyId additional.fields (mit dem Schlüssel „PolicyId“) Als zusätzliches Feld hinzugefügt.
ProcessKey additional.fields (mit dem Schlüssel „ProcessKey“) Als zusätzliches Feld hinzugefügt.
ProcessPath about.process.command_line Direkt zugeordnet.
ProcessPathName about.process.command_line Direkt zugeordnet.
ProcessThreat additional.fields (mit dem Schlüssel „ProcessThreat“) Als zusätzliches Feld hinzugefügt.
ProcessTrust additional.fields (mit dem Schlüssel „ProcessTrust“) Als zusätzliches Feld hinzugefügt.
RuleName additional.fields (mit dem Schlüssel „ruleName“) Als zusätzliches Feld hinzugefügt.
Timestamp metadata.event_timestamp Direkt zugeordnet.
UserName target.user.user_display_name Direkt zugeordnet.
UserSid principal.user.userid Direkt zugeordnet.
agent.ephemeral_id observer.labels (mit dem Schlüssel „ephemeral_id“) Als Beobachterlabel hinzugefügt.
agent.name principal.hostname, observer.hostname, observer.user.userid Mehreren Feldern zugeordnet.
agent.type observer.application Direkt zugeordnet.
agent.version metadata.product_version Direkt für JSON-Protokolle zugeordnet. Für CEF-Protokolle, die aus der CEF-Nachricht extrahiert wurden.
cat security_result.category_details Direkt zugeordnet.
cs1 additional.fields (mit dem Schlüssel „rootHash“ oder einem anderen cs1Label) Wird als zusätzliches Feld mit dem von cs1Label definierten Schlüssel hinzugefügt.
cs1Label additional.fields Wird als Schlüssel für das zusätzliche Feld verwendet, das mit cs1 ausgefüllt wird.
cs2 additional.fields (mit dem Schlüssel „installerFilename“ oder einem anderen cs2Label) Wird als zusätzliches Feld mit dem von cs2Label definierten Schlüssel hinzugefügt.
cs2Label additional.fields Wird als Schlüssel für das zusätzliche Feld verwendet, das mit cs2 ausgefüllt wird.
cs3 additional.fields (mit dem Schlüssel „Richtlinie“ oder einem anderen cs3Label) Wird als zusätzliches Feld mit dem von cs3Label definierten Schlüssel hinzugefügt.
cs3Label additional.fields Wird als Schlüssel für das zusätzliche Feld verwendet, das mit cs3 ausgefüllt wird.
cs5 additional.fields (mit dem Schlüssel „ruleName“ oder einem anderen cs5Label) Wird als zusätzliches Feld mit dem von cs5Label definierten Schlüssel hinzugefügt.
cs5Label additional.fields Wird als Schlüssel für das zusätzliche Feld verwendet, das mit cs5 ausgefüllt wird.
cfp1 additional.fields (mit dem Schlüssel „fileTrust“ oder einem anderen cfp1Label) Wird als zusätzliches Feld mit dem von cfp1Label definierten Schlüssel hinzugefügt.
cfp1Label additional.fields Wird als Schlüssel für das zusätzliche Feld verwendet, das mit cfp1 ausgefüllt wird.
cfp2 additional.fields (mit dem Schlüssel „processTrust“ oder einem anderen cfp2Label) Wird als zusätzliches Feld mit dem von cfp2Label definierten Schlüssel hinzugefügt.
cfp2Label additional.fields Wird als Schlüssel für das zusätzliche Feld verwendet, das mit cfp2 ausgefüllt wird.
deviceProcessName about.process.command_line Direkt zugeordnet.
dhost target.hostname Direkt zugeordnet.
dst target.ip Direkt zugeordnet.
duser target.user.user_display_name Direkt zugeordnet.
dvchost about.hostname Direkt zugeordnet.
eventId additional.fields (mit dem Schlüssel „eventId“) Als zusätzliches Feld hinzugefügt.
fileHash about.file.sha256 Direkt zugeordnet.
flexString1 additional.fields (mit dem Schlüssel „fileThreat“ oder einem anderen flexString1Label) Wird als zusätzliches Feld mit dem von flexString1Label definierten Schlüssel hinzugefügt.
flexString1Label additional.fields Wird als Schlüssel für das zusätzliche Feld verwendet, das mit flexString1 ausgefüllt wird.
flexString2 additional.fields (mit dem Schlüssel „processThreat“ oder einem anderen flexString2Label) Wird als zusätzliches Feld mit dem von flexString2Label definierten Schlüssel hinzugefügt.
flexString2Label additional.fields Wird als Schlüssel für das zusätzliche Feld verwendet, das mit flexString2 ausgefüllt wird.
fname additional.fields (mit dem Schlüssel „vorname“) Als zusätzliches Feld hinzugefügt. Wird bei einigen Ereignissen auch als Teil der Dateiinformationen in metadata.description verwendet.
host.architecture target.asset.hardware.cpu_platform Direkt zugeordnet.
host.hostname target.asset.asset_id Wird als Teil der Ziel-Asset-ID („Host-ID: {host.hostname}“) verwendet. Auch target.hostname zugeordnet.
host.id target.asset.asset_id Wird als Teil der Ziel-Asset-ID („Host-ID: {host.id}“) verwendet.
host.ip target.asset.ip Direkt zugeordnet.
host.mac target.mac Direkt zugeordnet.
host.name target.hostname Direkt zugeordnet.
host.os.build target.platform_patch_level Direkt zugeordnet.
host.os.kernel target.platform_patch_level An das target.platform_patch_level angehängt.
host.os.platform target.platform Dem Enumerationswert WINDOWS zugeordnet.
host.os.type target.platform Dem Enumerationswert WINDOWS zugeordnet.
host.os.version target.platform_version Direkt zugeordnet.
log.file.path target.file.full_path Direkt zugeordnet.
metadata.event_type metadata.event_type Legen Sie für CEF-Protokolle „GENERIC_EVENT“ und für JSON-Protokolle „SYSTEM_AUDIT_LOG_UNCATEGORIZED“ fest.
metadata.log_type metadata.log_type Legen Sie „CB_EDR“ fest.
metadata.product_log_id metadata.product_log_id Aus externalId für CEF-Protokolle zugeordnet. Nicht für JSON-Protokolle.
metadata.product_name metadata.product_name Für CEF-Protokolle auf „App-Steuerung“ und für JSON-Protokolle auf „CB_APP_CONTROL“ setzen.
metadata.product_version metadata.product_version Aus der CEF-Nachricht für CEF-Protokolle extrahiert. Zuordnung von agent.version für JSON-Protokolle.
metadata.vendor_name metadata.vendor_name Legen Sie „Carbon Black“ fest.
msg metadata.description, additional.fields Wird verwendet, um metadata.description und gegebenenfalls zusätzliche Felder auf Grundlage der Logik des Parsers auszufüllen.
sproc principal.process.command_line Direkt zugeordnet.
metadata.url_back_to_product metadata.url_back_to_product Erstellt mit den Feldern Bit9Server und HostId für JSON-Protokolle. Nicht zutreffend für CEF-Protokolle.
security_result.severity security_result.severity Legen Sie MEDIUM fest.
timestamp events.timestamp Direkt für JSON-Protokolle zugeordnet. Bei CEF-Logs wird der Zeitstempel anhand des Felds rt des Rohlogs bestimmt, sofern verfügbar, oder anhand des Felds collection_time, falls rt nicht vorhanden ist.

Änderungen

2022-07-01

  • Optimierung
  • Das Feld „agent.type“ wurde „observer.application“ zugeordnet.
  • Das Feld „agent.name“ wurde auf „observer.user.userid“ zugeordnet.
  • Das Feld „host.name“ wurde „observer.hostname“ zugeordnet.
  • Die Felder „agent.type“ und „agent.name“ wurden „observer.asset_id“ zugeordnet.
  • Das Feld „agent.ephemeral_id“ wurde „observer.labels“ zugeordnet.
  • Das Feld „host.os.platform“ wurde „target.platform“ zugeordnet.
  • Das Feld „host.os.version“ wurde „target.platform_version“ zugeordnet.
  • Das Feld „host.os.kernel“ wurde „target.platform_patch_level“ zugeordnet.
  • Das Feld „cloud.instance.id“ wurde „principal.resource.product_object_id“ zugeordnet.
  • Das Feld „cloud.instance.name“ wurde „principal.resource.name“ zugeordnet.
  • Das Feld „host.mac“ wurde „target.mac“ zugeordnet.
  • Das Feld „host.ip“ wurde „target.asset.ip“ zugeordnet.
  • Das Feld „host.id“ wurde „target.asset.asset_id“ zugeordnet.
  • Das Feld „host.architecture“ wurde „target.asset.hardware“ zugeordnet.
  • Das Feld „message.UserSID“ wurde „principal.user.userid“ zugeordnet.
  • Das Feld „message.ProcessPath“ wurde „about.process.command_line“ zugeordnet.
  • Die Felder „cloud.machine.type“ und „cloud.provider“ wurden „principal.resource.attribute.labels“ zugeordnet.
  • Es wurden bedingte Prüfungen für „message.Bit9Server“ und „message.HostId“ hinzugefügt, die auf „metadata.url_back_to_product“ zugeordnet sind.

2022-06-22

  • Fehlerkorrektur
  • hostId wurde principal.asset_id zugeordnet
  • Bit9Server und HostId wurden der Variablen „metadata.url_back_to_product“ zugeordnet.

2022-05-19

  • Fehlerkorrektur
  • angeforderte Protokolle im Fehler analysiert
  • Protokolle fehlgeschlagener API-Analysen

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