收集 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」部分執行下列操作:
- 在「Server name/IP」欄位中,指定 Google 安全作業轉送器的 IP 位址。
- 在「Facility」清單中選取「LOCAL0」。「設施」清單提供八個設施:
LOCAL0
到LOCAL7
。您可以使用其中一個設定,在 syslog 伺服器上對應設施。 - 在「Type」清單中,選取「UDP」或「TCP」。
- 按一下「新增」。
- 選用:如要為事件、管理員存取權或使用者存取權記錄新增多個 Syslog 伺服器,請重複步驟 2 至 4。
- 按一下 [儲存變更]。
- 如要確保系統預設使用標準記錄格式,請執行下列操作:
- 開啟 Pulse Connect Secure 主控台。
- 在「事件」分頁、「使用者存取權」分頁和「管理員存取權」分頁中,將「篩選器」設為「標準」。
- 如果標準篩選器未定義為預設篩選器,請按一下「設為預設」。
- 按一下 [儲存]。
設定 Pulse Secure VPN 8.3R4 以上版本
- 在 Pulse Connect Secure 主控台中,按一下「事件」分頁、「使用者存取權」分頁或「管理員存取權」分頁,然後將「篩選器」設為「新篩選器」。
- 在「Filter name」(篩選器名稱) 欄位中,輸入篩選器名稱。
在「匯出格式」部分中,選取「自訂」,然後在欄位中輸入下列格式:
[SecureConnect] %date% %time% - %node% - [%sourceip%] %user%(%realm%)[%role%] - %msg%
按一下 [儲存]。
視裝置版本而定,請執行下列任一操作來啟用 syslog 設定:
- 在 Pulse Secure VPN 上啟用 syslog 記錄功能
- 在 Ivanti Connect Secure 上啟用 syslog 記錄功能
在 Pulse Secure VPN 上啟用 Syslog 記錄功能
- 在 Pulse Connect Secure 主控台中,依序選取「System」>「Log/monitoring」>「Settings」。您可以從「事件」分頁、「使用者存取權」分頁或「管理員存取權」分頁選取「設定」。
- 在「Select events to log」部分中,勾選所有核取方塊,但請勿勾選「HTML5 access」、「Admission control messages」和「Unauthenticated requests」核取方塊。
- 在「Syslog server」欄位中,輸入 syslog 伺服器的相關資訊。
- 在「Syslog servers」部分執行下列操作:
- 在「伺服器名稱/IP」欄位中,輸入伺服器名稱或 Google 安全作業轉送器 IP 位址。
- 在「Facility」(設施) 清單中選取「LOCAL0」。
- 在「Filter」清單中,選取先前建立的篩選器。
- 按一下「新增」。
- 選用:如要為事件、管理員存取權或使用者存取權記錄新增多個 Syslog 伺服器,請重複步驟 2 至 4。
- 按一下 [儲存變更]。
在 Ivanti Connect Secure 上啟用 syslog 記錄功能
- 在 Pulse Connect Secure 主控台中,按一下「事件」分頁、「使用者存取權」分頁或「管理員存取權」分頁,然後選取「篩選器」。
- 按一下「新篩選器」分頁標籤。
在「匯出格式」部分中,選取「自訂」,然後在欄位中輸入下列格式:
[SecureConnect] %date% %time% - %node% - [%sourceip%] %user%(%realm%)[%role%] - %msg%
按一下 [儲存]。
依序點選「系統」「記錄/監控」,然後選取「設定」分頁標籤。
在「Maximum log size」欄位中指定記錄檔大小上限,並選取要記錄的事件。
指定伺服器設定,如下所示:
在「Server name/IP」欄位中,指定 syslog 伺服器的完整網域名稱或 Google 安全作業轉送器 IP 位址。
如果您從類型清單中選取「傳輸層安全性」(TLS),伺服器名稱必須與從伺服器取得的憑證中「主體 DN」中的「CN」相符。
在「Facility」清單中,選取 syslog 伺服器設施層級。
在「Type」清單中,選取 syslog 伺服器的連線類型,例如「UDP」、「TCP」或「TLS」。TLS 會使用密碼編譯通訊協定提供安全通訊。
如果您選取「TLS」TLS,請選取要用於驗證 syslog 伺服器的已安裝用戶端憑證。用戶端憑證的定義位於「Configuration」>「Certificates」>「Client auth certificates」視窗。您必須先在裝置上安裝用戶端憑證,才能使用這些憑證。請與憑證授權單位聯絡,取得憑證。
在「Filter」清單中,選取「Custom」。
按一下「新增」。
設定 Google Security Operations 轉送器,以便擷取 Pulse Secure 記錄
- 依序選取「SIEM 設定」>「轉送器」。
- 按一下「新增轉寄者」。
- 在「轉介器名稱」欄位中,輸入轉介器的專屬名稱。
- 依序點選「提交」和「確認」。系統會新增轉送器,並顯示「Add collector configuration」視窗。
- 在「收集器名稱」欄位中,輸入收集器的專屬名稱。
- 選取「Pulse Secure」做為「記錄類型」。
- 選取「Syslog」做為「收集器類型」。
- 設定下列必要輸入參數:
- Protocol:指定收集器用來監聽 syslog 資料的連線通訊協定。
- Address:指定收集器所在位置和收聽 syslog 資料的目標 IP 位址或主機名稱。
- Port:指定收集器所在位置的目標連接埠,並監聽 syslog 資料。
- 點選「提交」。
如要進一步瞭解 Google Security Operations 轉送程式,請參閱「透過 Google Security Operations UI 管理轉送程式設定」。
如果在建立轉送器時遇到問題,請與 Google 安全作業支援團隊聯絡。
欄位對應參考資料
這個剖析器會從 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 欄位衍生而來,其中「錯誤」/「警告」->「高」,「通知」->「中」,「資訊」/「info」->「低」。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 欄位對應,也用於衍生「Severity」鍵的 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) 和 Realm 限制事件中的 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 。在某些特定情況下會對應至 target.user.userid (例如 detect_user_logout_failed 為 false 且 detect_policy_change_failed 為 false 時)。 |
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
是根據「邏輯」欄所述的條件,由剖析器邏輯衍生或設定的值。
異動
2024-05-27
- 已將「observer_hostname」對應至「observer.hostname」。
- 如果「dvc_hostname」是有效的 IP 位址,則會對應至「principal.ip」,否則會對應至「principal.hostname」。
- 將「priority_code」、「Syslog_version」和「info_desc」對應至「about.labels」。
- 將「prod_name」對應至「metadata.product_event_type」。
2024-04-16
- 新增 GROK 模式,用於剖析 SYSLOG 日誌的新模式。
- 將「connection_status」對應至「security_result.detection_fields」。
2024-02-26
- 新增「kv」區塊,用於剖析鍵/值資料。
- 將「username」對應至「target.user.userid」。
- 新增「message_info」的條件式檢查。
- 將「u_prin_ip」對應至「principal.ip」。
- 已將「u_observer_ip」對應至「observer.ip」。
2023-11-07
- 修正錯誤:
- 將「observer_host」的對應項目從「observer.hostname」修改為「additional.fields」。
2023-08-19
- 新增 Grok 模式,用於剖析失敗的記錄。
2023-05-26
- 新增 Grok 模式,以支援新的 syslog 記錄。
2023-01-06
- 修改 grok 以剖析「product_type」,並對應至「metadata.product_event_type」。
2022-10-25
- 新增「message_info」的 grok 模式,用於擷取 session_id。
- 已將「session_id」對應至「network.session_id」。
- 在 detect_policy_change_failed 為 false 時,將 target.ip 變更為 principal.ip。
- 當 detect_policy_change_failed 為 false 時,將 target.mac 變更為 principal.mac。
2022-10-12
- 改善項目:新增下列欄位的對應項目:
- 從「msg」欄位擷取 IP 的值,並對應至「principal.ip」。
- 從「msg」欄位擷取主機名稱的值,並對應至「principal.hostname」。
- 將「user」對應至「target.user.userid」。
- 將「realm」對應至「principal.group.attribute.labels」。
- 將「roles」對應至「principal.user.group_identifiers」。
- 將「metadata.event_type」的值從「GENERIC_EVENT」修改為「USER_UNCATEGORIZED」。
2022-10-03
- 改善功能:剖析含有「sudo」的記錄。
- 新增支援新的鍵/值組合類型記錄格式。
2022-07-01
- 改善功能:針對事件 ID 4624 產生新事件
- 變更 metadata.event_type 表單的值,從「GENERIC_EVENT」改為「STATUS_UPDATE」或「NETWORK_CONNECTION」,其中「principal.ip」或「target.ip」或「principal.hostname」不得為空值。
2022-04-13
- 改善項目:新增對應項目,以便處理 GENERIC_EVENT event_type 中的新欄位:
- user_ip 改為 event.idm.read_only_udm.principal.ip。
- user_group_identifier 到 event.idm.read_only_udm.target.user.group_identifiers。
- 已修改所有 event_type 中的時間戳記,以納入時區。
- 針對 GENERIC 和 NETWORK_CONNECTION 事件類型修改 user_ip 和 target_ip 欄位。
還有其他問題嗎?向社群成員和 Google SecOps 專家尋求解答。