收集 CyberArk PAM 記錄
支援以下發布途徑:
Google secops
Siem
這個剖析器程式碼會先使用規則運算式,從 CyberArk Privileged Access Manager (PAM) 的 syslog 訊息中擷取欄位。接著,系統會將擷取的欄位對應至統一資料模型 (UDM),藉由額外情境豐富資料,並根據特定條件將事件類型標準化。
事前準備
- 確認您有 Google Security Operations 執行個體。
- 請確認您使用的是 Windows 2016 以上版本,或搭載 systemd 的 Linux 主機。
- 如果在 Proxy 後方執行,請確認防火牆通訊埠已開啟。
取得 Google SecOps 擷取驗證檔案
- 登入 Google SecOps 控制台。
- 依序前往「SIEM 設定」>「收集代理程式」。
- 下載擷取驗證檔案。
取得 Google SecOps 客戶 ID
- 登入 Google SecOps 控制台。
- 依序前往「SIEM 設定」>「設定檔」。
- 複製並儲存「機構詳細資料」部分中的客戶 ID。
安裝 Bindplane 代理程式
- 如要在 Windows 上安裝,請執行下列指令碼:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
- 針對Linux 安裝程序,請執行下列指令碼:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
- 如需其他安裝選項,請參閱這份安裝指南。
設定 Bindplane Agent 擷取 Syslog 並傳送至 Google SecOps
- 存取已安裝 Bindplane Agent 的電腦。
按照下列方式編輯
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
重新啟動 Bindplane 代理程式,套用變更:
sudo systemctl restart bindplane
為 CyberArk Vault 設定 Syslog 匯出功能
- 登入保管箱伺服器。
- 開啟位於
C:\Program Files (x86)\CyberArk\Vault\Server\dbparm.ini
的設定檔dbparm.ini
。 新增或修改下列參數:
SyslogServer=<syslog_server_ip> SyslogPort=<syslog_server_port> SyslogProtocol=<TCP or UDP> SyslogFormat=Syslog
儲存
dbparm.ini
檔案。重新啟動 Vault 伺服器:
net stop CyberArkVault net start CyberArkVault
在 PVWA 中設定 Syslog 匯出功能
- 登入 PVWA Server。
- 開啟位於
C:\inetpub\wwwroot\PasswordVault\
的Web.config
檔案 新增或修改下列鍵:
<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" />
將變更儲存至
Web.config
檔案。重新啟動 IIS 服務:
iisreset
在 PTA 中設定 Syslog 匯出功能
- 使用 SSH 存取 PTA 伺服器。
- 開啟位於
/opt/cta/config/application.properties
的application.properties
檔案 新增或修改下列程式碼行:
syslog.server.ip=<syslog_server_ip> syslog.server.port=<syslog_server_port> syslog.protocol=<TCP or UDP>
儲存
application.properties
檔案。重新啟動 PTA 服務以套用變更:
sudo service pta restart
UDM 對應表
記錄欄位 | UDM 對應 | 邏輯 |
---|---|---|
行為 | 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 | 用於根據 name 、shost 和 dhost 欄位的組合判斷 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:資訊,4:錯誤,5:重大。 |
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」。 |
異動
2024-05-05
- 新建的剖析器。
還有其他問題嗎?向社群成員和 Google SecOps 專家尋求解答。