收集 Skyhigh Security 記錄

支援的國家/地區:

本文說明如何使用 Bindplane,將 Skyhigh Security (前身為 McAfee Skyhigh CASB) 記錄擷取至 Google Security Operations。剖析器會將 SYSLOG + KV 格式的記錄轉換為統一資料模型 (UDM)。首先,它會將記錄訊息正規化為鍵/值組合,然後將擷取的欄位對應至 event.idm.read_only_udm 物件中的相應 UDM 屬性,並根據特定欄位的存在與值,將事件類型分類。

事前準備

請確認您已完成下列事前準備事項:

  • Google SecOps 執行個體
  • Windows 2016 以上版本,或搭載 systemd 的 Linux 主機
  • 如果透過 Proxy 執行,防火牆通訊埠已開啟
  • 安裝及設定 Skyhigh Cloud Connector
  • Skyhigh Security Cloud Connector 的特殊存取權

取得 Google SecOps 擷取驗證檔案

  1. 登入 Google SecOps 控制台。
  2. 依序前往「SIEM 設定」>「收集代理程式」
  3. 下載擷取驗證檔案。將檔案安全地儲存在要安裝 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. 開啟具有根層級或 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. 存取設定檔:
    • 找出 config.yaml 檔案。通常位於 Linux 的 /etc/bindplane-agent/ 目錄,或 Windows 的安裝目錄。
    • 使用文字編輯器 (例如 nanovi 或記事本) 開啟檔案。
  2. 按照下列方式編輯 config.yaml 檔案:

    receivers:
        udplog:
            # Replace the port and IP address as required
            listen_address: "0.0.0.0:514"
    
    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: 'MCAFEE_SKYHIGH_CASB'
            raw_log_field: body
            ingestion_labels:
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - udplog
                exporters:
                    - chronicle/chronicle_w_labels
    
    • 視基礎架構需求,替換通訊埠和 IP 位址。
    • <customer_id> 替換為實際的客戶 ID。
    • /path/to/ingestion-authentication-file.json 更新為您在「取得 Google SecOps 擷取驗證檔案」部分儲存驗證檔案的路徑。

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

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

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

    net stop BindPlaneAgent && net start BindPlaneAgent
    

下載 Logging Client 前的必要條件

請備妥下列詳細資料:

  1. 使用情況分析使用者權限:您的帳戶必須具備「使用情況分析使用者」角色。
  2. 客戶 ID:請按照下列步驟,在 Skyhigh CASB 中找出客戶 ID
    • 登入 Skyhigh CASB
    • 依序前往「設定」>「基礎架構」>「用戶端 Proxy 管理」
    • 依序點選「Global Configuration」>「Tenant Authentication」
    • 在「全域設定」下方,找出顯示的「客戶 ID」
  3. 電子郵件地址和密碼:您的登入憑證 (或專屬服務帳戶的登入憑證)。如果您使用 SAML 登入,但未提交密碼,就無法安裝記錄用戶端。

下載並安裝 Skyhigh Logging Client

  1. 記錄用戶端下載至專屬執行個體。
  2. 安裝 Logging Client (視需要解壓縮下載的 EXE 檔案)。
  3. 安裝完成後,開啟「Logging Client」(記錄用戶端)
  4. 在「Configuration」頁面中,提供下列設定詳細資料:
    1. 客戶 ID:輸入您在上一個步驟中取得的 Skyhigh CASB 客戶 ID。
    2. 服務:如果您使用 Skyhigh SSE,請選取 SSE;如果您搭配 Trellix ePO 使用這項產品,請選取 WGCS
    3. 區域:根據資料儲存位置選擇區域或國家/地區代碼:
      • 歐盟
      • IN - 印度
      • SG - 新加坡
      • UE - 阿拉伯聯合大公國
      • 英國
      • US:美國
    4. 名稱:輸入使用者名稱,通常是登入 Secure Web Gateway 或專屬執行個體時使用的電子郵件地址。
    5. 密碼:輸入您用來登入 Secure Web Gateway 的密碼。如果使用 SAML 登入,就無法使用 Logging Client。
    6. API 版本:輸入 version 13
    7. 記錄類型:您可以下載不同類型的記錄,包括來自網頁、遠端瀏覽器隔離 (RBI)、私人存取和 Cloud Firewall 的資料記錄。
    8. 選取「以系統記錄檔形式傳送」,並提供下列設定詳細資料:
      • Syslog 用戶端主機:輸入 Bindplane 代理程式 IP 位址。
      • Syslog 用戶端通訊埠:輸入 Bindplane 代理程式通訊埠編號。
      • 傳輸:視 Bindplane 代理程式設定而定,選取「UDP」或「TCP」

UDM 對應表

記錄欄位 UDM 對應 邏輯
EventReceivedTime metadata.event_timestamp 已從 yyyy-MM-dd HH:mm:ss 格式轉換為時間戳記
FileSize target.file.size 直接對應,轉換為 uinteger
主機名稱 principal.hostname 直接對應
MessageSourceAddress principal.ip 直接對應,如果有多個執行個體則會合併
嚴重性 additional.fields.value.string_value (鍵:SEVERITY) 直接對應
SeverityValue additional.fields.value.string_value (key: SEVERITY_VALUE) 直接對應
SourceModuleName additional.fields.value.string_value (鍵:SOURCE_MODULE_NAME) 直接對應
SourceModuleType principal.resource.resource_subtype 直接對應
SyslogFacility security_result.about.resource.attribute.labels.value (key: SYSLOG_FACILITY) 直接對應
SyslogFacilityValue security_result.about.resource.attribute.labels.value (key: SYSLOG_FACILITY_VALUE) 直接對應
SyslogSeverity security_result.about.resource.attribute.labels.value (key: SYSLOG_SEVERITY) 直接對應
SyslogSeverityValue security_result.about.resource.attribute.labels.value (key: SYSLOG_SEVERITY_VALUE) 直接對應
activityName metadata.product_event_type 直接對應,已移除括號
actorId principal.user.userid 直接對應,如果是電子郵件,也會新增至 email_addresses
actorIdType principal.user.attribute.roles.name 直接對應
collaborationSharedLink security_result.about.resource.attribute.labels.value (key: COLLABORATION_SHARED_LINK) 直接對應
contentItemId target.file.full_path (如果 contentItemType 為 FILE) 直接對應,已移除報價
contentItemId target.url (如果 contentItemType 為 SAAS_RESOURCE) 直接對應,已移除報價
contentItemHierarchy additional.fields.value.string_value (key: CONTENT_ITEM_HIERARCHY) 直接對應,已移除報價
contentItemName target.resource.name 直接對應,已移除報價
contentItemType additional.fields.value.string_value (key: CONTENT_ITEM_TYPE) 直接對應
incidentGroup security_result.detection_fields.value (key: INCIDENT_GROUP) 直接對應
incidentId metadata.product_log_id 直接對應
incidentRiskScore security_result.detection_fields.value (key: INCIDENT_RISK_SCORE) 直接對應
incidentRiskSeverityId 與 riskSeverity 搭配使用,判斷 security_result.severity
informationAccountId target.resource.product_object_id 直接對應
informationAnomalyCategory security_result.category_details 直接對應,已移除報價
informationAnomalyCause security_result.detection_fields.value (key: INFO_ANOMALY_CAUSE) 直接對應,已移除報價
informationCategory security_result.category_details 直接對應
informationConfigType additional.fields.value.string_value (key: INFORMATION_CONFIG_TYPE) 直接對應,已移除報價
informationContentItemParent target.resource.parent 直接對應,已移除報價
informationEventId additional.fields.value.string_value (key: INFORMATION_EVENT_ID) 直接對應
informationExternalCollaboratorsCount additional.fields.value.string_value (key: INFORMATION_COLLAB_COUNT) 直接對應
informationFileTypes additional.fields.value.list_value.values.string_value (key: FILE_TYPE) 從類似 JSON 的字串擷取,並移除方括號和引號
informationLastExecutedResponseLabel additional.fields.value.string_value (key: INFORMATION_LAST_RESPONSE) 直接對應
informationScanName metadata.description 直接對應,已移除報價
informationScanRunDate 未對應至 UDM
informationSource additional.fields.value.string_value (key: INFORMATION_SOURCE) 直接對應
informationUniqueMatchCount additional.fields.value.string_value (key: INFORMATION_UNQ_MATCH_COUNT) 直接對應
informationUserAttributesSAMAccountName principal.user.user_display_name 直接對應,已移除括號
instanceId principal.resource.product_object_id 直接對應
instanceName principal.resource.name 直接對應,已移除報價
policyId security_result.rule_id 直接對應
policyName security_result.summary 直接對應,已移除報價
回應 用於判斷 security_result.action (ALLOW 或 BLOCK)
riskSeverity 與 incidentRiskSeverityId 搭配使用,判斷 security_result.severity,並轉換為大寫
serviceNames target.application 直接對應、移除方括號、引號和額外空格
sourceIps principal.ip 從類似 JSON 的字串中擷取,如果有多個執行個體,則會合併
狀態 additional.fields.value.string_value (key: STATUS) 直接對應
threatCategory security_result.threat_name 直接對應,已移除報價
totalMatchCount security_result.detection_fields.value (key: TOTAL_MATCH_COUNT) 直接對應
不適用 metadata.vendor_name MCAFEE - 靜態價值
不適用 metadata.product_name MCAFEE_SKYHIGH_CASB - 靜態價值
不適用 metadata.log_type MCAFEE_SKYHIGH_CASB - 靜態價值
不適用 principal.resource.type VIRTUAL_MACHINE - 如果存在 instanceName 或 instanceId,請設定此值
不適用 metadata.event_type 根據一組條件判斷:
- USER_RESOURCE_UPDATE_CONTENT 如果 actorId、contentItemId 或 contentItemName 存在
- USER_UNCATEGORIZED 如果 actorId 和 target 存在
- STATUS_UPDATE 如果 Hostname 或 MessageSourceAddress 存在
- GENERIC_EVENT 其他情況
不適用 security_result.severity 根據 riskSeverity 和 incidentRiskSeverityId 的組合判斷:
- 如果 riskSeverity 為 LOW 且 incidentRiskSeverityId 為 0,則為 LOW
- 如果 riskSeverity 為 MEDIUM 且 incidentRiskSeverityId 為 1,則為 MEDIUM
- 如果 riskSeverity 為 HIGH 且 incidentRiskSeverityId 為 2,則為 HIGH
- 如果 riskSeverity 為 INFO 且 incidentRiskSeverityId 為 3,則為 INFORMATIONAL
不適用 security_result.action 根據回應值判斷:
- 如果回應包含 allow (不分大小寫),則為 ALLOW  - 如果回應包含 Violation (不分大小寫),則為 BLOCK

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