收集 Zscaler ZPA 稽核記錄

支援以下發布途徑:

本文說明如何設定 Bindplane 代理程式,匯出 Zscaler ZPA 稽核記錄,以及如何將記錄欄位對應至 Google SecOps 統一資料模型 (UDM) 欄位。

詳情請參閱「將資料匯入 Google SecOps 總覽」。

一般部署作業包括 Zscaler ZPA Audit 和 Bindplane 代理程式,並設定將記錄傳送至 Google Security Operations。每個客戶的部署作業可能有所不同,且可能更為複雜。

部署作業包含下列元件:

  • Zscaler ZPA Audit:您收集記錄檔的平台。

  • Bindplane 代理程式:Bindplane 代理程式會從 Zscaler ZPA Audit 擷取記錄,並將記錄傳送至 Google Security Operations。

  • Google SecOps:保留並分析記錄檔。

擷取標籤可識別剖析器,將原始記錄資料正規化為具結構性的 UDM 格式。本文中的資訊適用於標示為 ZSCALER_ZPA_AUDIT 的剖析器。

事前準備

  • 請確認您使用的是 Zscaler ZPA Audit 2024 以上版本。
  • 確認您可以存取 Zscaler Private Access 主控台。詳情請參閱安全私人存取 (ZPA) 說明
  • 請確認部署架構中的所有系統都已設定世界標準時間。

在 Zscaler Private Access 中設定 Log Receiver

請按照下列步驟在 Zscaler Private Access 中設定及管理 Log Receiver:

新增記錄接收器

  1. 依序選取「Configuration & Control」>「Private Infrastructure」>「Log Streaming Service」>「Log Receivers」,然後按一下「Add Log Receiver」
  2. 在「Log Receiver」分頁中執行下列操作:
    1. 在「Name」 欄位中輸入記錄接收器的名稱。
    2. 在「Description」欄位輸入說明。
    3. 在「網域或 IP 位址」欄位中,輸入記錄接收器的完整網域名稱 (FQDN) 或 IP 位址。
    4. 在「TCP Port」欄位中,輸入記錄接收器使用的 TCP 通訊埠編號。
    5. 在「TLS 加密」中選取加密類型,即可啟用或停用應用程式連接器與記錄接收器之間的流量加密功能。這項設定預設為停用。
    6. 在「App Connector groups」清單中,選擇可將記錄轉送至接收器的 App Connector 群組,然後按一下「Done」
    7. 點按「Next」
  3. 在「Log Stream」分頁中,執行下列操作:

    1. 從選單中選取「Log Type」
    2. 從選單中選取「記錄範本」
    3. 複製貼上「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
      
    4. 在「SAML 屬性」中,按一下「選取 IdP」,然後選取要納入政策中的 IdP 設定。

    5. 在「應用程式區隔」選單中,選取要納入的應用程式區隔,然後按一下「完成」

    6. 在「區隔群組」選單中,選取要納入的區隔群組,然後按一下「完成」

    7. 在「Client Types」選單中,選取要納入的用戶端類型,然後按一下「Done」

    8. 在「工作階段狀態」選單中,選取要排除的工作階段狀態代碼,然後按一下「完成」

    9. 點按「Next」

  4. 在「查看」分頁中查看記錄接收器設定,然後按一下「儲存」

注意:ZSCALER_ZPA_AUDIT Gold 剖析器僅支援 JSON 記錄格式,因此請務必在設定記錄串流時,從選單中選取「JSON」做為「記錄範本」

複製記錄接收器

  1. 依序選取「Control」>「Private Infrastructure」>「Log Streaming Service」>「Log Receivers」
  2. 在表格中找出要修改的記錄接收器,然後按一下「複製」
  3. 在「Add Log Receiver」視窗中,視需要修改欄位。如要進一步瞭解各個欄位,請參閱「新增記錄接收器」一節中的程序。
  4. 按一下 [儲存]

編輯記錄接收器

  1. 依序選取「Control」>「Private Infrastructure」>「Log Streaming Service」>「Log Receivers」
  2. 在表格中找出要修改的記錄接收器,然後按一下「編輯」
  3. 在「Edit Log Receiver」視窗中,視需要修改欄位。如要進一步瞭解各個欄位,請參閱「新增記錄接收器」一節中的程序。
  4. 按一下 [儲存]

刪除記錄接收器

  1. 依序選取「Control」>「Private Infrastructure」>「Log Streaming Service」>「Log Receivers」
  2. 在表格中找出要修改的記錄接收器,然後按一下「刪除」
  3. 在「確認」視窗中,按一下「刪除」

使用 Bindplane 代理程式將記錄轉送至 Google SecOps

  1. 安裝並設定 Linux 虛擬機器
  2. 在 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 專家尋求解答。