收集 CyberArk 記錄

支援的國家/地區:

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

CyberArk Privileged Access Manager (PAM) 是企業級權限存取安全解決方案,可保護、管理及監控地端和雲端環境中的權限帳戶和憑證。這項服務提供憑證保管、工作階段隔離和監控、透過 Privileged Threat Analytics (PTA) 偵測威脅,以及所有特殊活動的全面稽核記錄。

事前準備

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

  • Google SecOps 執行個體
  • Windows Server 2016 以上版本,或搭載 systemd 的 Linux 主機
  • Bindplane 代理程式與 CyberArk Vault 伺服器之間的網路連線
  • 如果透過 Proxy 執行,請確保防火牆通訊埠已根據 Bindplane 代理程式需求開啟
  • CyberArk Vault Server 的管理存取權 (可存取 Server\Conf 安裝資料夾)
  • CyberArk Vault 10.0 以上版本

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

  4. 執行下列指令來驗證安裝:

    sc query observiq-otel-collector
    

    服務狀態應為「RUNNING」

Linux 安裝

  1. 開啟具有根層級或 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 /etc/bindplane-agent/config.yaml
    
  • Windows:

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

編輯設定檔

  1. config.yaml 的所有內容替換為下列設定:

    receivers:
        udplog:
            listen_address: "0.0.0.0:514"
    
    exporters:
        chronicle/cyberark:
            compression: gzip
            creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
            customer_id: 'your-customer-id'
            endpoint: malachiteingestion-pa.googleapis.com
            log_type: CYBERARK
            raw_log_field: body
    
    service:
        pipelines:
            logs/cyberark_to_chronicle:
                receivers:
                    - udplog
                exporters:
                    - chronicle/cyberark
    
  2. 替換下列預留位置:

    • 接收器設定:

      • listen_address:要接聽的 IP 位址和通訊埠:

        • 0.0.0.0:514 在通訊埠 514 上監聽所有介面 (需要 Linux 上的根目錄)
        • 0.0.0.0:1514,在非特權連接埠上接聽 (建議用於 Linux 非根目錄)
      • 接收器類型選項:

        • udplog 適用於 UDP Syslog (CyberArk Vault 的預設值)
        • tcplog (適用於 TCP Syslog)
        • 如果 CyberArk Vault 是以 SyslogServerProtocol=TCP 設定,請使用 tcplog
    • 匯出工具設定:

      • creds_file_path:Google SecOps 擷取驗證檔案的完整路徑:

        • Linux/etc/bindplane-agent/ingestion-auth.json
        • WindowsC:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
      • customer_id:Google SecOps 客戶 ID

      • endpoint:區域端點網址:

        • 美國malachiteingestion-pa.googleapis.com
        • 歐洲europe-malachiteingestion-pa.googleapis.com
        • 亞洲asia-southeast1-malachiteingestion-pa.googleapis.com
        • 如需完整清單,請參閱「區域端點

儲存設定檔

編輯完成後,請儲存檔案:

  • Linux:依序按下 Ctrl+OEnterCtrl+X
  • Windows:依序點選「檔案」>「儲存」

重新啟動 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"
      

設定 CyberArk 系統記錄檔轉送功能

CyberArk Vault 會透過 syslog 以 CEF (通用事件格式) 傳送稽核事件。Vault Server 會使用 XSL 轉換器檔案,將 XML 稽核記錄轉換為 CEF 訊息,然後轉寄給 Bindplane 代理程式。

設定 Vault 伺服器傳送系統記錄檔

  1. 以管理員權限登入 CyberArk Vault Server 主機。
  2. 前往 CyberArk Vault Server 安裝資料夾 (例如 `C:\Program Files (x86)\PrivateArk\Server\Conf`)。
  3. 使用文字編輯器開啟 DBParm.ini 檔案。
  4. DBParm.sample.ini 檔案 (位於相同資料夾中) 複製 [SYSLOG] 區段,然後貼到 DBParm.ini 底部。
  5. [SYSLOG] 區段中設定下列系統記錄參數:

    [SYSLOG]
    SyslogServerIP=<BINDPLANE_AGENT_IP>
    SyslogServerPort=514
    SyslogServerProtocol=UDP
    UseLegacySyslogFormat=No
    SyslogTranslatorFile=Syslog\Arcsight.sample.xsl
    SyslogMessageCodeFilter=0-999
    
  6. 替換下列值:

    • SyslogServerIP:輸入 Bindplane 代理程式主機的 IP 位址 (例如 192.168.1.100)。
    • SyslogServerPort:輸入與 Bindplane 代理程式 listen_address 相符的連接埠 (例如 514)。
    • SyslogServerProtocol:選取通訊協定:

      • UDP (預設) 適用於 UDP Syslog
      • TCP (適用於 TCP Syslog)
    • SyslogTranslatorFile:輸入 CEF 格式的 XSL 轉換器檔案:

      • Syslog\Arcsight.sample.xsl,適用於標準 CEF 輸出內容 (建議)
    • SyslogMessageCodeFilter:輸入要轉送的訊息代碼:

      • 0-999 轉寄所有活動
      • 指定個別代碼或範圍 (例如 1,2,3,5-10,30),篩選特定事件
    • UseLegacySyslogFormat:設為 No,採用 RFC 5424 格式。

  7. 儲存 DBParm.ini 檔案。

  8. 重新啟動 PrivateArk Server 服務:

    1. 開啟 Windows 服務 (services.msc)。
    2. 找到 CyberArk Vault Disaster Recovery 服務並停止 (如果正在執行)。
    3. 找到 PrivateArk Server 服務。
    4. 按一下滑鼠右鍵,然後選取「重新啟動」
    5. 再次啟動 CyberArk Vault Disaster Recovery 服務 (如適用)。

將系統記錄檔轉送至多個目的地

  • 如要將 Vault 系統記錄事件轉送至 Bindplane 代理程式和其他目的地 (例如 PTA),請指定多個以半形逗號分隔的 IP 位址和轉譯器檔案:

    SyslogServerIP=<BINDPLANE_AGENT_IP>,<PTA_SERVER_IP>
    SyslogTranslatorFile=Syslog\Arcsight.sample.xsl,Syslog\PTA.xsl
    

設定 Privileged Threat Analytics (PTA) 系統記錄檔轉送功能 (選用)

如要將 PTA 安全性快訊轉送至 Google SecOps,請設定 PTA SIEM 整合:

  1. 登入 PVWA (密碼保險箱網頁存取) 控制台。
  2. 依序前往「管理」>「設定選項」>「具備權限的威脅分析」
  3. 在「SIEM」SIEM部分,設定下列項目:
    • Syslog 伺服器 IP:輸入 Bindplane 代理程式主機的 IP 位址。
    • Syslog 伺服器連接埠:輸入與 Bindplane 代理程式設定相符的連接埠 (例如 514)。
    • 通訊協定:選取「UDP」或「TCP」,與 Bindplane 代理程式接收器相符。
    • 格式:選取「CEF」
  4. 按一下 [儲存]

可用的 XSL 轉換器檔案

  • CyberArk Server 安裝資料夾中的 Syslog 子資料夾包含範例 XSL 轉換器檔案:

    譯者檔案 格式 說明
    Arcsight.sample.xsl CEF 標準 CEF 格式 (建議用於 Google SecOps)
    SplunkCIM.xsl CIM Splunk 通用資訊模型格式
    PTA.xsl 自訂 轉送至 CyberArk PTA 的格式
    XSIAM.xsl CEF Palo Alto Cortex XSIAM 格式

驗證系統記錄檔轉送功能

  1. 重新啟動 PrivateArk Server 服務後,請在 Vault 中執行測試動作 (例如擷取密碼或登入 PVWA)。
  2. 檢查 Bindplane 代理程式記錄,確認是否有傳入的 Syslog 訊息:
    • Linuxsudo journalctl -u observiq-otel-collector -f
    • Windowstype "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
  3. 確認記錄檔中顯示 CEF 格式的訊息,例如:

    CEF:0|Cyber-Ark|Vault|10.0|22|CPM password retrieved|5|suser=Administrator src=10.0.0.1 fname=Root\operating system-server1-admin
    

UDM 對應表

記錄欄位 UDM 對應 邏輯
RequestId_label additional.fields 以鍵/值組合形式對應
Category_label additional.fields 以鍵/值組合形式對應
ExtraDetails_label additional.fields 以鍵/值組合形式對應
CAPolicy_label additional.fields 以鍵/值組合形式對應
line_number_label additional.fields 以鍵/值組合形式對應
pasvc_action_label additional.fields 以鍵/值組合形式對應
control_socket_label additional.fields 以鍵/值組合形式對應
data_socket_label additional.fields 以鍵/值組合形式對應
timeout_label additional.fields 以鍵/值組合形式對應
vault_name_label additional.fields 以鍵/值組合形式對應
class_name_label additional.fields 以鍵/值組合形式對應
status_label additional.fields 以鍵/值組合形式對應
Publisher_Event additional.fields 以鍵/值組合形式對應
Last_Event additional.fields 以鍵/值組合形式對應
Total_Events additional.fields 以鍵/值組合形式對應
cs1_var additional.fields 以鍵/值組合形式對應
cs3_var additional.fields 以鍵/值組合形式對應
app_var additional.fields 以鍵/值組合形式對應
reason_var additional.fields 以鍵/值組合形式對應
cs5_var additional.fields 以鍵/值組合形式對應
cs4_var additional.fields 以鍵/值組合形式對應
_auth_mechanism extensions.auth.mechanism 直接合併
dvc intermediary.ip 如果值符合 IP 位址模式
EventName metadata.description 如果程序不符合 .exe 模式
act metadata.description 如果 fname 為空白
EventMessage metadata.description 如果 act 為空白
LastEventDate metadata.event_timestamp 使用 ISO8601 或 yyyy-MM-ddTHH:mm:ss 格式轉換
_temp_datetime metadata.event_timestamp 轉換時使用 dd/MM/yyyy HH:mm:ss 格式
日期時間 metadata.event_timestamp 使用 ISO8601 或 MMM d HH:mm:ss 格式轉換
_event_type metadata.event_type 直接重新命名
名稱 metadata.event_type 根據條件設定:如果是「儲存檔案」,則為 FILE_CREATION;如果是「登入」,則為 USER_LOGIN;如果具有主體和目標,則為 NETWORK_CONNECTION;如果具有目標檔案詳細資料,則為 FILE_UNCATEGORIZED;如果具有目標程序詳細資料,則為 PROCESS_UNCATEGORIZED;如果只有主體,則為 STATUS_UPDATE;如果發生應用程式錯誤,且具有主體和目標,則為 NETWORK_UNCATEGORIZED;否則為 GENERIC_EVENT
EventType metadata.product_event_type 直接對應
signature_id、name metadata.product_event_type 由 signature_id 和 name 串連而成
LastEventID metadata.product_log_id 已轉換為字串
tid metadata.product_log_id 直接對應
產品 metadata.product_name 直接重新命名
版本 metadata.product_version 直接重新命名
vendor metadata.vendor_name 直接重新命名
主機 observer.hostname 直接對應
LastEventUserName principal.administrative_domain 使用 grok 模式「網域\使用者」擷取
ApplicationType principal.application 直接對應
shost principal.asset.hostname 如果值不符合 IP 位址模式
shost principal.asset.hostname 如果 dhost 為空值,則會回溯
shost principal.asset.ip 如果值符合 IP 位址模式
src principal.asset.ip 直接對應
ip_address principal.asset.ip 直接對應
shost principal.asset.ip 如果 dhost 為空值,則會回溯
shost principal.ip 如果值符合 IP 位址模式,則合併
src principal.ip 直接合併
ip_address principal.ip 直接合併
位置 principal.location.name 直接對應
LastEventSourceName principal.platform 如果值符合 Windows 模式,請設為 WINDOWS
EventName principal.process.command_line 如果程序符合 EXE 模式
LastEventPackageName principal.resource.name 如果值不是 EventName
ApplicationType principal.user.attribute.roles 如果值等於 AdminTask,請設為 ADMINISTRATOR
LastEventUserName principal.user.user_display_name 使用 grok 模式 domain\user 擷取使用者部分
user_name principal.user.user_display_name 直接對應
SourceUser principal.user.userid 直接對應
suser principal.user.userid 如果事件不是 USER_ 類型
usrName principal.user.userid 直接對應
_action security_result.action 直接合併
名稱 security_result.action 如果值開頭為「Failure」或「Failed」,則設為 BLOCK,否則設為 ALLOW
msg security_result.description 直接對應
msg、reason security_result.description 如果失敗條件成立,則會從 msg 和 reason 串連
_sec_result_description security_result.description 直接對應
PolicyName security_result.rule_name 直接對應
cs2 security_result.rule_name 直接對應
嚴重性 security_result.severity 如果值 <= 5,則設為 LOW;如果值 <= 8,則設為 MEDIUM;否則設為 HIGH
sev security_result.severity 直接對應
sev security_result.severity_details 直接對應
原因 security_result.summary 直接對應
名稱 security_result.summary 直接對應
dhost target.asset.hostname 如果值不符合 IP 位址模式
shost target.asset.hostname 如果 dhost 為空值,則會回溯
dhost target.asset.ip 如果值符合 IP 位址模式
GatewayStation target.asset.ip 直接對應
shost target.asset.ip 如果 dhost 為空值,則會回溯
FileQualifier target.asset_id 加上「ASSET ID:」前置字元並轉換為字串
檔案 target.file.full_path 直接對應
file_path target.file.full_path 直接對應
LastEventSourceName target.file.full_path 如果值開頭為「C:」
fname target.file.full_path 直接對應
雜湊 target.file.sha1 如果類型為 SHA1,則移除「SHA1##」前置字元,並將值改為小寫
GatewayStation target.ip 直接合併
pid target.process.pid 已轉換為字串
安全 target.resource.name 直接對應
user_name target.user.user_display_name 直接對應
TargetUser target.user.userid 直接對應
duser target.user.userid 直接對應
suser target.user.userid 如果事件為 USER_ 類型

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