Carbon Black App Control-Logs erfassen
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
- Melden Sie sich in der Google SecOps-Konsole an.
- Rufen Sie SIEM-Einstellungen > Collection Agents auf.
- 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
- Melden Sie sich in der Google SecOps-Konsole an.
- Rufen Sie die SIEM-Einstellungen > „Profil“ auf.
- Kopieren und speichern Sie die Kunden-ID aus dem Bereich Organisationsdetails.
BindPlane-Agent installieren
Windows-Installation
- Öffnen Sie die Eingabeaufforderung oder PowerShell als Administrator.
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
- Öffnen Sie ein Terminal mit Root- oder Sudo-Berechtigungen.
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 in diesem Installationsleitfaden.
Bindplane-Agent so konfigurieren, dass Syslog-Daten aufgenommen und an Google SecOps gesendet werden
Greifen Sie auf die Konfigurationsdatei zu:
- 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).
- Suchen Sie die Datei
Bearbeiten Sie die Datei
config.yaml
so: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
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 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
- Melden Sie sich mit einem Administratorkonto in der CB App Control-Konsole an.
- Gehen Sie zu Admin> System Configuration> External Logging (Verwaltung > Systemkonfiguration > Externe Protokollierung).
- 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.
- 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
- 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