收集 F5 BIG-IP LTM 記錄
本文說明如何使用 Google Security Operations 轉送器,收集 F5 BIG-IP Local Traffic Manager (LTM) 記錄。
詳情請參閱「將資料擷取至 Google Security Operations」。
擷取標籤會識別剖析器,該剖析器會將原始記錄資料正規化為具結構性的 UDM 格式。本文件中的資訊適用於具有 F5_BIGIP_LTM
攝入標籤的剖析器。
設定 F5 BIG-IP LTM
- 使用根憑證登入 SSH。
使用下列指令登入流量管理 Shell (tmsh):
tmsh
使用下列指令,將經過篩選的記錄訊息傳送至遠端系統記錄檔伺服器:
modify /sys syslog remote-servers none
移除 remote-servers 陳述式,然後新增系統記錄檔
include
陳述式,定義篩選規則和遠端伺服器。如要定義參照遠端伺服器的必要系統記錄篩選器,請使用下列指令:
edit /sys syslog all-properties
將
include none
指令替換為下列篩選器,並新增 IP 位址和通訊埠號碼。include " filter f_remote_loghost { level(debug..emerg); }; filter f_ssl_acc { not match(\"ssl_acc\"); }; filter f_ssl_req { not match(\"ssl_req\"); }; destination d_remote_loghost { udp(IP_ADDRESS PORT); }; log { source(s_syslog_pipe); filter(f_remote_loghost); filter(f_ssl_acc); filter(f_ssl_req); destination(d_remote_loghost); }; "
將 IP_ADDRESS 替換為 Google Security Operations 轉送器 IP 位址,並將 port 替換為高連接埠號碼。
如要退出文字編輯器,請按 Esc,然後輸入 wq!。
使用下列指令儲存設定:
save /sys config
設定 Google Security Operations 轉送器和系統記錄,以便擷取 F5 BIG-IP LTM 記錄
- 依序前往「SIEM 設定」>「轉送器」。
- 按一下「新增轉寄者」。
- 在「轉送器名稱」欄位中,輸入轉送器的專屬名稱。
- 按一下「提交」。轉送器新增完成後,系統會顯示「新增收集器設定」視窗。
- 在「收集器名稱」欄位中輸入名稱。
- 選取「F5 BIGIP LTM」做為「記錄類型」。
- 選取「Syslog」做為「收集器類型」。
- 設定下列必要輸入參數:
- 「通訊協定」:指定通訊協定。
- 地址:指定 Google Security Operations 轉送程式的 IP 位址。
- 「Port」(通訊埠):指定通訊埠。
- 按一下「提交」。
如要進一步瞭解 Google Security Operations 轉送器,請參閱 Google Security Operations 轉送器說明文件。 如要瞭解各轉送器類型的相關規定,請參閱「依類型設定轉送器」。
如果在建立轉寄者時遇到問題,請與 Google Security Operations 支援團隊聯絡。
欄位對應參考資料
這個剖析器會將 F5 BIG-IP Local Traffic Manager (LTM) 記錄檔正規化,並處理鍵/值和系統記錄格式。這項服務會擷取 IP 位址、使用者名稱、動作和說明等欄位,將這些欄位對應至 UDM,並根據記錄內容和擷取的欄位將事件分類,包括網路連線、使用者登入/登出和一般事件。
UDM 對應表
記錄欄位 | UDM 對應 | 邏輯 |
---|---|---|
Access_Profile |
event.idm.read_only_udm.additional.fields[].key:"Access_Profile", event.idm.read_only_udm.additional.fields[].value.string_value |
直接從已剖析的鍵/值組合中的 Access_Profile 鍵對應。 |
Client_IP |
event.idm.read_only_udm.principal.ip[], event.idm.read_only_udm.principal.asset.ip[] |
直接從已剖析的鍵/值組合中的 Client_IP 鍵對應。也可用於填入主要資產 IP。將 has_principal 設為 true。 |
Country |
event.idm.read_only_udm.principal.location.country_or_region |
直接從已剖析的鍵/值組合中的 Country 鍵對應。 |
Listener |
event.idm.read_only_udm.additional.fields[].key:"Listener", event.idm.read_only_udm.additional.fields[].value.string_value |
直接從已剖析的鍵/值組合中的 Listener 鍵對應。 |
Session_ID |
event.idm.read_only_udm.network.session_id |
直接從已剖析的鍵/值組合中的 Session_ID 鍵對應。 |
State |
event.idm.read_only_udm.principal.location.state |
直接從已剖析的鍵/值組合中的 State 鍵對應。 |
Virtual_IP |
event.idm.read_only_udm.target.ip[], event.idm.read_only_udm.target.asset.ip[] |
直接從已剖析的鍵/值組合中的 Virtual_IP 鍵對應。也可用於填入目標資產 IP。將 has_target 設為 true。 |
about |
event.idm.read_only_udm.about |
如果原始記錄中存在 snat 、vs_name 、path 、query 、node 、pool_member 、vs 、client 、blade 和 device 等欄位,且已成功剖析,系統就會填入這些欄位。 |
action_data |
event.idm.read_only_udm.target.process.command_line |
直接對應 scriptd 程序記錄。 |
attack_type |
event.idm.read_only_udm.security_result.category_details[] |
直接對應。 |
blade |
event.idm.read_only_udm.about.resource.attribute.labels[].key:"blade", event.idm.read_only_udm.about.resource.attribute.labels[].value |
直接從已剖析的鍵/值組合中的 blade 鍵對應。 |
bytes_in |
event.idm.read_only_udm.network.received_bytes |
直接對應,轉換為不帶正負號的整數。 |
bytes_out |
event.idm.read_only_udm.network.sent_bytes |
直接對應,轉換為不帶正負號的整數。 |
captcha_result |
event.idm.read_only_udm.additional.fields[].key:"captcha_result", event.idm.read_only_udm.additional.fields[].value.string_value |
直接對應。 |
client |
event.idm.read_only_udm.about.resource.attribute.labels[].key:"client", event.idm.read_only_udm.about.resource.attribute.labels[].value |
直接從已剖析的鍵/值組合中的 client 鍵對應。 |
client_ip |
event.idm.read_only_udm.principal.ip[], event.idm.read_only_udm.principal.asset.ip[] |
直接對應。也可用於填入主要資產 IP。將 has_principal 設為 true。 |
client_port |
event.idm.read_only_udm.principal.port |
直接對應,並轉換為整數。 |
collection_time |
event.timestamp |
記錄項目的時間戳記會做為事件時間戳記。 |
command_line |
event.idm.read_only_udm.target.process.command_line |
直接對應CROND 程序記錄和部分logger 記錄。 |
data |
message |
原始記錄訊息。系統會剖析這項資料,並用來填入各種 UDM 欄位。 |
dgl_count |
event.idm.read_only_udm.principal.resource.attribute.labels[].key:"DataGroup_Value", event.idm.read_only_udm.principal.resource.attribute.labels[].value |
直接對應。 |
dgl_value |
event.idm.read_only_udm.principal.resource.attribute.labels[].key:"DataGroup_List", event.idm.read_only_udm.principal.resource.attribute.labels[].value |
直接對應。 |
description |
event.idm.read_only_udm.metadata.description 、event.idm.read_only_udm.security_result.description |
直接對應部分記錄類型,或用於安全結果說明。 |
device |
event.idm.read_only_udm.principal.hostname, event.idm.read_only_udm.principal.asset.hostname, event.idm.read_only_udm.about.resource.attribute.labels[].key:"device", event.idm.read_only_udm.about.resource.attribute.labels[].value |
直接對應。也用於填入主要資產主機名稱。將 has_principal 設為 true。 |
dest_ip |
event.idm.read_only_udm.target.ip, event.idm.read_only_udm.target.asset.ip |
直接對應。也可用於填入目標資產 IP。將 has_principal 設為 true。 |
dest_port |
event.idm.read_only_udm.target.port |
直接對應。 |
dvc |
event.idm.read_only_udm.principal.hostname, event.idm.read_only_udm.principal.asset.hostname, event.idm.read_only_udm.intermediary.hostname |
系統會剖析這項資訊,擷取主機名稱或 IP。用於填入主機名稱或中繼主機名稱。 |
errdefs_msgno |
event.idm.read_only_udm.additional.fields[].key:"errdefs_msgno", event.idm.read_only_udm.additional.fields[].value.string_value |
直接從已剖析的鍵/值組合中的 errdefs_msgno 鍵對應。 |
error_reason |
event.idm.read_only_udm.principal.resource.attribute.labels[].key:"error_reason", event.idm.read_only_udm.principal.resource.attribute.labels[].value |
直接對應。 |
false_positive |
event.idm.read_only_udm.additional.fields[].key:"false_positive", event.idm.read_only_udm.additional.fields[].value.string_value |
直接對應。 |
function_id |
event.idm.read_only_udm.principal.resource.attribute.labels[].key:"function_id", event.idm.read_only_udm.principal.resource.attribute.labels[].value |
直接對應。 |
geoContinent |
event.idm.read_only_udm.principal.location.continent |
提供的範例中未對應,但如果有的話,會對應至洲。 |
geoCountry |
event.idm.read_only_udm.principal.location.country_or_region |
直接對應。 |
geoState |
event.idm.read_only_udm.principal.location.state |
直接對應。 |
header.Referer |
event.idm.read_only_udm.network.http.referral_url |
直接對應。 |
header.User-Agent |
event.idm.read_only_udm.network.http.user_agent, event.idm.read_only_udm.network.http.parsed_user_agent |
直接對應。也會轉換為已剖析的使用者代理程式。 |
header.X-Forwarded-For |
event.idm.read_only_udm.principal.ip[], event.idm.read_only_udm.principal.asset.ip[] |
剖析以擷取 IP,並將其合併至主要 IP 和主要資產 IP。 |
host |
event.idm.read_only_udm.target.hostname, event.idm.read_only_udm.target.asset.hostname |
直接對應。也用於填入目標資產主機名稱。將 has_target 設為 true。 |
http_host |
event.idm.read_only_udm.target.hostname, event.idm.read_only_udm.target.asset.hostname |
直接對應。也用於填入目標資產主機名稱。將 has_target 設為 true。 |
http_method |
event.idm.read_only_udm.network.http.method |
直接對應。如有 event_type ,則會將其設為 NETWORK_HTTP 。 |
ip_client |
event.idm.read_only_udm.principal.ip[], event.idm.read_only_udm.principal.asset.ip[] |
直接對應。也可用於填入主要資產 IP。將 has_principal 設為 true。 |
kv_msg |
各種欄位 | 系統會將這些參數剖析為鍵/值組合,並用於填入各種 UDM 欄位。 |
Level |
event.idm.read_only_udm.security_result.severity |
如果沒有 severity 欄位,則會對應至嚴重程度。轉換為 UDM 嚴重程度值 (例如 「Info」->「INFORMATIONAL」)。 |
Listener |
event.idm.read_only_udm.additional.fields[].key:"Listener", event.idm.read_only_udm.additional.fields[].value.string_value |
直接對應。 |
log_message |
event.idm.read_only_udm.principal.resource.attribute.labels[].value, event.idm.read_only_udm.security_result.description |
進一步剖析以擷取 request_uri 或 description 。 |
log_type |
event.idm.read_only_udm.metadata.log_type |
直接從原始記錄的 log_type 欄位對應。 |
loglevel |
event.idm.read_only_udm.security_result.severity |
對應嚴重程度。轉換為 UDM 嚴重程度值 (例如 "warning" -> "MEDIUM", "err" -> "HIGH")。 也用於快訊/重大事件邏輯。 |
manage_ip_addr |
event.idm.read_only_udm.principal.ip[], event.idm.read_only_udm.principal.asset.ip[] |
直接對應。也可用於填入主要資產 IP。將 has_principal 設為 true。 |
method |
event.idm.read_only_udm.network.http.method |
直接對應。將 event_type 設為 NETWORK_HTTP 。 |
method_req |
event.idm.read_only_udm.network.http.method |
直接對應。 |
msg1 |
event.idm.read_only_udm.security_result.description |
如果未進一步剖析,則會做為安全性結果說明。 |
node |
event.idm.read_only_udm.about.resource.attribute.labels[].key:"node", event.idm.read_only_udm.about.resource.attribute.labels[].value |
直接從已剖析的鍵/值組合中的 node 鍵對應。 |
partition_name |
event.idm.read_only_udm.additional.fields[].key:"partition_name", event.idm.read_only_udm.additional.fields[].value.string_value |
直接對應。 |
path |
event.idm.read_only_udm.target.url, event.idm.read_only_udm.about.resource.attribute.labels[].key:"path", event.idm.read_only_udm.about.resource.attribute.labels[].value |
直接對應。 |
policy_name |
event.idm.read_only_udm.security_result.detection_fields[].key:"policy_name", event.idm.read_only_udm.security_result.detection_fields[].value |
直接對應。 |
pool_member |
event.idm.read_only_udm.about.resource.attribute.labels[].key:"pool_member", event.idm.read_only_udm.about.resource.attribute.labels[].value |
直接從已剖析的鍵/值組合中的 pool_member 鍵對應。 |
principalHost |
event.idm.read_only_udm.principal.hostname, event.idm.read_only_udm.principal.asset.hostname |
直接對應。也用於填入主要資產主機名稱。將 has_principal 設為 true。 |
principalIp |
event.idm.read_only_udm.principal.ip[], event.idm.read_only_udm.principal.asset.ip[], event.idm.read_only_udm.observer.ip |
直接對應。也用於填入主體資產 IP 和觀察者 IP。將 has_principal 設為 true。 |
principalPort |
event.idm.read_only_udm.principal.port |
直接對應,並轉換為整數。 |
process |
event.idm.read_only_udm.target.application |
直接對應。 |
product_event_type |
event.idm.read_only_udm.metadata.product_event_type |
直接對應。 |
proto |
event.idm.read_only_udm.network.ip_protocol |
使用查閱表將通訊協定號碼轉換為通訊協定名稱後,對應至 IP 通訊協定。 |
query |
event.idm.read_only_udm.about.resource.attribute.labels[].key:"query", event.idm.read_only_udm.about.resource.attribute.labels[].value |
直接從已剖析的鍵/值組合中的 query 鍵對應。 |
query_string |
event.idm.read_only_udm.additional.fields[].key:"query_string", event.idm.read_only_udm.additional.fields[].value.string_value |
直接對應。 |
reason |
event.idm.read_only_udm.security_result.description |
直接對應 apmd 程序記錄,並提供警告或錯誤記錄層級。 |
reason_code |
event.idm.read_only_udm.principal.resource.attribute.labels[].key:"reason_code", event.idm.read_only_udm.principal.resource.attribute.labels[].value |
直接對應。 |
req_status |
event.idm.read_only_udm.security_result.detection_fields[].key:"req_status", event.idm.read_only_udm.security_result.detection_fields[].value |
直接對應。 |
request |
event.idm.read_only_udm.principal.resource.attribute.labels[].key:"request_type", event.idm.read_only_udm.principal.resource.attribute.labels[].value, event.idm.read_only_udm.network.application_protocol |
用於判斷應用程式通訊協定 (HTTP),並對應為標籤。 |
request_status |
event.idm.read_only_udm.additional.fields[].key:"request_status", event.idm.read_only_udm.additional.fields[].value.string_value |
直接對應。 |
request_uri |
event.idm.read_only_udm.target.url |
直接對應。 |
resp_code |
event.idm.read_only_udm.network.http.response_code |
直接對應,並轉換為整數。 |
response_code |
event.idm.read_only_udm.network.http.response_code |
直接對應,並轉換為整數。 |
rule_name |
event.idm.read_only_udm.security_result.rule_name |
直接對應。 |
sec_action |
event.idm.read_only_udm.security_result.action[] |
已對應至動作。「繼續」會轉換為「允許」。其他值會轉換為「BLOCK」。 |
security_result |
event.idm.read_only_udm.security_result |
已併入 security_result 物件。 |
session_id |
event.idm.read_only_udm.network.session_id |
直接對應。 |
severity |
event.idm.read_only_udm.security_result.severity |
對應嚴重程度。轉換為 UDM 嚴重程度值 (例如 「Error」->「ERROR」、「Informational」->「INFORMATIONAL」)。 |
sig_ids |
event.idm.read_only_udm.additional.fields[].key:"sig_ids", event.idm.read_only_udm.additional.fields[].value.string_value |
直接對應。 |
sig_names |
event.idm.read_only_udm.additional.fields[].key:"sig_names", event.idm.read_only_udm.additional.fields[].value.string_value |
直接對應。 |
sni_host |
event.idm.read_only_udm.network.tls.client.server_name |
直接對應。 |
snat |
event.idm.read_only_udm.about.resource.attribute.labels[].key:"snat", event.idm.read_only_udm.about.resource.attribute.labels[].value |
直接從已剖析的鍵/值組合中的 snat 鍵對應。 |
snat_ip |
event.idm.read_only_udm.principal.nat_ip[] |
直接對應。 |
snat_port |
event.idm.read_only_udm.principal.nat_port |
直接對應,並轉換為整數。 |
src_ip |
event.idm.read_only_udm.principal.ip[], event.idm.read_only_udm.principal.asset.ip[] |
直接對應。也可用於填入主要資產 IP。 |
src_port |
event.idm.read_only_udm.principal.port |
直接對應。 |
ssl_cipher |
event.idm.read_only_udm.network.tls.cipher |
直接對應。 |
ssl_function |
event.idm.read_only_udm.principal.resource.attribute.labels[].key:"ssl_function", event.idm.read_only_udm.principal.resource.attribute.labels[].value |
直接對應。 |
ssl_version |
event.idm.read_only_udm.network.tls.version_protocol |
直接對應。 |
staged_sig_ids |
event.idm.read_only_udm.additional.fields[].key:"staged_sig_ids", event.idm.read_only_udm.additional.fields[].value.string_value |
直接對應。 |
staged_sig_names |
event.idm.read_only_udm.additional.fields[].key:"staged_sig_names", event.idm.read_only_udm.additional.fields[].value.string_value |
直接對應。 |
staged_sig_set_names |
event.idm.read_only_udm.additional.fields[].key:"staged_sig_set_names", event.idm.read_only_udm.additional.fields[].value.string_value |
直接對應。 |
staged_threat_campaign_names |
event.idm.read_only_udm.additional.fields[].key:"staged_threat_campaign_names", event.idm.read_only_udm.additional.fields[].value.string_value |
直接對應。 |
status |
event.idm.read_only_udm.security_result.summary |
直接對應 scriptd 程序記錄。 |
summary |
event.idm.read_only_udm.security_result.summary |
部分記錄類型會直接對應。 |
support_id |
event.idm.read_only_udm.additional.fields[].key:"Support_Id", event.idm.read_only_udm.additional.fields[].value.string_value |
直接對應。 |
systems |
event.idm.read_only_udm.principal.asset.attribute.labels[].key, event.idm.read_only_udm.principal.asset.attribute.labels[].value |
經過剖析,可擷取系統資訊並對應為主要資產的標籤。 |
targetFile |
event.idm.read_only_udm.target.file.full_path |
直接對應 scriptd 程序記錄。 |
targetIp |
event.idm.read_only_udm.target.ip, event.idm.read_only_udm.target.asset.ip |
直接對應。也可用於填入目標資產 IP。將 has_target 設為 true。 |
targetPort |
event.idm.read_only_udm.target.port |
直接對應,並轉換為整數。 |
threat_campaign_names |
event.idm.read_only_udm.additional.fields[].key:"threat_campaign_names", event.idm.read_only_udm.additional.fields[].value.string_value |
直接對應。 |
timestamp |
event.timestamp |
剖析及重新設定基底後直接對應。 |
tls_version |
event.idm.read_only_udm.network.tls.version |
直接對應。 |
tlsproto |
event.idm.read_only_udm.network.tls.version_protocol |
直接對應。如果值為 HTTP/1.1,則會對應至「HTTP」。 |
unit_host |
event.idm.read_only_udm.principal.hostname, event.idm.read_only_udm.principal.asset.hostname |
直接對應。也用於填入主要資產主機名稱。將 has_principal 設為 true。 |
uri |
event.idm.read_only_udm.target.url |
直接對應。 |
uri_path |
event.idm.read_only_udm.target.url |
直接對應,並與 uri_query 串連 (如有)。 |
url |
event.idm.read_only_udm.principal.url |
直接對應。 |
url_string |
event.idm.read_only_udm.network.http.referral_url |
直接對應。 |
user_agent |
event.idm.read_only_udm.network.http.user_agent |
直接對應。 |
userId |
event.idm.read_only_udm.principal.user.userid, event.idm.read_only_udm.target.user.userid |
直接對應。也用於填入目標使用者 ID。將 has_principal_user 設為 true。 |
vendor_name |
event.idm.read_only_udm.metadata.vendor_name |
硬式編碼為「F5」。 |
violations |
event.idm.read_only_udm.security_result.detection_fields[].key:"violations", event.idm.read_only_udm.security_result.detection_fields[].value |
直接對應。 |
vs |
event.idm.read_only_udm.about.resource.attribute.labels[].key:"vs", event.idm.read_only_udm.about.resource.attribute.labels[].value |
直接從已剖析的鍵/值組合中的 vs 鍵對應。 |
vs_name |
event.idm.read_only_udm.about.resource.attribute.labels[].key:"vs_name", event.idm.read_only_udm.about.resource.attribute.labels[].value |
直接從已剖析的鍵/值組合中的 vs_name 鍵對應。 |
不適用 | event.idm.read_only_udm.metadata.event_type |
系統會根據特定欄位是否存在,透過剖析器邏輯判斷。預設值為 GENERIC_EVENT 。可以是 NETWORK_CONNECTION 、USER_LOGIN 、USER_LOGOUT 、USER_UNCATEGORIZED 、STATUS_UPDATE 或 NETWORK_HTTP 。 |
不適用 | event.idm.read_only_udm.metadata.product_name |
硬式編碼為「BIG-IP Local Traffic Manager (LTM)」。 |
不適用 | event.idm.read_only_udm.metadata.vendor_name |
硬式編碼為「F5」。 |
不適用 | event.idm.read_only_udm.metadata.event_timestamp |
從頂層 event.timestamp 複製。 |
不適用 | event.idm.read_only_udm.security_result.severity |
如果存在 severity 或 Level 欄位,系統會根據剖析器邏輯判斷。預設值為 UNKNOWN_SEVERITY 。可以是 INFORMATIONAL 、LOW 、MEDIUM 、HIGH 或 CRITICAL 。 |
不適用 | event.idm.read_only_udm.security_result.summary |
針對特定 apmd 記錄設為「驗證失敗」。 |
不適用 | event.idm.read_only_udm.extensions.auth.type |
針對特定 apmd 和 sshd 記錄,請設為「VPN」。否則,請將 AUTHTYPE_UNSPECIFIED 設為 USER_LOGIN 和 USER_LOGOUT 事件。 |
不適用 | event.idm.read_only_udm.network.ip_protocol |
如果沒有 proto ,預設值為「TCP」。否則,由 proto 欄位決定。 |
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。