收集 Zscaler ZPA 稽核記錄
本文說明如何設定 Bindplane 代理程式來匯出 Zscaler ZPA 稽核記錄,以及記錄欄位如何對應至 Google SecOps 統合資料模型 (UDM) 欄位。
詳情請參閱「將資料擷取至 Google SecOps 總覽」。
一般部署作業包含 Zscaler ZPA 稽核和 Bindplane 代理程式,後者會設定為將記錄傳送至 Google Security Operations。每個客戶的部署作業可能有所不同,也可能更複雜。
部署作業包含下列元件:
Zscaler ZPA 稽核:收集記錄檔的平台。
Bindplane 代理程式:Bindplane 代理程式會從 Zscaler ZPA 稽核作業擷取記錄,並將記錄傳送至 Google Security Operations。
Google SecOps:保留及分析記錄檔。
擷取標籤會識別剖析器,該剖析器會將原始記錄資料正規化為具結構性的 UDM 格式。本文件中的資訊適用於標示 ZSCALER_ZPA_AUDIT
的剖析器。
事前準備
- 確認您使用的是 Zscaler ZPA Audit 2024 以上版本。
- 確認您可以存取 Zscaler Private Access 控制台。詳情請參閱安全私人存取 (ZPA) 說明。
- 請確保部署架構中的所有系統都已設定為世界標準時間時區。
在 Zscaler Private Access 中設定記錄接收器
如要在 Zscaler Private Access 中設定及管理記錄接收器,請按照下列步驟操作:
新增記錄接收器
- 依序選取「Configuration & Control」>「Private Infrastructure」>「Log Streaming Service」>「Log Receivers」,然後按一下「Add Log Receiver」。
- 在「記錄接收器」分頁中,執行下列操作:
- 在「Name」(名稱) 欄位中,輸入記錄接收器的名稱。
- 在「Description」(說明) 欄位中輸入說明。
- 在「網域或 IP 位址」欄位中,輸入記錄接收器的完整網域名稱 (FQDN) 或 IP 位址。
- 在「TCP Port」(TCP 通訊埠) 欄位中,輸入記錄接收器使用的 TCP 通訊埠編號。
- 在「TLS 加密」中選取加密類型,即可啟用或停用應用程式連接器與記錄接收器之間的流量加密功能。這項設定預設為停用。
- 在「App Connector groups」(應用程式連線群組) 清單中,選擇可將記錄轉送至接收端的應用程式連線群組,然後按一下「Done」(完成)。
- 點選「下一步」。
在「記錄串流」分頁中,執行下列操作:
- 從選單中選取「記錄類型」。
- 從選單中選取「記錄範本」。
複製並貼上「記錄串流內容」,然後新增欄位。確認鍵名與實際欄位名稱相符。
以下是稽核記錄類型的預設 Log Stream Content:
{"ModifiedTime":%j{modifiedTime:iso8601},"CreationTime":%j{creationTime:iso8601},"ModifiedBy":%d{modifiedBy},"RequestID":%j{requestId},"SessionID":%j{sessionId},"AuditOldValue":%j{auditOldValue},"AuditNewValue":%j{auditNewValue},"AuditOperationType":%j{auditOperationType},"ObjectType":%j{objectType},"ObjectName":%j{objectName},"ObjectID":%d{objectId},"CustomerID":%d{customerId},"User":%j{modifiedByUser},"ClientAuditUpdate":%d{clientAuditUpdate}}\n
在「SAML 屬性」中,按一下「選取 IdP」,然後選取要納入政策的 IdP 設定。
在「應用程式區隔」選單中,選取要加入的應用程式區隔,然後按一下「完成」。
在「區隔群組」選單中,選取要加入的區隔群組,然後按一下「完成」。
在「用戶端類型」選單中,選取要納入的用戶端類型,然後按一下「完成」。
在「工作階段狀態」選單中,選取要排除的工作階段狀態代碼,然後按一下「完成」。
點選「下一步」。
在「檢閱」分頁中,檢查記錄接收器設定,然後按一下「儲存」。
注意:ZSCALER_ZPA_AUDIT
Gold 剖析器僅支援 JSON 記錄格式,因此設定記錄串流時,請務必從選單中選取「JSON」做為「記錄範本」。
複製記錄接收器
- 依序選取「Control」>「Private Infrastructure」>「Log Streaming Service」>「Log Receivers」。
- 在表格中找出要修改的記錄接收者,然後按一下「複製」。
- 在「新增記錄接收器」視窗中,視需要修改欄位。如要進一步瞭解各個欄位,請參閱「新增記錄接收端」一節中的程序。
- 按一下 [儲存]。
編輯記錄接收器
- 依序選取「Control」>「Private Infrastructure」>「Log Streaming Service」>「Log Receivers」。
- 在表格中找出要修改的記錄接收器,然後按一下「編輯」。
- 在「編輯記錄接收器」視窗中,視需要修改欄位。如要進一步瞭解各個欄位,請參閱「新增記錄接收端」一節中的程序。
- 按一下 [儲存]。
刪除記錄接收器
- 依序選取「Control」>「Private Infrastructure」>「Log Streaming Service」>「Log Receivers」。
- 在表格中找出要修改的記錄接收者,然後按一下「刪除」。
- 在「確認」視窗中,按一下「刪除」。
使用 Bindplane 代理程式將記錄轉送至 Google SecOps
- 安裝並設定 Linux 虛擬機器。
- 在 Linux 上安裝及設定 Bindplane 代理程式,將記錄轉寄至 Google SecOps。如要進一步瞭解如何安裝及設定 Bindplane 代理程式,請參閱 Bindplane 代理程式安裝及設定操作說明。
如果在建立動態饋給時遇到問題,請與 Google SecOps 支援團隊聯絡。
支援的 Zscaler ZPA 稽核記錄格式
Zscaler ZPA Audit 剖析器支援 JSON 格式的記錄。
支援的 Zscaler ZPA 稽核記錄範例記錄
JSON:
{ "ModifiedTime": "", "CreationTime": "2024-06-29T05:06:34.000Z", "ModifiedBy": 216193796315021769, "RequestID": "ed500dfb-c66d-4ec2-b97e-ec2018c811f4", "SessionID": "v2t27ixe6qs21cffpzy6jx1zv", "AuditOldValue": "", "AuditNewValue": "{\\"loginAttempt\\":\\"2024-06-29 05: 06: 34 UTC\\",\\"remoteIP\\":\\"198.51.100.0\\"}", "AuditOperationType": "Sign In", "ObjectType": "Authentication", "ObjectName": "", "ObjectID": 0, "CustomerID": dummy_customer_id, "User": "abc.xyz.com", "ClientAuditUpdate": 0 }
UDM 對應表
欄位對應參考資料:ZSCALER_ZPA_AUDIT
下表列出 ZSCALER_ZPA_AUDIT
記錄類型的記錄欄位,以及對應的 UDM 欄位。
Log field | UDM mapping | Logic |
---|---|---|
|
metadata.product_name |
The metadata.product_name UDM field is set to ZPA Audit . |
|
metadata.vendor_name |
The metadata.vendor_name UDM field is set to Zscaler . |
CreationTime |
metadata.event_timestamp |
|
RequestID |
metadata.product_log_id |
|
SessionID |
network.session_id |
|
|
metadata.event_type |
If the AuditOperationType log field value is not empty, then if the AuditOperationType log field value is equal to Create , then the metadata.event_type UDM field is set to RESOURCE_CREATION .Else, if the AuditOperationType log field value is equal to Client Session Revoked , then the metadata.event_type UDM field is set to USER_LOGOUT .Else, if the AuditOperationType log field value is equal to Delete , then the metadata.event_type UDM field is set to RESOURCE_DELETION .Else, if the AuditOperationType log field value is equal to Download , then the metadata.event_type UDM field is set to USER_RESOURCE_ACCESS .Else, if the AuditOperationType log field value is equal to Sign In , then the metadata.event_type UDM field is set to USER_LOGIN .Else, if the AuditOperationType log field value is equal to Sign In Failure , then the metadata.event_type UDM field is set to USER_LOGIN .Else, if the AuditOperationType log field value is equal to Sign Out , then the metadata.event_type UDM field is set to USER_LOGOUT .Else, if the AuditOperationType log field value is equal to Update , then the metadata.event_type UDM field is set to USER_RESOURCE_UPDATE_CONTENT . |
|
metadata.product_event_type |
If the AuditOperationType log field value is not empty, then if the AuditOperationType log field value is equal to Create , then the metadata.product_event_type UDM field is set to create .Else, if the AuditOperationType log field value is equal to Client Session Revoked , then the metadata.product_event_type UDM field is set to client session revoked .Else, if the AuditOperationType log field value is equal to Delete , then the metadata.product_event_type UDM field is set to delete .Else, if the AuditOperationType log field value is equal to Download , then the metadata.product_event_type UDM field is set to download .Else, if the AuditOperationType log field value is equal to Sign In , then the metadata.product_event_type UDM field is set to user_login .Else, if the AuditOperationType log field value is equal to Sign In Failure , then the metadata.product_event_type UDM field is set to user_login_fail .Else, if the AuditOperationType log field value is equal to Sign Out , then the metadata.product_event_type UDM field is set to user_logout .Else, if the AuditOperationType log field value is equal to Update , then the metadata.product_event_type UDM field is set to update . |
|
security_result.action |
If the AuditOperationType log field value is not empty, then if the AuditOperationType log field value is equal to Client Session Revoked , then the security_result.action UDM field is set to BLOCK .Else, if the AuditOperationType log field value is equal to Sign In , then the security_result.action UDM field is set to ALLOW .Else, if the AuditOperationType log field value is equal to Sign In Failure , then the security_result.action UDM field is set to FAIL . |
ObjectType |
target.resource.resource_subtype |
|
ObjectID |
target.resource.product_object_id |
|
ObjectName |
target.resource.name |
|
ModifiedTime |
target.resource.attribute.labels[ModifiedTime] |
|
ModifiedBy |
principal.user.userid |
|
User |
principal.user.email_addresses |
|
AuditOldValue |
additional.fields[AuditOldValue] |
Iterate through AuditOldValue object: The AuditOldValue object key is mapped to the additional.fields.key UDM field and AuditOldValue object value is mapped to the additional.fields.value UDM field. |
AuditNewValue |
additional.fields[AuditNewValue] |
Iterate through AuditNewValue object: The AuditNewValue object key is set to the additional.fields.key UDM field and AuditNewValue object value is mapped to the additional.fields.value UDM field. |
CustomerID |
target.user.userid |
|
ClientAuditUpdate |
additional.fields[ClientAuditUpdate] |
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。