收集 Carbon Black App Control (舊稱 CB Protection) 記錄

剖析器版本:28.0

支援的服務:

本文說明如何使用 Bindplane,將 Carbon Black App Control (舊稱 CB Protection,現為 Broadcom 旗下產品) 記錄擷取至 Google Security Operations。剖析器支援 CEF 和 JSON 格式。首先,剖析器會嘗試將輸入內容剖析為 JSON。如果失敗,則會將輸入內容視為 CEF、執行文字替換、擷取 CEF 欄位、將欄位對應至 UDM,並將事件類型設為 GENERIC_EVENT。

Carbon Black App Control 是一項應用程式控制和白名單解決方案,可讓組織鎖定伺服器和重要系統。這項功能會強制執行信任政策、監控檔案完整性異動,以及即時掌握端點活動,防止未經授權和惡意軟體執行。

事前準備

請確認您符合下列必要條件:

  • Google SecOps 執行個體。
  • Windows Server 2016 以上版本或 Linux 主機,且已安裝 systemd。
  • 如果是在 Proxy 後方執行,請確認防火牆通訊埠已開啟。
  • Carbon Black App Control Server 8.x 以上版本。
  • Carbon Black App Control 控制台的特殊權限存取權 (管理員帳戶)。

取得 Bindplane 代理程式的 Google SecOps 憑證

如要向 Google SecOps 驗證 Bindplane 代理程式,請選擇下列其中一種方法:

  • 新部署作業:使用 Chronicle API (選項 1)。
  • 舊版部署作業:繼續使用擷取驗證檔案 (選項 2),直到 Ingestion API 於 2027 年 7 月 20 日停用。
  1. 登入 Google Cloud 控制台,選取連結至 Google SecOps 執行個體的 Google Cloud 專案。
  2. 依序前往「IAM & Admin」>「Service Accounts」。
  3. 按一下「建立服務帳戶」。
  4. 提供下列設定詳細資料:
    • 「服務帳戶名稱」:輸入帳戶名稱 (例如 bindplane-ingest)。
    • 「Service account description」(服務帳戶說明):輸入說明 (例如 Bindplane agent log ingestion)。
  5. 點按「Create and continue」(建立並繼續)。
  6. 在「將專案存取權授予這個服務帳戶」部分,按一下「選取角色」,然後選取「Chronicle 編輯者」。
  7. 依序點選「繼續」和「完成」。
  8. 按一下您建立的服務帳戶,然後前往「金鑰」分頁。
  9. 依序點選「新增金鑰」>「建立新的金鑰」。
  10. 選取「JSON」,然後點選「建立」。金鑰檔案會下載到您的電腦。
  11. 將金鑰檔案儲存為 Bindplane 收集器目錄中的 ingestion-auth.json (Linux 上的 /opt/observiq-otel-collector/ingestion-auth.json 或 Windows 上的 C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json),或更新 config.yaml 中的 creds_file_path,使其與儲存路徑相符。
  12. 依序前往「IAM 與管理」>「設定」,然後複製「專案編號」。設定匯出工具時會用到。

方法 2:下載擷取驗證檔案 (舊版)

  1. 登入 Google SecOps 控制台。
  2. 依序前往「設定」>「資料管理」>「收集代理程式」。如果使用的是僅限 SIEM 的平台,請依序前往「Settings」>「Collection Agents」。
  3. 下載擷取驗證檔案。
  4. 將檔案安全地儲存在要安裝 Bindplane 代理程式的系統上。

取得 Google SecOps 客戶 ID

  1. 登入 Google SecOps 控制台。
  2. 依序前往「設定」>「管理」>「設定檔」。如果使用的是僅限 SIEM 的平台,請依序前往「設定」>「設定檔」。
  3. 複製並儲存「機構詳細資料」部分的客戶 ID。

安裝 Bindplane 代理程式

請按照下列操作說明,在 Windows 或 Linux 作業系統上安裝 Bindplane 代理程式。

Windows 安裝

  1. 以管理員身分開啟命令提示字元或 PowerShell。
  2. 執行下列指令:

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

Linux 安裝

  1. 開啟具有 root 或 sudo 權限的終端機。
  2. 執行下列指令:

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

其他安裝資源

如需其他安裝選項,請參閱 Bindplane 代理程式安裝指南。

設定 Bindplane 代理程式,擷取系統記錄並傳送至 Google SecOps

  1. 存取設定檔:

    • 找出 config.yaml 檔案。通常位於 Linux 的 /observiq-otel-collector/ 目錄,或 Windows 的安裝目錄。
    • 使用文字編輯器 (例如 nano、vi 或記事本) 開啟檔案。
  2. 按照下列方式編輯 config.yaml 檔案:

    receivers:
      tcplog:
        # Replace the port and IP address as required
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/chronicle_w_labels:
        protocol: https
        # Region of your instance, for example us, europe, asia-southeast1
        location: <LOCATION>
        # Project number of the Google Cloud project linked to the instance
        project: '<PROJECT_NUMBER>'
        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: chronicle.googleapis.com
        # Add optional ingestion labels for better organization
        log_type: CB_APP_CONTROL
        raw_log_field: body
        ingestion_labels:
    
    service:
      pipelines:
        logs/source0__chronicle_w_labels-0:
          receivers:
            - tcplog
          exporters:
            - chronicle/chronicle_w_labels
    
  • 請根據基礎架構需求,替換通訊埠和 IP 位址。
  • 將 <LOCATION> 替換為 Google SecOps 執行個體的區域 (例如 us、europe 或 asia-southeast1)。匯出工具會在這個值前面加上 chronicle.googleapis.com。
  • 將 <PROJECT_NUMBER> 替換為「IAM 與管理」>「設定」中的專案編號。
  • 將 <customer_id> 替換為實際的客戶 ID。
  • 將 /path/to/ingestion-authentication-file.json 更新為服務帳戶金鑰檔案 (選項 1) 的儲存路徑,該檔案位於「取得 Bindplane 代理程式的 Google SecOps 憑證」一節。

舊版 Ingestion API 匯出工具

  • 如果使用選項 2 的擷取驗證檔案,請將 exporters 區塊替換為下列內容。將 creds_file_path 設為擷取驗證檔案的路徑。如果執行個體位於美國境外,請將 malachiteingestion-pa.googleapis.com 替換為區域端點 (例如 europe-malachiteingestion-pa.googleapis.com)。

    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: CB_APP_CONTROL
        raw_log_field: body
        ingestion_labels:
    

重新啟動 Bindplane 代理程式,套用變更

如要在 Linux 中重新啟動 Bindplane 代理程式,請按照下列步驟操作:

  1. 執行下列指令:

    sudo systemctl restart observiq-otel-collector
    
  2. 確認服務正在執行:

    sudo systemctl status observiq-otel-collector
    
  3. 查看記錄檔,找出錯誤:

    sudo journalctl -u observiq-otel-collector -f
    

如要在 Windows 中重新啟動 Bindplane 代理程式,請按照下列步驟操作:

  1. 您可以選擇下列其中一個選項:

    • 以管理員身分執行命令提示字元或 PowerShell:
    net stop observiq-otel-collector && net start observiq-otel-collector
    
    • 服務控制台:
      1. 按下 Win+R,輸入 services.msc,然後按下 Enter 鍵。
      2. 找出「observIQ OpenTelemetry Collector」。
      3. 按一下滑鼠右鍵,然後選取「重新啟動」。
  2. 確認服務正在執行:

    sc query observiq-otel-collector
    
  3. 查看記錄檔,找出錯誤:

    type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
    

設定 Carbon Black App Control 系統記錄轉送

  1. 使用管理員帳戶登入 Carbon Black App Control 控制台。
  2. 依序點選「設定」(齒輪) 圖示和「系統設定」。
  3. 在「System Configuration」(系統設定) 頁面中,按一下「Events」(事件) 分頁標籤。
  4. 按一下頁面底部的「編輯」按鈕。
  5. 在「External Event Logging」面板中,勾選「Syslog Enabled」核取方塊。
  6. 提供下列設定詳細資料:
    • Syslog Address:輸入 Bindplane 代理程式主機的 IP 位址或 FQDN (例如 192.168.1.100)。
    • Syslog Port:輸入 514 (或在 Bindplane 中設定的通訊埠)。
    • Syslog Format:從「Syslog Format」選單中選取輸出格式:
      • CEF (ArcSight):建議用於 Google SecOps 擷取作業。
      • Enhanced (RFC 5424):新安裝 v6.0.1 以上版本時的預設值。
      • 基本 (RFC 3164):從 6.0.1 之前版本升級時的預設值。
      • LEEF (Q1 Labs):用於 QRadar 整合。
  7. 按一下「更新」,然後在確認對話方塊中點選「是」。

UDM 對應表

記錄欄位 UDM 對應 邏輯
ABId principal.asset.asset_id JSON 記錄中的 ABId 會做為資產 ID 的一部分,格式為 PRODUCT_SPECIFIC_ID:{ABId}-{Bit9Server}。
Bit9Server principal.asset.asset_id 與 ABId 結合,做為委託人資產 ID 的一部分。也用於建構 metadata.url_back_to_product 欄位。
CommandLine about.process.command_line 直接對應。
EventType metadata.product_event_type 對應至方括號中的相應 EventTypeId (例如 [5] - Discovery)。
EventTypeId metadata.product_event_type 與 EventType 搭配使用,填入 metadata.product_event_type。
EventSubType metadata.description 附加至 metadata.description 欄位。
EventSubTypeId metadata.description 未明確對應,但可能根據剖析器的內部邏輯,對說明有所貢獻。
externalId metadata.product_log_id 直接對應。
FileHash about.file.sha256 直接對應。
FileName additional.fields (金鑰:FileName) 新增為額外欄位。在某些事件中,也會做為 metadata.description 檔案資訊的一部分。
FilePath about.file.full_path 直接對應。
FileThreat additional.fields (金鑰:fileThreat) 新增為額外欄位。
FileTrust additional.fields (金鑰:fileTrust) 新增為額外欄位。
HostId principal.asset.asset_id 用於建構返回 metadata.url_back_to_product 中產品的網址。
HostName target.hostname 直接對應。
HostIP target.ip 直接對應。
Message metadata.description 直接對應。
PathName about.file.full_path 直接對應。
Platform target.platform 對應至列舉值 WINDOWS。
Policy additional.fields (金鑰:Policy) 新增為額外欄位。
PolicyId additional.fields (金鑰:PolicyId) 新增為額外欄位。
ProcessKey additional.fields (金鑰:ProcessKey) 新增為額外欄位。
ProcessPath about.process.command_line 直接對應。
ProcessPathName about.process.command_line 直接對應。
ProcessThreat additional.fields (金鑰:ProcessThreat) 新增為額外欄位。
ProcessTrust additional.fields (金鑰:ProcessTrust) 新增為額外欄位。
RuleName additional.fields (金鑰:ruleName) 新增為額外欄位。
Timestamp metadata.event_timestamp 直接對應。
UserName target.user.user_display_name 直接對應。
UserSid principal.user.userid 直接對應。
agent.ephemeral_id observer.labels (金鑰:ephemeral_id) 已新增為觀察者標籤。
agent.name principal.hostname、observer.hostname、observer.user.userid 對應至多個欄位。
agent.type observer.application 直接對應。
agent.version metadata.product_version 直接對應 JSON 記錄。如果是 CEF 記錄,則從 CEF 訊息中擷取。
cat security_result.category_details 直接對應。
process event.idm.read_only_udm.principal.file.full_path 從變更記錄對應
text event.idm.read_only_udm.metadata.description 從變更記錄對應
type event.idm.read_only_udm.security_result.category_details 從變更記錄對應
subtype event.idm.read_only_udm.security_result.category_details 從變更記錄對應
hostname event.idm.read_only_udm.principal.hostname 和 event.idm.read_only_udm.principal.asset.hostname 從變更記錄對應
username event.idm.read_only_udm.target.user.userid 從變更記錄對應
date event.idm.read_only_udm.metadata.collected_timestamp 從變更記錄對應
ip_address event.idm.read_only_udm.principal.ip 和 event.idm.read_only_udm.principal.asset.ip 從變更記錄對應
file_path event.idm.read_only_udm.target.file.full_path 從變更記錄對應
file_name event.idm.read_only_udm.target.process.file.names 從變更記錄對應
file_hash event.idm.read_only_udm.target.file.sha256 從變更記錄對應
policy event.idm.read_only_udm.security_result.rule_name 從變更記錄對應
server_version event.idm.read_only_udm.metadata.product_version 從變更記錄對應
file_trust event.idm.read_only_udm.security_result.about.labels 從變更記錄對應
file_threat event.idm.read_only_udm.security_result.about.labels 從變更記錄對應

變更記錄

查看這個剖析器的變更記錄

還有其他問題嗎?向社群成員和 Google SecOps 專家尋求解答。