收集 Infoblox 記錄
支援以下發布途徑:
Google secops
Siem
本文說明如何使用 Google 安全作業轉送程式收集 Infoblox 記錄。
詳情請參閱「將資料擷取至 Google Security Operations」。
擷取標籤可識別剖析器,將原始記錄資料正規化為結構化 UDM 格式。本文中的資訊適用於使用 INFOBLOX_DNS
攝入標籤的剖析器。
設定 Infoblox
- 登入 Infoblox 網頁版 UI。
- 在 Infoblox 網路使用者介面中,依序選取「System」>「System properties editor」>「Monitoring」。
- 勾選「記錄至外部 syslog 伺服器」核取方塊。
- 在「外部 syslog 伺服器」部分,按一下加號 (+) 圖示,為 Google 安全作業轉送器新增 syslog 伺服器。
- 在「Address」欄位中,輸入 Google Security Operations 轉送伺服器的 IP 位址。
- 在「Transport」清單中,選取「TCP」或「UDP」。
- 在「Port」(通訊埠) 欄位中輸入通訊埠號碼。
- 在「節點 ID」清單中,選取「LAN」,即可在 syslog 標頭中加入 Infoblox IP。
- 從「Available」清單中選取下列項目,並將其移至「Selected」清單:
- DNS 查詢
- DNS 回應
- DHCP 程序
Infoblox 伺服器會使用 syslog 將查詢和回應記錄轉送至 Google 安全作業轉送器。
設定 Google Security Operations 轉送器和 Syslog,以便擷取 Infoblox 記錄
- 依序選取「SIEM 設定」>「轉送器」。
- 按一下「新增轉寄者」。
- 在「轉寄者名稱」欄位中輸入不重複的名稱。
- 依序點選「提交」和「確認」。系統會新增轉送器,並顯示「Add collector configuration」視窗。
- 在「收集器名稱」欄位中,輸入收集器的專屬名稱。
- 選取「Infoblox」做為「記錄類型」。
- 選取「Syslog」做為「收集器類型」。
- 設定下列輸入參數:
- Protocol:指定收集器用來監聽 syslog 資料的連線通訊協定。
- Address:指定收集器所在位置的目標 IP 位址或主機名稱,並接收 syslog 資料。
- Port:指定收集器所在位置的目標通訊埠,並監聽 syslog 資料。
- 點選「提交」。
如要進一步瞭解 Google Security Operations 轉送器,請參閱 Google Security Operations 轉送器說明文件。如要瞭解各轉送器類型的規定,請參閱「依類型分類的轉送器設定」。
如果在建立轉送器時遇到問題,請與 Google 安全作業支援團隊聯絡。
欄位對應參考資料
這個剖析器會以 SYSLOG 或 CEF 格式擷取 Infoblox DNS 記錄,並將其正規化為 UDM。它會使用 grok 模式處理各種記錄格式,並擷取來源或目的地 IP、DNS 查詢詳細資料和安全性資訊等重要欄位,然後對應至適當的 UDM 欄位。
UDM 對應表
記錄欄位 | UDM 對應 | 邏輯 |
---|---|---|
agent.hostname |
principal.hostname |
對於 CEF 格式的記錄,如果存在 agent.hostname ,則會對應至 principal.hostname 。 |
client_ip |
principal.ip |
對於 CEF 格式的記錄,如果存在 client_ip ,則會對應至 principal.ip 。 |
client_port |
principal.port |
對於 CEF 格式的記錄,如果存在 client_port ,則會對應至 principal.port 。 |
data |
answers.data |
從原始記錄檔中 answers 部分的 data 欄位擷取。多個重複項目會對應為個別的 answers 物件。 |
description |
metadata.description |
直接從原始記錄的 description 欄位對應,或使用 grok 模式從 message 和 msg2 等其他欄位擷取。 |
dest_ip1 |
target.ip |
從原始記錄中擷取,並對應至 target.ip 。 |
destinationDnsDomain |
dns_question.name |
對於 CEF 格式的記錄,如果存在 destinationDnsDomain ,則會對應至 dns_question.name 。 |
dns_class |
dns_question.class |
使用 dns_query_class_mapping.include 查詢表進行對應。 |
dns_domain |
dns_question.name |
使用 grok 模式從原始記錄的 message 欄位擷取,並對應至 dns_question.name 。 |
dns_name |
dns_question.name |
使用 grok 模式從 dns_domain 欄位擷取,並對應至 dns_question.name 。 |
dns_records |
answers.data |
對於 CEF 格式的記錄,如果存在 dns_records ,則會對應至 answers.data 。多個重複項目會對應為個別的 answers 物件。 |
dst_ip |
target.ip 或target.hostname |
使用 grok 模式從原始記錄檔的 message 欄位擷取。如果是有效的 IP 位址,就會對應至 target.ip ;否則會對應至 target.hostname 。 |
dst_ip1 |
target.ip 或target.hostname |
使用 grok 模式從原始記錄的 message 或 msg2 欄位擷取。如果是有效的 IP 位址,就會對應至 target.ip ;否則會對應至 target.hostname 。只有與 dst_ip 不同才會對應。 |
evt_type |
metadata.product_event_type |
直接從原始記錄的 evt_type 欄位對應而來,該欄位是使用 grok 模式從 message 欄位擷取。 |
InfobloxB1OPHIPAddress |
principal.ip |
對於 CEF 格式的記錄,如果存在 InfobloxB1OPHIPAddress ,則會對應至 principal.ip 。 |
InfobloxB1Region |
principal.location.country_or_region |
對於 CEF 格式的記錄,如果存在 InfobloxB1Region ,則會對應至 principal.location.country_or_region 。 |
InfobloxDNSQType |
dns_question.type |
對於 CEF 格式的記錄,如果存在 InfobloxDNSQType ,則會對應至 dns_question.type 。 |
intermediary |
intermediary.ip 或intermediary.hostname |
使用 grok 模式從原始記錄檔的 message 欄位擷取。如果是有效的 IP 位址,就會對應至 intermediary.ip ;否則會對應至 intermediary.hostname 。 |
msg2 |
metadata.description 、dns.response_code 、dns_question.name 、target.ip 、target.hostname 、answers.name 、answers.ttl 、answers.data 、answers.class 、answers.type 、security_result.severity |
使用 grok 模式從原始記錄檔的 message 欄位擷取。用於擷取各種欄位,但不會直接對應至 UDM。 |
name1 |
answers.name |
使用 grok 模式從原始記錄的 msg2 欄位擷取,並對應至 answers.name 。 |
name2 |
answers.name |
使用 grok 模式從原始記錄的 msg2 欄位擷取,並對應至 answers.name 。 |
protocol |
network.ip_protocol |
直接從原始記錄的 protocol 欄位對應,如果該欄位符合已知的通訊協定。 |
qclass |
dns_question.class |
用於將 dns_class 對應至 UDM 的中繼欄位。 |
qclass1 |
answers.class |
用於將 dns_class1 對應至 UDM 的中繼欄位。 |
qclass2 |
answers.class |
用於將 dns_class2 對應至 UDM 的中繼欄位。 |
query_type |
dns_question.type |
使用 dns_record_type.include 查詢表進行對應。 |
query_type1 |
answers.type |
使用 dns_record_type.include 查詢表進行對應。 |
query_type2 |
answers.type |
使用 dns_record_type.include 查詢表進行對應。 |
recursion_flag |
network.dns.recursion_desired |
如果 recursion_flag 含有「+」,系統會將其對應至 network.dns.recursion_desired 為 true。 |
record_type |
dns_question.type |
用於將 query_type 對應至 UDM 的中繼欄位。 |
record_type1 |
answers.type |
用於將 query_type1 對應至 UDM 的中繼欄位。 |
record_type2 |
answers.type |
用於將 query_type2 對應至 UDM 的中繼欄位。 |
res_code |
network.dns.response_code |
使用 dns_response_code.include 查詢表進行對應。 |
response_code |
network.dns.response_code |
對於 CEF 格式的記錄,如果存在 response_code ,系統會使用 dns_response_code.include 查詢表將其對應至 network.dns.response_code 。 |
security_action |
security_result.action |
衍生自 status 欄位。如果 status 為「拒絕」,security_action 會設為「BLOCK」;否則,則設為「ALLOW」。 |
severity |
security_result.severity |
針對 CEF 格式記錄,如果 severity 存在且為「資訊性」,則會對應至 security_result.severity ,並標示為「資訊性」。 |
src_host |
principal.hostname |
使用 grok 模式從原始記錄的 description 或 message 欄位擷取,並對應至 principal.hostname 。 |
src_ip |
principal.ip 或principal.hostname |
使用 grok 模式從原始記錄檔的 message 欄位擷取。如果是有效的 IP 位址,就會對應至 principal.ip ;否則會對應至 principal.hostname 。 |
src_port |
principal.port |
使用 grok 模式從原始記錄的 message 欄位擷取,並對應至 principal.port 。 |
ttl1 |
answers.ttl |
使用 grok 模式從原始記錄的 msg2 欄位擷取,並對應至 answers.ttl 。 |
ttl2 |
answers.ttl |
使用 grok 模式從原始記錄的 msg2 欄位擷取,並對應至 answers.ttl 。 |
metadata.event_type |
metadata.event_type |
取自各種欄位和剖析器邏輯。如果未識別出其他事件類型,則預設值為 GENERIC_EVENT 。可能的值包括 NETWORK_DNS 、NETWORK_CONNECTION 和 STATUS_UPDATE 。 |
metadata.log_type |
metadata.log_type |
由剖析器設為「INFOBLOX_DNS」。 |
metadata.product_name |
metadata.product_name |
由剖析器設為「Infoblox DNS」。 |
metadata.vendor_name |
metadata.vendor_name |
由剖析器設為「INFOBLOX」。 |
metadata.product_version |
metadata.product_version |
從 CEF 訊息中擷取。 |
metadata.event_timestamp |
metadata.event_timestamp |
從 timestamp 欄位複製的項目。 |
network.application_protocol |
network.application_protocol |
如果 event_type 不是「GENERIC_EVENT」或「STATUS_UPDATE」,請將其設為「DNS」。 |
異動
2023-10-17
- 新增 Grok 模式,以便處理未剖析的記錄。
2023-06-19
- 編寫 Grok 模式來擷取「主機名稱」、「IP 位址」和「連接埠」,並據此變更「event_type」。
2022-02-09
- 編寫 Grok 來擷取「hostname」,並據此變更「event_type」。
- 將「src_host」對應至「principal.hostname」。
- 已對應適當的「event_type」。
2023-01-19
- 新增 Grok 模式,以支援新的 Syslog。
- 新增下列對應:
- 如果記錄包含任何 IP 通訊協定 (例如 TCP 或 UDP),系統會將值對應至「network.ip_protocol」。
- 如果記錄含有任何中介 IP 位址或主機名稱,系統會將值對應至「intermediary.ip/intermediary.hostname」。
2022-09-09
- 修改並正確對應欄位 'syslog_timestamp' 至 'metadata.event_timestamp'。
2022-08-25
- 將「syslog_timestamp」欄位對應至「metadata.event_timestamp」。
- 針對對應至「principal.mac」的「smac」欄位,新增 grok 和條件檢查。
- 針對對應至「network.dns.questions」的「dns_domain」欄位新增了條件式檢查。
- 針對對應至「network.dns.answers.name」的「name1」欄位新增條件式檢查。
- 針對對應至「network.dns.answers.ttl」的「ttl1」欄位新增條件式檢查。
2022-07-15
- 修正錯誤 - 移除 network.dns.questions.name、network.dns.answers.name 和 network.dns.answers.data 中的最後一個字元,如果該字元為點
2022-06-02
- 錯誤修正:系統無法正確從 syslog 記錄檔擷取 IP,因此修改了 grok 以便正確擷取 IP。
- 增強功能:提供對 CEF 格式記錄的支援。
- 對應下列新欄位:-
- InfobloxB1OPHIPAddress 到 principal.ip
- InfobloxDNSQType 至 dns.questions.type
- destinationDnsDomain 至 dns.questions.name
- InfobloxB1Region 到 principal.location.country_or_region
2022-04-28
- 已從「network.dns.questions.name」欄位中移除多餘的「query:」字詞。
還有其他問題嗎?向社群成員和 Google SecOps 專家尋求解答。