收集 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 執行個體。
  • 搭載 systemd 的 Windows Server 2016 以上版本或 Linux 主機。
  • 如果是在 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」(IAM 與管理) >「Service Accounts」(服務帳戶)。
  3. 按一下「建立服務帳戶」。
  4. 提供下列設定詳細資料:
    • 「Service account name」(服務帳戶名稱):輸入帳戶名稱 (例如 bindplane-ingest)。
    • 服務帳戶說明:輸入說明 (例如 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 & Admin」(IAM 與管理) >「Settings」(設定),然後複製「Project number」(專案編號)。匯出工具設定時會用到。

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

  1. 登入 Google SecOps 控制台。
  2. 依序前往「SIEM 設定」>「收集代理程式」。
  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. 在「系統設定」頁面中,按一下「事件」分頁標籤。
  4. 按一下頁面底部的「編輯」按鈕。
  5. 在「External Event Logging」面板中,勾選「Syslog Enabled」核取方塊。
  6. 請提供下列設定詳細資料:
    • Syslog Address:輸入 Bindplane 代理程式主機的 IP 位址或 FQDN (例如 192.168.1.100)。
    • 「Syslog Port」(Syslog 通訊埠):輸入 514 (或 Bindplane 中設定的通訊埠)。
    • 系統記錄格式:從「系統記錄格式」選單中選取輸出格式:
      • 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 專業人員尋求解答。