收集 ArcSight CEF 記錄

剖析器版本:34.0

支援的服務:

本文說明如何使用 Bindplane 代理程式,將 ArcSight CEF 記錄擷取至 Google Security Operations。

ArcSight (現為 OpenText 的一部分) 使用通用事件格式 (CEF),將多個來源的安全性事件正規化。ArcSight SmartConnector 會收集事件,並透過 syslog 以 CEF 格式轉送至下游消費者,包括 SIEM 平台。

事前準備

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

  • Google SecOps 執行個體
  • Windows Server 2016 以上版本,或搭載 systemd 的 Linux 主機
  • Bindplane 代理程式與 ArcSight SmartConnector 主機之間的網路連線
  • 如果是在 Proxy 後方執行,請確認防火牆通訊埠已按照 Bindplane 代理程式規定開啟
  • 存取 OpenText 支援入口網站,下載 SmartConnector
  • SmartConnector 伺服器的管理員權限

取得 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
    
  3. 等待安裝完成。

  4. 執行下列指令,確認安裝成功:

    sc query observiq-otel-collector
    

    服務應顯示為「RUNNING」。

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
    
  3. 等待安裝完成。

  4. 執行下列指令,確認安裝成功:

    sudo systemctl status observiq-otel-collector
    

    服務應顯示為「active (running)」。

其他安裝資源

如需其他安裝選項和疑難排解資訊,請參閱 Bindplane 代理程式安裝指南。

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

找出設定檔

  • Linux:

    sudo nano /opt/observiq-otel-collector/config.yaml
    
  • Windows:

    notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
    

編輯設定檔

  • 將 config.yaml 的全部內容替換為下列設定:

    receivers:
      udplog:
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/arcsight_cef:
        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
        creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json'
        customer_id: '<customer_id>'
        endpoint: chronicle.googleapis.com
        log_type: ARCSIGHT_CEF
        raw_log_field: body
    
    service:
      pipelines:
        logs/arcsight_to_chronicle:
          receivers:
            - udplog
          exporters:
            - chronicle/arcsight_cef
    

設定參數

替換下列預留位置:

  • 接收器設定:

    • listen_address:要監聽的 IP 位址和通訊埠:
      • 0.0.0.0:監聽所有介面 (建議)
      • 通訊埠 514 是標準 syslog 通訊埠 (在 Linux 上需要 root 權限;非 root 權限請使用 1514)
  • 匯出工具設定:

    • creds_file_path:服務帳戶 JSON 金鑰檔案的完整路徑 (選項 1):
      • Linux:/opt/observiq-otel-collector/ingestion-auth.json
      • Windows:C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
    • customer_id:從 Google SecOps 控制台複製的客戶 ID
    • location:將 <LOCATION> 替換為 Google SecOps 執行個體的區域 (例如 us、europe 或 asia-southeast1)。匯出工具會在這個值前面加上 chronicle.googleapis.com。如需完整清單,請參閱「區域性端點」。
    • project:依序前往「IAM 與管理」>「設定」,將 <PROJECT_NUMBER> 替換為專案編號。
    • endpoint:維持設為 chronicle.googleapis.com。

舊版 Ingestion API 匯出工具

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

    exporters:
      chronicle/arcsight_cef:
        compression: gzip
        creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json'
        customer_id: '<customer_id>'
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: ARCSIGHT_CEF
        raw_log_field: body
    

儲存設定檔

  • 編輯完畢後,請儲存檔案:
    • Linux:依序按下 Ctrl+O、Enter 和 Ctrl+X 鍵
    • Windows:依序點選「檔案」>「儲存」

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

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

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

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

      sudo journalctl -u observiq-otel-collector -f
      
  • 如要在 Windows 重新啟動 Bindplane 代理程式,請選擇下列任一選項:

    • 以管理員身分執行命令提示字元或 PowerShell:

      net stop observiq-otel-collector && net start observiq-otel-collector
      
    • 服務控制台:

      1. 按下 Win+R,輸入 services.msc,然後按下 Enter 鍵。
      2. 找出「observIQ OpenTelemetry Collector」。
      3. 按一下滑鼠右鍵,然後選取「重新啟動」。
      4. 確認服務正在執行:

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

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

下載 ArcSight SmartConnector

  1. 登入 OpenText 支援入口網站。
  2. 尋找並下載最新版 Linux ArcSight SmartConnector。
  3. 檔案名稱範例:ArcSight-Connector-Linux64-8.4.0.8499.0.bin。

安裝 ArcSight SmartConnector

  1. 將 .bin 檔案上傳到 SmartConnector 伺服器:

    scp ArcSight-Connector-Linux64-8.4.0.8499.0.bin user@your-smartconnector-host:/tmp
    
  2. 使用 SSH 登入 SmartConnector 伺服器,然後執行:

    cd /tmp
    chmod +x ArcSight-Connector-Linux64-8.4.0.8499.0.bin
    ./ArcSight-Connector-Linux64-8.4.0.8499.0.bin
    
  3. 按照互動式安裝程式的指示操作:

    • 選取安裝目錄 (例如 /opt/arcsight/connectors/current)。
    • 接受授權。
    • 系統提示時,選取「安裝連接器」。

設定 ArcSight SmartConnector,將 CEF 傳送至 syslog

  1. 在 SmartConnector 主機中,啟動目的地精靈:

    cd /opt/arcsight/connectors/current/bin
    ./arcsight connectors
    
  2. 在精靈中執行下列操作:

    • 選取「新增目的地」。
    • 選取「CEF Syslog」。
  3. 提供下列設定詳細資料:

    • Host/IP:輸入 Bindplane 代理程式 IP 位址。
    • 「Port」(通訊埠):輸入 Bindplane 代理程式通訊埠編號 (例如 514)。
    • 「通訊協定」:選取「UDP」。
  4. 完成設定並重新啟動連接器:

    ./arcsight agents
    
  5. 執行連線能力檢查 (尋找:Successfully connected to syslog: X.X.X.X:514):

    tail -f /opt/arcsight/connectors/current/logs/agent.log
    

UDM 對應表

記錄欄位 UDM 對應 邏輯
act security_result.action_details 直接從 act 欄位對應。
agt principal.ip 直接從 agt 欄位對應。
agt principal.asset.ip 直接從 agt 欄位對應。
應用程式 network.application_protocol 直接從 app 欄位對應。
art metadata.event_timestamp.seconds 直接從 art 欄位對應。
cs2 additional.fields.value.string_value 當 cs2Label 為 EventlogCategory 時,直接從 cs2 欄位對應。
cs2Label additional.fields.key 當 cs2Label 欄位的值為 EventlogCategory 時,直接從該欄位對應。
cs3 additional.fields.value.string_value 當 cs3Label 為 Process ID 時,直接從 cs3 欄位對應。
cs3Label additional.fields.key 當 cs3Label 欄位的值為 Process ID 時,直接從該欄位對應。
cs5 additional.fields.value.string_value 當 cs5Label 為 Authentication Package Name 時,直接從 cs5 欄位對應。
cs5Label additional.fields.key 當 cs5Label 欄位的值為 Authentication Package Name 時,直接從該欄位對應。
cs6 additional.fields.value.string_value 當 cs6Label 為 Logon GUID 時,直接從 cs6 欄位對應。
cs6Label additional.fields.key 當 cs6Label 欄位的值為 Logon GUID 時,直接從該欄位對應。
dhost about.hostname 直接從 dhost 欄位對應。
dhost target.hostname 直接從 dhost 欄位對應。
dntdom about.administrative_domain 直接從 dntdom 欄位對應。
dntdom target.administrative_domain 直接從 dntdom 欄位對應。
dproc about.process.command_line 直接從 dproc 欄位對應。
dproc target.process.command_line 直接從 dproc 欄位對應。
dst principal.ip 直接從 dst 欄位對應。
dst principal.asset.ip 直接從 dst 欄位對應。
dst target.ip 直接從 dst 欄位對應。
duid target.user.userid 直接從 duid 欄位對應。
duser target.user.user_display_name 直接從 duser 欄位對應。
dvc about.ip 直接從 dvc 欄位對應。
dvchost about.hostname 直接從 dvchost 欄位對應。
eventId additional.fields.value.string_value 直接從 eventId 欄位對應。
externalId metadata.product_log_id 直接從 externalId 欄位對應。
fname additional.fields.value.string_value 直接從 fname 欄位對應。
msg metadata.description 直接從 msg 欄位對應。
proto network.ip_protocol 直接從 proto 欄位對應。將通訊協定名稱轉譯為對應的常數 (例如將 tcp 轉譯為 TCP)。
rt metadata.event_timestamp.seconds 直接從 rt 欄位對應。
shost about.hostname 直接從 shost 欄位對應。
shost principal.hostname 直接從 shost 欄位對應。
src principal.ip 直接從 src 欄位對應。
src principal.asset.ip 直接從 src 欄位對應。
src target.ip 直接從 src 欄位對應。
sproc principal.process.command_line 直接從 sproc 欄位對應。
spt principal.port 直接從 spt 欄位對應。
spt target.port 直接從 spt 欄位對應。
additional.EventRecordID additional.fields.value.string_value 直接從 ad.EventRecordID 欄位對應。
additional.ThreadID additional.fields.value.string_value 直接從 ad.ThreadID 欄位對應。
additional.Opcode additional.fields.value.string_value 直接從 ad.Opcode 欄位對應。
additional.ProcessID additional.fields.value.string_value 直接從 ad.ProcessID 欄位對應。
additional.TargetDomainName additional.fields.value.string_value 直接從 ad.TargetDomainName 欄位對應。
additional.Version additional.fields.value.string_value 直接從 ad.Version 欄位對應。
deviceExternalId about.asset.hardware.serial_number 直接從 deviceExternalId 欄位對應。
deviceInboundInterface additional.fields.value.string_value 直接從 deviceInboundInterface 欄位對應。
deviceOutboundInterface additional.fields.value.string_value 直接從 deviceOutboundInterface 欄位對應。
PanOSConfigVersion security_result.detection_fields.value 直接從 PanOSConfigVersion 欄位對應。
PanOSContentVersion security_result.detection_fields.value 直接從 PanOSContentVersion 欄位對應。
PanOSDGHierarchyLevel1 security_result.detection_fields.value 直接從 PanOSDGHierarchyLevel1 欄位對應。
PanOSDestinationLocation target.location.country_or_region 直接從 PanOSDestinationLocation 欄位對應。
PanOSRuleUUID metadata.product_log_id 直接從 PanOSRuleUUID 欄位對應。
PanOSThreatCategory security_result.category_details 直接從 PanOSThreatCategory 欄位對應。
PanOSThreatID security_result.threat_id 直接從 PanOSThreatID 欄位對應。
about.asset.asset_id 串連 Palo Alto Networks.、供應商名稱 (LF) 和 deviceExternalId 欄位產生。
extensions.auth.type 如果 event_name 欄位包含 logged on,請設為 AUTHTYPE_UNSPECIFIED。
metadata.description 如果 description 欄位包含 by,後面接著 IP 位址,系統會擷取 IP 位址並對應至 principal.ip 和 principal.asset.ip。
metadata.event_type 根據對各個欄位 (包括 event_name、principal_*、target_* 和 device_event_class_id) 進行的一系列條件檢查來決定。邏輯會根據可用資訊,判斷最合適的事件類型。
metadata.log_type 設為 ARCSIGHT_CEF。
metadata.product_event_type 串連 \[, the device_event_class_id field, \] - 和 name 欄位後產生。
metadata.product_name 如果 product_name 欄位為 LF,請設為 NGFW。
principal.asset.ip 如果 description 欄位包含 by,後面接著 IP 位址,系統會擷取 IP 位址,並對應至 principal.ip 和 principal.asset.ip。
principal.ip 如果 description 欄位包含 by,後面接著 IP 位址,系統會擷取 IP 位址,並對應至 principal.ip 和 principal.asset.ip。
security_result.action 如果 act 欄位為 alert,請設為 ALLOW,否則設為 BLOCK。
security_result.severity 如果 sev 欄位大於或等於 7,則設為 HIGH,否則設為 LOW。
PanOSFileType event.idm.read_only_udm.target.file.mime_type 從變更記錄對應
PanOSEmailSubject event.idm.read_only_udm.network.email.subject 從變更記錄對應
PanOSNSSAINetworkSliceType event.idm.read_only_udm.additional.fields 從變更記錄對應
PanOSURLCounter event.idm.read_only_udm.additional.fields 從變更記錄對應
PanOSReportID event.idm.read_only_udm.additional.fields 從變更記錄對應
PanOSDGHierarchyLevel2 event.idm.read_only_udm.additional.fields 從變更記錄對應
PanOSVirtualSystemName event.idm.read_only_udm.additional.fields 從變更記錄對應
PanOSSigFlags event.idm.read_only_udm.additional.fields 從變更記錄對應
PanOSPartialHash event.idm.read_only_udm.additional.fields 從變更記錄對應
version event.idm.read_only_udm.additional.fields 從變更記錄對應
cn3 network.duration.seconds 從變更記錄對應
PanOSTenantID additional.fields 從變更記錄對應
cn3 additional.fields 從變更記錄對應
PanOSCortexDataLakeTenantID additional.fields 從變更記錄對應
target_user target.user.userid 從變更記錄對應
principal_ip principal.ip 從變更記錄對應
PanOSStage", "PanOSConnectionError", and "PanOSEventDetails additional.fields 從變更記錄對應
outcome security_result.action_details 從變更記錄對應
PanOSDescription metadata.description 從變更記錄對應
PanOSSourceUser principal.user.userid 從變更記錄對應
app target.application 從變更記錄對應
flexString2", "PanOSFileHash", and "filePath additional.fields 從變更記錄對應
threat_name security_result.threat_name 從變更記錄對應
principal_ip1 principal.ip 從變更記錄對應
metadata.event_type NETWORK_CONNECTION 從變更記錄對應
deviceOutboundInterface", "deviceInboundInterface additional.fields 從變更記錄對應
query additional fields 從變更記錄對應

變更記錄

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

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