收集 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 專業人員尋求答案。