Carbon Black App Control-Logs erfassen

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie Carbon Black App Control-Logs erfassen. Der Parser unterstützt sowohl CEF- als auch JSON-Formate. Zuerst wird versucht, die Eingabe als JSON zu parsen. Wenn das fehlschlägt, wird die Eingabe als CEF behandelt, es werden Textersetzungen vorgenommen, CEF-Felder werden extrahiert, sie werden UDM zugeordnet und der Ereignistyp wird auf GENERIC_EVENT festgelegt. Andernfalls wird eine separate JSON-spezifische UDM-Zuordnungs-Include-Datei verwendet.

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.
  • Carbon Black App Control (CB Protection)-Server (Version 8.x oder höher empfohlen).
  • Prüfen Sie, ob Sie privilegierten Zugriff auf Carbon Black App Control 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

Windows-Installation

  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 so konfigurieren, dass Syslog-Daten aufgenommen und an Google SecOps gesendet werden

  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: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 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
    

CB App Control für das Senden von Syslog-Logs konfigurieren

  1. Melden Sie sich mit einem Administratorkonto in der CB App Control-Konsole an.
  2. Gehen Sie zu Admin> System Configuration> External Logging (Verwaltung > Systemkonfiguration > Externe Protokollierung).
  3. Gehen Sie im Abschnitt „Externe Ereignisprotokollierung“ so vor:
    • Syslog-Logging aktivieren: Klicken Sie das Kästchen Syslog aktiviert an.
    • Serveradresse: <Bindplane Server IP>.
    • Port: <Bindplane Server PORT>.
    • 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
    • FIM-Ereignisse (File Integrity Monitoring, Dateiintegritätsüberwachung)
    • Nutzerauthentifizierungsereignisse
    • 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 Rechtssubjekts 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 Entspricht dem entsprechenden EventTypeId in eckigen Klammern (z.B. [5] - Discovery).
EventTypeId metadata.product_event_type Wird mit EventType verwendet, um metadata.product_event_type auszufüllen.
EventSubType metadata.description Wird an das Feld metadata.description angehängt.
EventSubTypeId metadata.description Nicht explizit zugeordnet, trägt aber möglicherweise basierend auf der internen Logik des Parsers zur Beschreibung bei.
externalId metadata.product_log_id Direkt zugeordnet.
FileHash about.file.sha256 Direkt zugeordnet.
FileName additional.fields (mit Schlüssel FileName) Als zusätzliches Feld hinzugefügt. Wird auch als Teil der Dateiinformationen in metadata.description für einige Ereignisse verwendet.
FilePath about.file.full_path Direkt zugeordnet.
FileThreat additional.fields (mit Schlüssel fileThreat) Als zusätzliches Feld hinzugefügt.
FileTrust additional.fields (mit Schlüssel fileTrust) Als zusätzliches Feld hinzugefügt.
HostId principal.asset.asset_id Wird verwendet, um die URL zurück 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 Wird dem Enumerationswert WINDOWS zugeordnet.
Policy additional.fields (mit Schlüssel Policy) Als zusätzliches Feld hinzugefügt.
PolicyId additional.fields (mit Schlüssel PolicyId) Als zusätzliches Feld hinzugefügt.
ProcessKey additional.fields (mit 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 Schlüssel ProcessThreat) Als zusätzliches Feld hinzugefügt.
ProcessTrust additional.fields (mit Schlüssel ProcessTrust) Als zusätzliches Feld hinzugefügt.
RuleName additional.fields (mit 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 Schlüssel ephemeral_id) Als Beobachter 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-Logs zugeordnet. Für CEF-Logs, 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 von 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 von cs2 ausgefüllt wird.
cs3 additional.fields (mit dem Schlüssel Policy 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 von 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 von 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 von 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 von 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 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 von 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 von flexString2 ausgefüllt wird.
fname additional.fields (mit Schlüssel fname) Als zusätzliches Feld hinzugefügt. Wird auch als Teil der Dateiinformationen in metadata.description für einige Ereignisse 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. Wird 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 target.platform_patch_level angehängt.
host.os.platform target.platform Wird dem Enumerationswert WINDOWS zugeordnet.
host.os.type target.platform Wird 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 GENERIC_EVENT für CEF-Logs und SYSTEM_AUDIT_LOG_UNCATEGORIZED für JSON-Logs 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-Logs zugeordnet. Nicht anwendbar für JSON-Logs.
metadata.product_name metadata.product_name Legen Sie App Control für CEF-Logs und CB_APP_CONTROL für JSON-Logs fest.
metadata.product_version metadata.product_version Aus der CEF-Nachricht für CEF-Logs extrahiert. Wird aus agent.version für JSON-Logs zugeordnet.
metadata.vendor_name metadata.vendor_name Legen Sie Carbon Black fest.
msg metadata.description, additional.fields Wird verwendet, um metadata.description und möglicherweise zusätzliche Felder basierend auf der Logik des Parsers auszufüllen.
sproc principal.process.command_line Direkt zugeordnet.
metadata.url_back_to_product metadata.url_back_to_product Wird aus den Feldern Bit9Server und HostId für JSON-Logs erstellt. Gilt nicht für CEF-Logs.
security_result.severity security_result.severity Legen Sie MEDIUM fest.
timestamp events.timestamp Direkt für JSON-Logs zugeordnet. Bei CEF-Logs wird der Zeitstempel von der Parserlogik anhand des Felds rt des Rohlogs bestimmt, sofern verfügbar, oder anhand des Felds collection_time, wenn rt nicht vorhanden ist.

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