收集 Carbon Black App Control 記錄

支援的國家/地區:

本文說明如何收集 Carbon Black App Control 記錄。剖析器支援 CEF 和 JSON 格式。系統會先嘗試將輸入內容剖析為 JSON;如果失敗,系統會將輸入內容視為 CEF,執行文字替代作業、擷取 CEF 欄位、將這些欄位對應至 UDM,並將事件類型設為 GENERIC_EVENT。否則,系統會使用專屬的 JSON UDM 對應包含檔案。

事前準備

  • 確認您有 Google Security Operations 執行個體。
  • 確認您使用的是 Windows 2016 以上版本,或是搭載 systemd 的 Linux 主機。
  • 如果透過 Proxy 執行,請確認防火牆通訊埠已開啟。
  • Carbon Black App Control (CB Protection) 伺服器 (建議使用 8.x 以上版本)。
  • 確認您擁有 Carbon Black App Control 的特殊權限。

取得 Google SecOps 擷取驗證檔案

  1. 登入 Google SecOps 控制台。
  2. 依序前往「SIEM 設定」>「收集代理程式」
  3. 下載擷取驗證檔案。將檔案安全地儲存在要安裝 Bindplane 的系統上。

取得 Google SecOps 客戶 ID

  1. 登入 Google SecOps 控制台。
  2. 依序前往「SIEM 設定」>「設定檔」
  3. 複製並儲存「機構詳細資料」專區中的客戶 ID

安裝 Bindplane 代理程式

Windows 安裝

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

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

Linux 安裝

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

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

其他安裝資源

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

  1. 存取設定檔:

    1. 找出 config.yaml 檔案。通常位於 Linux 的 /etc/bindplane-agent/ 目錄,或 Windows 的安裝目錄。
    2. 使用文字編輯器 (例如 nanovi 或記事本) 開啟檔案。
  2. 按照下列方式編輯 config.yaml 檔案:

    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. 視基礎架構需求,替換通訊埠和 IP 位址。

  4. <customer_id> 替換為實際的客戶 ID。

  5. /path/to/ingestion-authentication-file.json 更新為「取得 Google SecOps 擷取驗證檔案」一節中儲存驗證檔案的路徑。

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

  • 如要在 Linux 中重新啟動 Bindplane 代理程式,請執行下列指令:

    sudo systemctl restart bindplane-agent
    
  • 如要在 Windows 中重新啟動 Bindplane 代理程式,可以使用「服務」控制台,或輸入下列指令:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

設定 CB 應用程式控制項,傳送系統記錄檔

  1. 使用管理員帳戶登入 CB 應用程式控制台。
  2. 依序前往「管理」>「系統設定」>「外部記錄」
  3. 在「外部事件記錄」部分中:
    • 啟用 Syslog 記錄:選取「Syslog Enabled」(啟用 Syslog) 核取方塊。
    • 伺服器位址<Bindplane Server IP>
    • Port<Bindplane Server PORT>
    • 「通訊協定」:選取「TCP」
    • 系統記錄格式:選取「JSON」
  4. 在「事件記錄選項」下方,選取要傳送的記錄類型:
    • 違反政策
    • 檔案完整性監控 (FIM) 事件
    • 使用者驗證事件
    • 威脅情報資料
  5. 按一下 [儲存]

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.hostnameobserver.hostnameobserver.user.userid 對應至多個欄位。
agent.type observer.application 直接對應。
agent.version metadata.product_version 直接對應 JSON 記錄。適用於 CEF 記錄,從 CEF 訊息中擷取。
cat security_result.category_details 直接對應。
cs1 additional.fields (含鍵 rootHash 或其他 cs1Label) cs1Label 定義的金鑰新增為額外欄位。
cs1Label additional.fields 做為 cs1 填入其他欄位的鍵。
cs2 additional.fields (含金鑰 installerFilename 或其他 cs2Label) cs2Label 定義的金鑰新增為額外欄位。
cs2Label additional.fields 做為 cs2 填入其他欄位的鍵。
cs3 additional.fields (含金鑰 Policy 或其他 cs3Label) cs3Label 定義的金鑰新增為額外欄位。
cs3Label additional.fields 做為 cs3 填入其他欄位的鍵。
cs5 additional.fields (含金鑰 ruleName 或其他 cs5Label) cs5Label 定義的金鑰新增為額外欄位。
cs5Label additional.fields 做為 cs5 填入其他欄位的鍵。
cfp1 additional.fields (帶有金鑰 fileTrust 或其他 cfp1Label) cfp1Label 定義的金鑰新增為額外欄位。
cfp1Label additional.fields 做為 cfp1 填入其他欄位的鍵。
cfp2 additional.fields (含金鑰 processTrust 或其他 cfp2Label) cfp2Label 定義的金鑰新增為額外欄位。
cfp2Label additional.fields 做為 cfp2 填入其他欄位的鍵。
deviceProcessName about.process.command_line 直接對應。
dhost target.hostname 直接對應。
dst target.ip 直接對應。
duser target.user.user_display_name 直接對應。
dvchost about.hostname 直接對應。
eventId additional.fields (含金鑰 eventId) 新增為額外欄位。
fileHash about.file.sha256 直接對應。
flexString1 additional.fields (含金鑰 fileThreat 或其他 flexString1Label) flexString1Label 定義的金鑰新增為額外欄位。
flexString1Label additional.fields 做為 flexString1 填入其他欄位的鍵。
flexString2 additional.fields (含金鑰 processThreat 或其他 flexString2Label) flexString2Label 定義的金鑰新增為額外欄位。
flexString2Label additional.fields 做為 flexString2 填入其他欄位的鍵。
fname additional.fields (含金鑰 fname) 新增為額外欄位。也用於部分事件的 metadata.description 檔案資訊。
host.architecture target.asset.hardware.cpu_platform 直接對應。
host.hostname target.asset.asset_id 用來做為目標資產 ID (Host Id: {host.hostname}) 的一部分。也會對應至 target.hostname
host.id target.asset.asset_id 用來做為目標資產 ID (Host Id: {host.id}) 的一部分。
host.ip target.asset.ip 直接對應。
host.mac target.mac 直接對應。
host.name target.hostname 直接對應。
host.os.build target.platform_patch_level 直接對應。
host.os.kernel target.platform_patch_level 已附加至「target.platform_patch_level」。
host.os.platform target.platform 對應至列舉值 WINDOWS
host.os.type target.platform 對應至列舉值 WINDOWS
host.os.version target.platform_version 直接對應。
log.file.path target.file.full_path 直接對應。
metadata.event_type metadata.event_type CEF 記錄請設為 GENERIC_EVENT,JSON 記錄請設為 SYSTEM_AUDIT_LOG_UNCATEGORIZED
metadata.log_type metadata.log_type 設為 CB_EDR
metadata.product_log_id metadata.product_log_id externalId 對應 CEF 記錄。不適用於 JSON 記錄。
metadata.product_name metadata.product_name CEF 記錄請設為 App Control,JSON 記錄請設為 CB_APP_CONTROL
metadata.product_version metadata.product_version 從 CEF 訊息擷取,適用於 CEF 記錄。JSON 記錄的對應值為 agent.version
metadata.vendor_name metadata.vendor_name 設為 Carbon Black
msg metadata.descriptionadditional.fields 根據剖析器的邏輯,用來填入 metadata.description 和其他欄位。
sproc principal.process.command_line 直接對應。
metadata.url_back_to_product metadata.url_back_to_product 使用 JSON 記錄的 Bit9ServerHostId 欄位建構。不適用於 CEF 記錄。
security_result.severity security_result.severity 設為 MEDIUM
timestamp events.timestamp 直接對應 JSON 記錄。如果是 CEF 記錄,剖析器邏輯會根據原始記錄的 rt 欄位 (如有),或 collection_time (如果沒有 rt) 判斷時間戳記。

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