收集 F5 BIG-IP LTM 日志

支持的语言:

本文档介绍如何使用 Google Security Operations 转发器收集 F5 BIG-IP 本地流量管理器 (LTM) 日志。

如需了解详情,请参阅将数据注入 Google Security Operations

注入标签用于标识将原始日志数据标准化为结构化 UDM 格式的解析器。本文档中的信息适用于具有 F5_BIGIP_LTM 注入标签的解析器。

配置 F5 BIG-IP LTM

  1. 使用根凭据登录 SSH。
  2. 使用以下命令登录流量管理 Shell (tmsh):

    tmsh

  3. 使用以下命令将过滤后的日志消息发送到远程 syslog 服务器:

    modify /sys syslog remote-servers none

  4. 移除 remote-servers 语句,然后添加一个 syslog include 语句,用于定义过滤规则和远程服务器。

  5. 如需定义引用远程服务器的必需 syslog 过滤条件,请使用以下命令:

    edit /sys syslog all-properties

  6. 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 替换为高端口号。

  7. 如需退出文本编辑器,请按 Esc 键,然后输入 wq!

  8. 使用以下命令保存配置:

    save /sys config

配置 Google Security Operations 转发器和 syslog 以注入 F5 BIG-IP LTM 日志

  1. 依次前往 SIEM 设置 > 转发器
  2. 点击添加新转发器
  3. Forwarder Name(转发器名称)字段中,输入转发器的唯一名称。
  4. 点击提交。系统会添加转发器,并显示添加收集器配置窗口。
  5. 收集器名称字段中,输入一个名称。
  6. 选择 F5 BIGIP LTM 作为日志类型
  7. 选择 Syslog 作为收集器类型
  8. 配置以下必需的输入参数:
    • 协议:指定协议。
    • 地址:指定 Google Security Operations 转发器的 IP 地址。
    • 端口:指定端口。
  9. 点击提交

如需详细了解 Google Security Operations 转发器,请参阅 Google Security Operations 转发器文档。 如需了解每种转发器类型的要求,请参阅按类型划分的转发器配置

如果您在创建转发器时遇到问题,请与 Google Security Operations 支持团队联系。

字段映射参考

此解析器可将 F5 BIG-IP 本地流量管理器 (LTM) 日志规范化,并处理键值格式和 syslog 格式。它会提取 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 如果原始日志中存在 snatvs_namepathquerynodepool_membervsclientbladedevice 等字段,并且这些字段已成功解析,则会根据这些字段填充该字段。
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.descriptionevent.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_uridescription
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_CONNECTIONUSER_LOGINUSER_LOGOUTUSER_UNCATEGORIZEDSTATUS_UPDATENETWORK_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 由解析器逻辑根据 severityLevel 字段(如果存在)确定。默认值为 UNKNOWN_SEVERITY。 可以是 INFORMATIONALLOWMEDIUMHIGHCRITICAL
不适用 event.idm.read_only_udm.security_result.summary 对于特定的 apmd 日志,设置为“身份验证失败”。
不适用 event.idm.read_only_udm.extensions.auth.type 对于特定的 apmdsshd 日志,请设置为“VPN”。否则,对于 USER_LOGINUSER_LOGOUT 事件,请设置为 AUTHTYPE_UNSPECIFIED
不适用 event.idm.read_only_udm.network.ip_protocol 如果不存在 proto,则默认为“TCP”。否则,由 proto 字段确定。

需要更多帮助?从社区成员和 Google SecOps 专业人士那里获得解答。