收集 Pulse Secure 記錄
本文說明如何使用 Google Security Operations 轉送器收集 Pulse Secure 記錄。
詳情請參閱「將資料擷取至 Google Security Operations 總覽」。
擷取標籤會識別剖析器,該剖析器會將原始記錄資料正規化為具結構性的 UDM 格式。本文中的資訊適用於具有 PULSE_SECURE_VPN 攝入標籤的剖析器。
設定 Pulse Secure VPN
如要設定 Pulse Secure VPN,請執行下列任一操作:
- 設定 Pulse Secure VPN 8.3R3 版和更早版本
- 設定 Pulse Secure VPN 8.3R4 以上版本
設定 Pulse Secure VPN 8.3R3 版和更早版本
- 登入 Pulse Connect Secure 控制台。
- 在 Pulse Connect Secure 控制台中,依序選取「System」>「Log/monitoring」>「Settings」。 您可以從「活動」分頁、「使用者存取權」分頁或「管理員存取權」分頁中選取「設定」。
- 在「選取要記錄的事件」部分,勾選所有對應事件的核取方塊。
- 在「Syslog servers」(系統記錄伺服器) 部分執行下列操作:
- 在「伺服器名稱/IP」欄位中,指定 Google Security Operations 轉送器 IP 位址。
- 在「Facility」(設施) 清單中,選取「LOCAL0」。「設施」清單提供八個設施:
LOCAL0至LOCAL7。您可以使用其中一項設定,對應系統記錄伺服器上的設施。 - 在「Type」(類型) 清單中,選取「UDP」或「TCP」。
- 按一下「新增」。
- 選用:如要為事件、管理員存取權或使用者存取記錄新增多個系統記錄伺服器,請重複步驟 2 至 4。
- 按一下 [儲存變更]。
- 如要確保系統預設使用標準記錄格式,請執行下列步驟:
- 開啟 Pulse Connect Secure 控制台。
- 在「事件」、「使用者存取權」和「管理員存取權」分頁中,將「篩選器」設為「標準」。
- 如果標準篩選條件未定義為預設篩選條件,請按一下「設為預設」。
- 按一下 [儲存]。
設定 Pulse Secure VPN 8.3R4 以上版本
- 在 Pulse Connect Secure 控制台中,按一下「Events」(事件)、「User access」(使用者存取權) 或「Admin access」(管理員存取權) 分頁,然後將「Filters」(篩選器) 設為「New filter」(新篩選器)。
- 在「篩選器名稱」欄位中,輸入篩選器名稱。
在「匯出格式」部分中,選取「自訂」,並在欄位中輸入下列格式:
[SecureConnect] %date% %time% - %node% - [%sourceip%] %user%(%realm%)[%role%] - %msg%按一下 [儲存]。
根據裝置版本啟用系統記錄設定,方法如下:
- 在 Pulse Secure VPN 上啟用系統記錄 (syslog) 記錄功能
- 在 Ivanti Connect Secure 上啟用系統記錄 (syslog) 記錄功能
在 Pulse Secure VPN 上啟用系統記錄記錄功能
- 在 Pulse connect secure 控制台中,依序選取「System」>「Log/monitoring」>「Settings」。 您可以從「活動」分頁、「使用者存取權」分頁或「管理員存取權」分頁中選取「設定」。
- 在「選取要記錄的事件」部分,選取「HTML5 存取權」、「准入控制訊息」和「未經驗證的要求」核取方塊以外的所有核取方塊。
- 在「Syslog server」(系統記錄伺服器) 欄位中,輸入系統記錄伺服器的相關資訊。
- 在「Syslog servers」(系統記錄伺服器) 部分執行下列操作:
- 在「伺服器名稱/IP」欄位中,輸入伺服器名稱或 Google Security Operations 轉送器 IP 位址。
- 在「Facility」(設施) 清單中,選取「LOCAL0」。
- 在「Filter」(篩選器) 清單中,選取先前建立的篩選器。
- 按一下「新增」。
- 選用:如要為事件、管理員存取權或使用者存取記錄新增多個系統記錄伺服器,請重複步驟 2 至 4。
- 按一下 [儲存變更]。
在 Ivanti Connect Secure 上啟用系統記錄檔記錄功能
- 在「Pulse connect secure」控制台中,按一下「Events」、「User access」或「Admin access」分頁標籤,然後選取「Filters」。
- 按一下「新篩選器」分頁標籤。
在「匯出格式」部分中,選取「自訂」,並在欄位中輸入下列格式:
[SecureConnect] %date% %time% - %node% - [%sourceip%] %user%(%realm%)[%role%] - %msg%按一下 [儲存]。
依序點選「系統」>「記錄/監控」,然後選取「設定」分頁標籤。
在「Maximum log size」(記錄大小上限) 欄位中,指定記錄大小上限,然後選取要記錄的事件。
指定伺服器設定,如下所示:
在「伺服器名稱/IP」欄位中,指定 Syslog 伺服器的完整網域名稱或 Google Security Operations 轉送器 IP 位址。
如果從類型清單中選取傳輸層安全 (TLS),伺服器名稱必須與從伺服器取得的憑證中 subjectDN 的 CN 相符。
在「Facility」(設施) 清單中,選取 Syslog 伺服器設施層級。
在「類型」清單中,選取與系統記錄伺服器的連線類型,例如「UDP」、「TCP」或「TLS」。TLS 會使用密碼編譯通訊協定提供安全通訊。
如果選取「TLS」TLS,請選取已安裝的用戶端憑證,用來驗證 Syslog 伺服器。用戶端憑證是在「Configuration」>「Certificates」>「Client auth certificates」視窗中定義。用戶端憑證必須先安裝在裝置上,才能使用。向憑證授權單位索取憑證。
在「Filter」(篩選器) 清單中,選取「Custom」(自訂)。
按一下「新增」。
設定 Google Security Operations 轉送器,以便擷取 Pulse Secure 記錄
- 依序選取「SIEM 設定」>「轉送器」。
- 按一下「新增轉寄者」。
- 在「轉寄者名稱」欄位中,輸入轉寄者的專屬名稱。
- 依序點選「提交」和「確認」。轉送器新增完成後,系統會顯示「新增收集器設定」視窗。
- 在「Collector name」(收集器名稱) 欄位中,輸入收集器的專屬名稱。
- 選取「Pulse Secure」做為「記錄類型」。
- 選取「Syslog」做為「收集器類型」。
- 設定下列必要輸入參數:
- 通訊協定:指定收集器用來監聽系統記錄資料的連線通訊協定。
- 地址:指定收集器所在位置的目標 IP 位址或主機名稱,並監聽系統記錄資料。
- 連接埠:指定收集器所在並監聽系統記錄檔資料的目標連接埠。
- 按一下「提交」。
如要進一步瞭解 Google Security Operations 轉送器,請參閱「透過 Google Security Operations 使用者介面管理轉送器設定」。
如果在建立轉寄者時遇到問題,請與 Google Security Operations 支援團隊聯絡。
欄位對應參考資料
這個剖析器會從 Pulse Secure VPN 記錄檔中擷取欄位,並處理 Windows 事件記錄和 syslog 格式。這項服務會將各種記錄結構標準化為通用格式,並將事件分類 (例如登入、登出、連線和政策變更),然後加入使用者代理程式、IP 位址和時間戳記等情境資料。
UDM 對應表
| 記錄欄位 | UDM 對應 | 邏輯 |
|---|---|---|
| 動作 | security_result.action_details |
直接從「action」欄位對應。 |
| 調度應用程式資源 | principal.application |
直接從「application」欄位對應。 |
| bytes_read | network.received_bytes |
直接從 bytes_read 欄位對應,並轉換為不帶正負號的整數。 |
| bytes_written | network.sent_bytes |
直接從 bytes_written 欄位對應,並轉換為不帶正負號的整數。 |
| client_host | principal.hostname、principal.asset.hostname |
直接從「client_host」欄位對應。 |
| cmd | principal.process.command_line |
直接從「cmd」欄位對應。 |
| connection_status | security_result.detection_fields.value.string_value |
直接從「connection_status」欄位對應。 |
| data_time | metadata.event_timestamp.seconds |
使用各種時間戳記格式 (MM-dd-yyyy HH:mm:ss Z、RFC 3339、ISO8601、MMM d HH:mm:ss、MMM d HH:mm:ss) 從 data_time 欄位剖析。 |
| devname | principal.hostname、principal.asset.hostname |
直接從「devname」欄位對應。 |
| dstip | target.ip、target.asset.ip |
直接從「dstip」欄位對應。 |
| dstport | target.port |
直接從 dstport 欄位對應,並轉換為整數。 |
| dstcountry | target.location.country_or_region |
如果不是「保留」或空白,則直接從 dstcountry 欄位對應。 |
| 持續時間 | network.session_duration.seconds |
直接從 duration 欄位對應,並轉換為整數。 |
| dvc | intermediary.hostname或intermediary.ip |
如果 dvc 欄位可以轉換為 IP 位址,則會對應至 intermediary.ip。否則會對應至 intermediary.hostname。 |
| dvc_hostname | intermediary.hostname、principal.hostname、principal.asset.hostname 或 intermediary.ip、principal.ip、principal.asset.ip |
如果 dvc_hostname 欄位可以轉換為 IP 位址,則會對應至相關 IP 欄位。否則會對應至各自的主機名稱欄位。 |
| event_type | metadata.product_event_type |
直接從「event_type」欄位對應。 |
| failure_reason | security_result.description |
直接從「failure_reason」欄位對應。如果訊息包含「because host」,失敗原因會加上「host」前置字元。 |
| has_principal | event.idm.read_only_udm.principal (狀態) |
如果填入任何主要欄位,則設為「true」,否則設為「false」。由剖析器邏輯衍生。 |
| has_target | event.idm.read_only_udm.target (狀態) |
如果已填入任何目標欄位,則設為「true」,否則設為「false」。由剖析器邏輯衍生。 |
| has_target_user | event.idm.read_only_udm.target.user.userid (狀態) |
如果已填入 target.user.userid,請設為「true」,否則請設為「false」。由剖析器邏輯衍生。 |
| host_ip | principal.ip、principal.asset.ip |
直接從「host_ip」欄位對應。 |
| host_mac | principal.mac |
直接從 host_mac 欄位對應,並以半形冒號取代連字號。 |
| http_method | network.http.method |
直接從「http_method」欄位對應。 |
| http_response | network.http.response_code |
直接從 http_response 欄位對應,並轉換為整數。 |
| info_desc | about.labels.value |
直接從「info_desc」欄位對應。 |
| ip_new | target.ip、target.asset.ip |
直接從「ip_new」欄位對應。 |
| level | security_result.severity、security_result.severity_details |
security_result.severity是從 level 欄位衍生而來 (「error」/「warning」-> HIGH、「notice」-> MEDIUM、「information」/「info」-> LOW)。level 的原始值也會對應至 security_result.severity_details。 |
| logid | metadata.product_log_id |
直接從「logid」欄位對應。 |
| locip | principal.ip、principal.asset.ip |
直接從「locip」欄位對應。 |
| 訊息 | metadata.description |
用於使用 grok 和 kv 篩選器擷取各種欄位。如果訊息包含「EventID」,系統會將其視為 Windows 事件記錄檔。 |
| message_info | metadata.description |
如果未在更具體的 grok 模式中使用,則直接對應至 metadata.description。 |
| msg | metadata.product_event_type、metadata.description |
如果存在 msg 欄位,系統會擷取產品類型並對應至 metadata.product_event_type,其餘訊息則會對應至 metadata.description。 |
| msg_hostname | principal.hostname、principal.asset.hostname |
直接從「msg_hostname」欄位對應。 |
| msg_ip | principal.ip、principal.asset.ip |
直接從「msg_ip」欄位對應。 |
| msg_user_agent | network.http.user_agent、network.http.parsed_user_agent、metadata.product_version |
使用者代理程式字串會對應至 network.http.user_agent,剖析後的使用者代理程式會對應至 network.http.parsed_user_agent,產品版本 (如有) 則會對應至 metadata.product_version。 |
| network_duration | network.session_duration.seconds |
直接從 network_duration 欄位對應,並轉換為整數。 |
| policyid | security_result.rule_id |
直接從「policyid」欄位對應。 |
| policyname | security_result.rule_name |
直接從「policyname」欄位對應。 |
| policytype | security_result.rule_type |
直接從「policytype」欄位對應。 |
| priority_code | about.labels.value |
直接從 priority_code 欄位對應,也用於衍生「嚴重程度」鍵的 about.labels.value (請參閱邏輯)。 |
| prod_name | metadata.product_name |
直接從「prod_name」欄位對應。 |
| product_type | metadata.product_event_type |
直接從「product_type」欄位對應。 |
| product_version | metadata.product_version |
直接從「product_version」欄位對應。 |
| proto | network.ip_protocol |
轉換為 IP 通訊協定名稱後,會對應至 network.ip_protocol。 |
| pwd | principal.process.file.full_path |
直接從「pwd」欄位對應。 |
| 運作範圍 | principal.group.attribute.labels.value |
直接從「realm」欄位對應。 |
| rcvdbyte | network.received_bytes |
直接從 rcvdbyte 欄位對應,並轉換為不帶正負號的整數。 |
| remip | target.ip |
直接從「remip」欄位對應。 |
| 資源名稱 | target.resource.name |
直接從 resource_name 欄位對應,並移除開頭/結尾的空白字元和連字號。 |
| resource_status | security_result.description |
直接從「resource_status」欄位對應。 |
| resource_user_group | principal.user.group_identifiers |
直接從「resource_user_group」欄位對應。 |
| resource_user_name | principal.user.userid |
直接從「resource_user_name」欄位對應。 |
| 角色 | principal.user.group_identifiers |
直接從「roles」欄位對應。 |
| sentbyte | network.sent_bytes |
直接從 sentbyte 欄位對應,並轉換為不帶正負號的整數。 |
| session_id | network.session_id |
直接從「session_id」欄位對應。 |
| sessionid | network.session_id |
直接從「sessionid」欄位對應。 |
| srcip | principal.ip、principal.asset.ip |
直接從「srcip」欄位對應。 |
| srcport | principal.port |
直接從 srcport 欄位對應,並轉換為整數。 |
| srccountry | principal.location.country_or_region |
如果不是「保留」或空白,則直接從 srccountry 欄位對應。 |
| 子類型 | metadata.product_event_type |
與 type 搭配使用,可形成 metadata.product_event_type。 |
| target_file | target.file.full_path |
直接從「target_file」欄位對應。 |
| target_host | target.hostname、target.asset.hostname |
直接從「target_host」欄位對應。 |
| target_ip | target.ip、target.asset.ip |
直接從「target_ip」欄位對應。 |
| target_port | target.port |
直接從 target_port 欄位對應,並轉換為整數。 |
| target_url | target.url |
直接從「target_url」欄位對應。 |
| 時間 | metadata.event_timestamp.seconds |
使用「yyyy-MM-dd HH:mm:ss」格式從 time 欄位剖析。 |
| 類型 | metadata.product_event_type |
與 subtype 搭配使用,可形成 metadata.product_event_type。 |
| u_event_source_ip | principal.ip、principal.asset.ip 或 target.ip |
如果存在 target_ip 或 target_host,則 u_event_source_ip 會對應至 principal.ip 和 principal.asset.ip。否則,如果 target_ip、target_host 和 target_url 皆為空白,則 u_event_source_ip 會對應至 target.ip。 |
| u_observer_ip | observer.ip |
直接從「u_observer_ip」欄位對應。 |
| u_prin_ip | principal.ip、principal.asset.ip |
直接從「u_prin_ip」欄位對應。 |
| 使用者 | target.user.userid |
直接從「user」欄位對應。 |
| user_agent | network.http.user_agent、network.http.parsed_user_agent |
使用者代理程式字串會對應至 network.http.user_agent,剖析後的使用者代理程式則會對應至 network.http.parsed_user_agent。 |
| user_group_identifier | target.user.group_identifiers或principal.user.group_identifiers |
在大多數情況下,會對應至 target.user.group_identifiers。對應至 IP 變更 (USER_UNCATEGORIZED) 和領域限制事件中的 principal.user.group_identifiers。 |
| user_ip | principal.ip、principal.asset.ip |
直接從「user_ip」欄位對應。如果為空白,且 u_event_source_ip 不為空白,則會採用 u_event_source_ip 的值。 |
| 使用者名稱 | principal.user.userid或target.user.userid |
在大多數情況下,會對應至 principal.user.userid。在某些特定情況下 (例如 detect_user_logout_failed 為 false 且 detect_policy_change_failed 為 false 時),會對應至 target.user.userid。 |
| username_removed | target.user.userid |
直接從「username_removed」欄位對應。 |
| vd | principal.administrative_domain |
直接從「vd」欄位對應。 |
metadata.vendor_name、metadata.product_name、metadata.event_type、metadata.log_type、network.ip_protocol、security_result.action、security_result.severity 和 extensions.auth.type 是由剖析器邏輯根據「邏輯」欄中說明的條件衍生或設定。
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。