收集 CyberArk PAM 記錄

支援的國家/地區:

這個剖析器程式碼會先使用規則運算式,從 CyberArk Privileged Access Manager (PAM) 系統記錄訊息中擷取欄位。接著,系統會將擷取的欄位對應至整合式資料模型 (UDM),根據特定條件豐富資料的額外情境資訊,並將事件類型標準化。

事前準備

  • 確認您有 Google Security Operations 執行個體。
  • 確認您使用的是 Windows 2016 以上版本,或是搭載 systemd 的 Linux 主機。
  • 如果透過 Proxy 執行,請確認防火牆通訊埠已開啟。

取得 Google SecOps 擷取驗證檔案

  1. 登入 Google SecOps 控制台。
  2. 依序前往「SIEM 設定」>「收集代理程式」
  3. 下載擷取驗證檔案

取得 Google SecOps 客戶 ID

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

安裝 Bindplane 代理程式

  1. 如要在 Windows 上安裝,請執行下列指令碼:
    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
  2. 如要在 Linux 上安裝,請執行下列指令碼:
    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
  3. 如需其他安裝選項,請參閱這份安裝指南

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

  1. 存取安裝 Bindplane 代理程式的機器。
  2. 按照下列方式編輯 config.yaml 檔案:

    receivers:
        tcplog:
            # Replace the below port <54525> and IP <0.0.0.0> with your specific values
            listen_address: "0.0.0.0:54525" 
    
    exporters:
        chronicle/chronicle_w_labels:
            compression: gzip
            # Adjust the creds location below according the placement of the credentials file you downloaded
            creds: '{ json file for creds }'
            # Replace <customer_id> below with your actual ID that you copied
            customer_id: <customer_id>
            endpoint: malachiteingestion-pa.googleapis.com
            # You can apply ingestion labels below as preferred
            ingestion_labels:
            log_type: SYSLOG
            namespace: Cyberark_PAM
            raw_log_field: body
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - tcplog
                exporters:
                    - chronicle/chronicle_w_labels
    
  3. 重新啟動 Bindplane 代理程式,以套用變更:

    sudo systemctl restart bindplane
    

設定 CyberArk Vault 的系統記錄匯出功能

  1. 登入 Vault 伺服器。
  2. 開啟設定檔 dbparm.ini,該檔案位於 C:\Program Files (x86)\CyberArk\Vault\Server\dbparm.ini
  3. 新增或修改下列參數:

    SyslogServer=<syslog_server_ip>
    SyslogPort=<syslog_server_port>
    SyslogProtocol=<TCP or UDP>
    SyslogFormat=Syslog
    
  4. 儲存 dbparm.ini 檔案。

  5. 重新啟動 Vault 伺服器:

    net stop CyberArkVault
    net start CyberArkVault
    

在 PVWA 中設定 Syslog 匯出功能

  1. 登入 PVWA 伺服器。
  2. 開啟位於 C:\inetpub\wwwroot\PasswordVault\Web.config 檔案。
  3. 新增或修改下列鍵值:

    <add key="SyslogServer" value="<syslog_server_ip>" />
    <add key="SyslogPort" value="<syslog_server_port>" />
    <add key="SyslogProtocol" value="<TCP or UDP>" />
    <add key="SyslogFormat" value="Syslog" />
    
  4. 儲存對 Web.config 檔案所做的變更。

  5. 重新啟動 IIS 服務:

    iisreset
    

在 PTA 中設定 Syslog 匯出功能

  1. 使用 SSH 存取 PTA 伺服器。
  2. 開啟位於 /opt/cta/config/application.propertiesapplication.properties 檔案。
  3. 新增或修改下列程式碼:

    syslog.server.ip=<syslog_server_ip>
    syslog.server.port=<syslog_server_port>
    syslog.protocol=<TCP or UDP>
    
  4. 儲存 application.properties 檔案。

  5. 重新啟動 PTA 服務,以套用變更:

    sudo service pta restart
    

UDM 對應表

記錄欄位 UDM 對應 邏輯
act metadata.description 直接從「act」欄位對應。
cn1 additional.fields.value.string_value 如果 cn1Label 不為空白,則直接從 cn1 欄位對應。
cn1Label additional.fields.key 如果 cn1 不為空白,則直接從 cn1Label 欄位對應。
cn2 additional.fields.value.string_value 如果 cn2Label 不為空白,則直接從 cn2 欄位對應。
cn2Label additional.fields.key 如果 cn2 不為空白,則直接從 cn2Label 欄位對應。
cs1 additional.fields.value.string_value 如果 cs1Label 不為空白,則直接從 cs1 欄位對應。
cs1Label additional.fields.key 如果 cs1 不為空白,則直接從 cs1Label 欄位對應。
cs2 additional.fields.value.string_value 如果 cs2Label 不為空白,則直接從 cs2 欄位對應。
cs2Label additional.fields.key 如果 cs2 不為空白,則直接從 cs2Label 欄位對應。
cs3 additional.fields.value.string_value 如果 cs3Label 不為空白,則直接從 cs3 欄位對應。
cs3Label additional.fields.key 如果 cs3 不為空白,則直接從 cs3Label 欄位對應。
cs4 additional.fields.value.string_value 如果 cs4Label 不為空白,則直接從 cs4 欄位對應。
cs4Label additional.fields.key 如果 cs4 不為空白,則直接從 cs4Label 欄位對應。
cs5 additional.fields.value.string_value 如果 cs5Label 不為空白,則直接從 cs5 欄位對應。
cs5Label additional.fields.key 如果 cs5 不為空白,則直接從 cs5Label 欄位對應。
dhost target.hostname 如果不是 IP 位址,則會從 dhost 欄位對應。如果 dhost 為空白,則會從 shost (IP 或主機名稱) 對應。
dhost target.asset.hostname 如果不是 IP 位址,則會從 dhost 欄位對應。如果 dhost 為空白,則會從 shost (IP 或主機名稱) 對應。
dhost target.ip 如果是 IP 位址,則會從 dhost 欄位對應。
dhost target.asset.ip 如果是 IP 位址,則會從 dhost 欄位對應。
duser target.user.userid 直接從「duser」欄位對應。
dvc intermediary.ip 如果是 IP 位址,則會從 dvc 欄位對應。
externalId metadata.product_log_id 直接從「externalId」欄位對應。
fname target.file.full_path 直接從「fname」欄位對應。
名稱 metadata.event_type 用於根據 nameshostdhost 欄位的組合判斷 event_type。可能的值包括:USER_CHANGE_PASSWORD、FILE_READ、USER_LOGIN、FILE_OPEN、FILE_DELETION。如果找不到相符項目,且 has_principal 為 true,而 has_target 為 false,則 event_type 會設為 STATUS_UPDATE。否則預設為 GENERIC_EVENT。
prin_hostname principal.hostname 直接從「prin_hostname」欄位對應。如果為空白,則會從 shost 對應,前提是 shost 不是 IP 位址。
prin_hostname principal.asset.hostname 直接從「prin_hostname」欄位對應。如果為空白,則會從 shost 對應,前提是 shost 不是 IP 位址。
prin_ip principal.ip 直接從「prin_ip」欄位對應。如果為空白,則會從 shost 對應,前提是 shost 為 IP 位址。
prin_ip principal.asset.ip 直接從「prin_ip」欄位對應。如果為空白,則會從 shost 對應,前提是 shost 為 IP 位址。
產品 metadata.product_name 直接從「product」欄位對應。如果記錄中沒有這個值,預設值為「PAM」。
原因 security_result.description 直接從「reason」欄位對應。
嚴重性 security_result.severity 根據下列邏輯從 severity 欄位對應:1-3:INFORMATIONAL (資訊),4:ERROR (錯誤),5:CRITICAL (重大)。
shost principal.hostname 如果 prin_hostname 為空,且 shost 不是 IP 位址,則會對應至 prin_hostname
shost principal.asset.hostname 如果 prin_hostname 為空,且 shost 不是 IP 位址,則會對應至 prin_hostname
shost principal.ip 如果 prin_ip 為空白,且 shost 是 IP 位址,則會對應至 prin_ip
shost principal.asset.ip 如果 prin_ip 為空白,且 shost 是 IP 位址,則會對應至 prin_ip
shost target.hostname 如果 dhost 為空,且 shost 不是 IP 位址,則會對應至 target.hostname
shost target.asset.hostname 如果 dhost 為空,且 shost 不是 IP 位址,則會對應至 target.hostname
shost target.ip 如果 dhost 為空白,且 shost 是 IP 位址,則會對應至 target.ip
shost target.asset.ip 如果 dhost 為空白,且 shost 是 IP 位址,則會對應至 target.ip
狀態 additional.fields.value.string_value 直接從「status」欄位對應。
suser principal.user.userid 對應「suser」欄位。如果 duser 為空,則視為目標使用者 ID。
時間 metadata.event_timestamp.seconds 轉換為時間戳記格式後,直接從 time 欄位對應。
時間 metadata.event_timestamp.nanos 轉換為時間戳記格式後,直接從 time 欄位對應。
vendor metadata.vendor_name 直接從「vendor」欄位對應。如果記錄中沒有這個值,則預設為「CYBERARK」。
version metadata.product_version 直接從「version」欄位對應。
metadata.log_type 硬式編碼為「CYBERARK_PAM」。
extensions.auth.mechanism 如果 event_type 為「USER_LOGIN」,請設為「USERNAME_PASSWORD」。

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