收集 F5 BIG-IP LTM 日志

解析器版本:24.0

支持的平台:

本文档介绍了如何使用 Bindplane 代理将 F5 BIG-IP LTM 日志注入到 Google Security Operations。

准备工作

请确保满足以下前提条件:

  • Google SecOps 实例
  • 搭载 systemd 的 Windows 2016 或更高版本或 Linux 主机
  • 如果在代理后面运行,请确保防火墙端口已根据 Bindplane 代理要求打开
  • 对 F5 BIG-IP LTM 设备(TMSH 或 Web 界面)的管理员访问权限

获取 Google SecOps 注入身份验证文件

  1. 登录 Google SecOps 控制台。
  2. 依次前往 SIEM 设置 > 收集代理
  3. 下载数据注入身份验证文件
  4. 将文件安全地保存在将安装 Bindplane 代理的系统上。例如 /opt/observiq-otel-collector/ingestion-auth.json

获取 Google SecOps 客户 ID

  1. 登录 Google SecOps 控制台。
  2. 依次前往 SIEM 设置 > 配置文件
  3. 复制并保存组织详细信息部分中的客户 ID

安装 Bindplane 代理

按照以下说明在 Windows 或 Linux 操作系统上安装 Bindplane 代理。

Windows 安装

  1. 以管理员身份打开命令提示符PowerShell
  2. 运行以下命令:

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    

Linux 安装

  1. 打开具有 root 或 sudo 权限的终端。
  2. 运行以下命令:

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    

其他安装资源

如需了解其他安装选项,请参阅 Bindplane 代理安装指南

配置 Bindplane 代理以注入 Syslog 并将其发送到 Google SecOps

  1. 访问配置文件:

    • 找到 config.yaml 文件。在 Linux 上,默认路径为 /opt/observiq-otel-collector/config.yaml。在 Windows 上,它位于安装目录中。
    • 使用文本编辑器(例如 nanovi 或记事本)打开该文件。
  2. 按如下方式修改 config.yaml 文件:

    receivers:
      # UDP syslog listener (RFC 5424 over UDP)
      udplog:
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/chronicle_w_labels:
        compression: gzip
        creds_file_path: "/opt/observiq-otel-collector/ingestion-auth.json"
        customer_id: "<YOUR_CUSTOMER_ID>"
        endpoint: "<YOUR_REGIONAL_ENDPOINT>"
        log_type: "F5_BIGIP_LTM"
        raw_log_field: body
        ingestion_labels:
    
    service:
      pipelines:
        logs/f5ltm:
          receivers: [udplog]
          exporters: [chronicle/chronicle_w_labels]
    
    • <YOUR_CUSTOMER_ID> 替换为第 2 步中的实际客户 ID。
    • <CUSTOMER_REGION_ENDPOINT> 替换为“区域性端点”文档中的相应区域性端点。
    • /opt/observiq-otel-collector/ingestion-auth.json 更新为在第 1 步中保存身份验证文件的路径。

    配置说明

    • listen_address 设置为 0.0.0.0:514,以接受来自任何来源的 syslog。如果需要限制为特定接口,请进行调整。
    • UDP 端口 514 是标准 syslog 端口。如果端口 514 需要 root 权限,您可以使用高于 1024 的端口(例如 5514),并相应地调整 F5 配置。
    • 对于 TCP 而不是 UDP,请创建 tcplog 接收器并将 F5 远程高速日志协议设置为 tcp
  3. 保存文件并退出编辑器。

重启 Bindplane 代理以应用更改

  1. 如需在 Linux 中重启 Bindplane 代理,请运行以下命令:

    sudo systemctl restart observiq-otel-collector
    
  2. 如需在 Windows 中重启 Bindplane 代理,您可以使用服务控制台,也可以输入以下命令:

    net stop observiq-otel-collector && net start observiq-otel-collector
    

配置 F5 BIG-IP LTM syslog 转发

方法 A:使用 TMSH(命令行界面)

第 1 步:为 syslog 目标创建池

  1. 使用 SSH 连接到 F5 BIG-IP LTM 设备。
  2. 运行以下命令:

    tmsh create ltm pool f5_syslog_pool members add { <BINDPLANE_IP>:514 } monitor gateway_icmp
    
    • <BINDPLANE_IP> 替换为 Bindplane 代理主机 IP 地址。

第 2 步:创建日志目标位置

tmsh create sys log-config destination remote-high-speed-log f5_hsl_dest protocol udp pool-name f5_syslog_pool

tmsh create sys log-config destination remote-syslog f5_remote_syslog_dest format rfc5424 remote-high-speed-log f5_hsl_dest

第 3 步:创建日志发布者

tmsh create sys log-config publisher f5_log_publisher destinations add { f5_remote_syslog_dest }

第 4 步:创建请求日志记录配置文件

tmsh create ltm profile request-log f5_ltm_request_log \
  request-log-pool f5_syslog_pool request-log-protocol mds-udp \
  request-log-template 'event_source="request_logging",hostname="$BIGIP_HOSTNAME",client_ip="$CLIENT_IP",server_ip="$SERVER_IP",http_method="$HTTP_METHOD",http_uri="$HTTP_URI",http_host="${host}",virtual_name="$VIRTUAL_NAME",event_timestamp="$DATE_HTTP"' \
  request-logging enabled \
  response-log-pool f5_syslog_pool response-log-protocol mds-udp \
  response-log-template 'event_source="response_logging",hostname="$BIGIP_HOSTNAME",client_ip="$CLIENT_IP",server_ip="$SERVER_IP",http_method="$HTTP_METHOD",http_uri="$HTTP_URI",http_host="${host}",virtual_name="$VIRTUAL_NAME",http_statcode="$HTTP_STATCODE",event_timestamp="$DATE_HTTP"' \
  response-logging enabled

第 5 步:将日志记录配置文件应用于虚拟服务器

tmsh modify ltm virtual <VIRTUAL_SERVER_NAME> profiles add { f5_ltm_request_log }
  • <VIRTUAL_SERVER_NAME> 替换为虚拟服务器的名称。

第 6 步:保存配置

tmsh save sys config

选项 B:使用 F5 Web 界面(配置实用程序)

第 1 步:为 syslog 目标创建池

  1. 登录 F5 BIG-IP LTM 网页界面。
  2. 依次前往本地流量 >> 池列表
  3. 点击创建
  4. 提供以下配置详细信息:
    • 名称:输入 f5_syslog_pool
    • 健康状况监控工具:选择 gateway_icmp
  5. 资源部分的新会员下:
    • 地址:输入 Bindplane 代理 IP 地址。
    • 服务端口:输入 514
  6. 点击 Add(添加)。
  7. 点击 Finished

第 2 步:创建远程高速日志目标位置

  1. 依次前往系统 > 日志 > 配置 > 日志目的地
  2. 点击创建
  3. 提供以下配置详细信息:
    • 名称:输入 f5_hsl_dest
    • 类型:选择远程高速日志
    • 协议:选择 UDP
    • 资金池名称:选择 f5_syslog_pool
  4. 点击 Finished

第 3 步:创建远程 syslog 目标

  1. 依次前往系统 > 日志 > 配置 > 日志目的地
  2. 点击创建
  3. 提供以下配置详细信息:
    • 名称:输入 f5_remote_syslog_dest
    • 类型:选择远程 Syslog
    • Syslog 格式:选择 RFC 5424
    • 远程高速日志:选择 f5_hsl_dest
  4. 点击 Finished

第 4 步:创建日志发布者

  1. 依次前往系统 > 日志 > 配置 > 日志发布者
  2. 点击创建
  3. 提供以下配置详细信息:
    • 名称:输入 f5_log_publisher
    • 目的地:将 f5_remote_syslog_dest可用移动到已选
  4. 点击 Finished

第 5 步:创建请求日志记录配置文件

  1. 依次前往本地流量 > 配置文件 > 其他 > 请求日志记录
  2. 点击创建
  3. 提供以下配置详细信息:
    • 名称:输入 f5_ltm_request_log
    • 父级配置文件:选择 request-log
  4. 请求设置下:

    • 请求日志记录:选择已启用
    • 请求日志协议:选择 mds-udp
    • 请求日志池:选择 f5_syslog_pool
    • 请求日志模板:输入以下内容:

      event_source="request_logging",hostname="$BIGIP_HOSTNAME",client_ip="$CLIENT_IP",server_ip="$SERVER_IP",http_method="$HTTP_METHOD",http_uri="$HTTP_URI",http_host="${host}",virtual_name="$VIRTUAL_NAME",event_timestamp="$DATE_HTTP"
      
  5. 回答设置下:

    • Response Logging(响应日志记录):选择 Enabled(已启用)。
    • 响应日志协议:选择 mds-udp
    • 响应日志池:选择 f5_syslog_pool
    • 响应日志模板:输入以下内容:

      event_source="response_logging",hostname="$BIGIP_HOSTNAME",client_ip="$CLIENT_IP",server_ip="$SERVER_IP",http_method="$HTTP_METHOD",http_uri="$HTTP_URI",http_host="${host}",virtual_name="$VIRTUAL_NAME",http_statcode="$HTTP_STATCODE",event_timestamp="$DATE_HTTP"
      
  6. 点击 Finished

第 6 步:将请求日志记录配置文件应用于虚拟服务器

  1. 依次前往 Local Traffic > Virtual Servers > Virtual Server List
  2. 点击虚拟服务器名称,打开其属性标签页。
  3. 配置列表中,选择高级
  4. 请求日志记录配置文件列表中,选择 f5_ltm_request_log
  5. 点击更新

UDM 映射表

日志字段 UDM 映射 逻辑
blade_field about.resource.attribute.labels 已合并
client_field about.resource.attribute.labels 已合并
device_field about.resource.attribute.labels 已合并
node_field about.resource.attribute.labels 已合并
path_field about.resource.attribute.labels 已合并
pool_member_field about.resource.attribute.labels 已合并
query_field about.resource.attribute.labels 已合并
snat_field about.resource.attribute.labels 已合并
vs_field about.resource.attribute.labels 已合并
vs_name_field about.resource.attribute.labels 已合并
Access_Profile_field additional.fields 已合并
Listener_field additional.fields 已合并
captcha_result_field additional.fields 已合并
errdefs_msgno_field additional.fields 已合并
false_positive_field additional.fields 已合并
http_uri_label additional.fields 已合并
partition_name_field additional.fields 已合并
process additional.fields 已映射:sshdssh_server_version_labelsshdssh_client_version_label
query_string_label additional.fields 已合并
request_status_label additional.fields 已合并
sig_ids_field additional.fields 已合并
sig_names_field additional.fields 已合并
sig_set_names_field additional.fields 已合并
ssh_client_version_label additional.fields 已合并
ssh_server_version_label additional.fields 已合并
staged_sig_ids_field additional.fields 已合并
staged_sig_names_field additional.fields 已合并
staged_sig_set_names_field additional.fields 已合并
staged_threat_campaign_names_field additional.fields 已合并
support_id_label additional.fields 已合并
threat_campaign_names_field additional.fields 已合并
action_data extensions.auth.type 已映射:session openedAUTHTYPE_UNSPECIFIEDsession closedAUTHTYPE_UNSPECIFIED
loglevel extensions.auth.type 已映射:warningVPN
process extensions.auth.type 映射:apmdVPNhttpdAUTHTYPE_UNSPECIFIEDsshdAUTHTYPE_UNSPECIFIED
i_ip intermediary.asset.ip 已合并
dvc intermediary.hostname 直接映射
dvc_ip intermediary.ip 已合并
i_ip intermediary.ip 已合并
i_port intermediary.port 已重命名/已映射
action_data metadata.description 直接映射
desc metadata.description 直接映射
description metadata.description 直接映射
process metadata.description 直接映射
timestamp metadata.event_timestamp 解析为 dd MMM yyyy HH:mm:ss
ts metadata.event_timestamp 解析为 MMM dd HH:mm:ss
event_type metadata.event_type 直接映射
product_event_type metadata.product_event_type 直接映射
producteventtype metadata.product_event_type 直接映射
eventId metadata.product_log_id 直接映射
protocol network.application_protocol 已映射:(?i)sshSSH(?i)HTTPSHTTPS
request network.application_protocol 已映射:(?i)(http)HTTP
http_method network.http.method 直接映射
method network.http.method 直接映射
method_req network.http.method 直接映射
header.User-Agent network.http.parsed_user_agent 已重命名/已映射
header.Referer network.http.referral_url 直接映射
url_string network.http.referral_url 直接映射
resp_code network.http.response_code 已重命名/已映射
response_code network.http.response_code 直接映射
header.User-Agent network.http.user_agent 直接映射
user_agent network.http.user_agent 直接映射
ip_protocol_out network.ip_protocol 直接映射
process network.ip_protocol 映射的值(总共五个,例如 tmmTCPhttpdTCPsshdTCP
byte_code network.received_bytes 直接映射
bytes_in network.received_bytes 直接映射
process network.received_bytes 已映射:loggeruinteger
bytes_out network.sent_bytes 直接映射
Session_ID network.session_id 直接映射
session_id network.session_id 直接映射
cipher network.tls.cipher 直接映射
cipher_name network.tls.cipher 直接映射
ssl_cipher network.tls.cipher 直接映射
sni_host network.tls.client.server_name 直接映射
tls_version network.tls.version 直接映射
ssl_version network.tls.version_protocol 直接映射
tlsproto network.tls.version_protocol 已映射:HTTP/1.1HTTP
principalHost observer.hostname 直接映射
principalIp observer.ip 已合并
process observer.ip 已映射:tmmprincipalIpsshdprincipalIp
label principal.asset.attribute.labels 已合并
process principal.asset.attribute.labels 已映射:tmmlabel
device principal.asset.hostname 直接映射
dvc principal.asset.hostname 直接映射
host principal.asset.hostname 直接映射
principalHost principal.asset.hostname 直接映射
principal_ip principal.asset.hostname 直接映射
unit_host principal.asset.hostname 直接映射
Client_IP principal.asset.ip 已合并
client_ip principal.asset.ip 已合并
ip1 principal.asset.ip 已合并
ip_client principal.asset.ip 已合并
loglevel principal.asset.ip 已映射:warningsrc_ip
manage_ip_addr principal.asset.ip 已合并
p_ip principal.asset.ip 已合并
principalIp principal.asset.ip 已合并
principal_ip principal.asset.ip 已合并
process principal.asset.ip 映射的值(总共 10 个,例如 apmdsrc_iptmmp_iptmmsrc_ip
src_ip principal.asset.ip 已映射:ipx_ip
x_ip principal.asset.ip 已合并
device principal.hostname 直接映射
dvc principal.hostname 直接映射
host principal.hostname 直接映射
principalHost principal.hostname 直接映射
principal_ip principal.hostname 直接映射
unit_host principal.hostname 直接映射
Client_IP principal.ip 已合并
client_ip principal.ip 已合并
ip1 principal.ip 已合并
ip_client principal.ip 已合并
loglevel principal.ip 已映射:warningsrc_ip
manage_ip_addr principal.ip 已合并
p_ip principal.ip 已合并
principalIp principal.ip 已合并
principal_ip principal.ip 已合并
process principal.ip 映射的值(总共 10 个,例如 apmdsrc_iptmmp_iptmmsrc_ip
src_ip principal.ip 已映射:ipx_ip
x_ip principal.ip 已合并
Country principal.location.country_or_region 直接映射
geoCountry principal.location.country_or_region 直接映射
State principal.location.state 直接映射
geoState principal.location.state 直接映射
snat_ip principal.nat_ip 已合并
snat_port principal.nat_port 直接映射
client_port principal.port 直接映射
p_port principal.port 已重命名/已映射
prin_port principal.port 已重命名/已映射
principalPort principal.port 已重命名/已映射
source_parent_process_id principal.process.parent_process.pid 直接映射
source_process_id principal.process.pid 直接映射
bank_label principal.resource.attribute.labels 已合并
dgl_count_label principal.resource.attribute.labels 已合并
dgl_value_label principal.resource.attribute.labels 已合并
error_reason_label principal.resource.attribute.labels 已合并
function_id_label principal.resource.attribute.labels 已合并
information_label principal.resource.attribute.labels 已合并
operation_label principal.resource.attribute.labels 已合并
process principal.resource.attribute.labels 映射的值(总共 11 个,例如 tmmbank_labeltmmservice_labeltmm → `operat...`)
reason_code_label principal.resource.attribute.labels 已合并
request_label principal.resource.attribute.labels 已合并
service_label principal.resource.attribute.labels 已合并
ssl_function_label principal.resource.attribute.labels 已合并
url principal.url 直接映射
process principal.user.attribute.roles 已映射:rest(pam_audit)role
role principal.user.attribute.roles 已合并
userRole principal.user.attribute.roles 已映射:(?i)Administratorrole
header.X-HackerOne principal.user.userid 直接映射
principalId principal.user.userid 直接映射
userId principal.user.userid 直接映射
sr_label security_result.about.resource.attribute.labels 已合并
action security_result.action 已合并
process security_result.action 已映射:httpdsec_action
sec_action security_result.action 已合并
action_details security_result.action_details 直接映射
security_category security_result.category_details 已合并
description security_result.description 直接映射
msg1 security_result.description 直接映射
reason security_result.description 直接映射
detection_policy_name security_result.detection_fields 已合并
event_source_label security_result.detection_fields 已合并
module_label security_result.detection_fields 已合并
req_status_label security_result.detection_fields 已合并
status1_label security_result.detection_fields 已合并
violations_field security_result.detection_fields 已合并
policy security_result.rule_name 直接映射
rule_name security_result.rule_name 直接映射
loglevel security_result.severity 直接映射
severity security_result.severity 映射:(?i)(Info/Informational)INFORMATIONAL(?i)ErrorERROR(?i)Warning →...
auth_status security_result.summary 直接映射
loglevel security_result.summary 已映射:warningAuthentication failure
process security_result.summary 已映射:apmdAuthentication failure
status security_result.summary 直接映射
summary security_result.summary 直接映射
process target.application 直接映射
dvc target.asset.hostname 直接映射
host target.asset.hostname 直接映射
http_host target.asset.hostname 直接映射
Virtual_IP target.asset.ip 已合并
process target.asset.ip 已映射:tmmt_ip
server_ip target.asset.ip 已合并
t_ip target.asset.ip 已合并
targetIp target.asset.ip 直接映射
target_ip target.asset.ip 已合并
vip target.asset.ip 已合并
File target.file.full_path 直接映射
targetFile target.file.full_path 直接映射
dvc target.hostname 直接映射
host target.hostname 直接映射
http_host target.hostname 直接映射
Virtual_IP target.ip 已合并
process target.ip 已映射:tmmt_ip
server_ip target.ip 已合并
t_ip target.ip 已合并
target_ip target.ip 已合并
vip target.ip 已合并
server_port target.port 直接映射
t_port target.port 已重命名/已映射
targetPort target.port 已重命名/已映射
action_data target.process.command_line 直接映射
cmd_data target.process.command_line 直接映射
command_line target.process.command_line 直接映射
pid target.process.pid 直接映射
virtual_name target.resource.name 直接映射
path target.url 直接映射
request_path target.url 直接映射
uri target.url 直接映射
uri_path target.url 直接映射
uri_query target.url 直接映射
process target.user.attribute.roles 已映射:httpdrole
role target.user.attribute.roles 已合并
user target.user.userid 直接映射
user2 target.user.userid 直接映射
userId target.user.userid 直接映射
不适用 extensions.auth.type 常量:VPN
不适用 metadata.product_name 常量:BIG-IP Local Traffic Manager (LTM)
不适用 metadata.vendor_name 常量:F5
不适用 network.application_protocol 常量:HTTP
不适用 network.ip_protocol 常量:TCP
不适用 network.tls.version_protocol 常量:HTTP
不适用 security_result.severity 常量:INFORMATIONAL
不适用 security_result.summary 常量:Authentication failure
syslog_priority event.idm.read_only_udm.security_result.priority_details 从变更日志映射
target_path event.idm.read_only_udm.target.process.file.full_path 从变更日志映射
client_ip event.idm.read_only_udm.principal.ipevent.idm.read_only_udm.principal.asset.ip之间 从变更日志映射
client_port event.idm.read_only_udm.principal.port 从变更日志映射
response_code event.idm.read_only_udm.network.http.response_code 从变更日志映射
backend_ip event.idm.read_only_udm.intermediary.ipevent.idm.read_only_udm.intermediary.asset.ip之间 从变更日志映射
backend_port event.idm.read_only_udm.intermediary.port 从变更日志映射
ssl_data event.idm.read_only_udm.additional.fields 从变更日志映射
event_timestamp event.idm.read_only_udm.metadata.event_timestamp 从变更日志映射
hostname event.idm.read_only_udm.intermediary.hostnameevent.idm.read_only_udm.intermediary.asset.hostname之间 从变更日志映射
ssh_server_version event.idm.read_only_udm.additional.fields 从变更日志映射
ssh_client_version event.idm.read_only_udm.additional.fields 从变更日志映射
prin_port event.idm.read_only_udm.principal.port 从变更日志映射
process event.idm.read_only_udm.target.application 从变更日志映射
eventId event.idm.read_only_udm.metadata.product_log_id 从变更日志映射
p_ip event.idm.read_only_udm.principal.ip 从变更日志映射
p_ip event.idm.read_only_udm.principal.asset.ip 从变更日志映射
p_port event.idm.read_only_udm.principal.port 从变更日志映射
i_ip event.idm.read_only_udm.intermediary.ip 从变更日志映射
i_ip event.idm.read_only_udm.intermediary.asset.ip 从变更日志映射
i_port event.idm.read_only_udm.intermediary.port 从变更日志映射
t_ip event.idm.read_only_udm.target.ip 从变更日志映射
t_ip event.idm.read_only_udm.target.asset.ip 从变更日志映射
t_port event.idm.read_only_udm.target.port 从变更日志映射
src_ip event.idm.read_only_udm.principal.ip 从变更日志映射
src_ip event.idm.read_only_udm.principal.asset.ip 从变更日志映射
desc event.idm.read_only_udm.metadata.description 从变更日志映射
client_ip event.idm.read_only_udm.principal.ip 从变更日志映射
client_ip event.idm.read_only_udm.principal.asset.ip 从变更日志映射
'tls_version' event.idm.read_only_udm.network.tls.version 从变更日志映射
cipher event.idm.read_only_udm.network.tls.cipher 从变更日志映射
request_path event.idm.read_only_udm.target.url 从变更日志映射
user event.idm.read_only_udm.target.user.userid 从变更日志映射
pid event.idm.read_only_udm.target.process.pid 从变更日志映射
cmd_data event.idm.read_only_udm.target.process.command_line 从变更日志映射
module event.idm.read_only_udm.security_result.detection_fields 从变更日志映射
src_ip" and "src_port" from "reason principal.ip 从变更日志映射
bank", "service", "operation", and "information principal.resource.attribute.labels 从变更日志映射
vs_name", "path", "query", "node", "pool_member", "vs", "device", "blade", "client", and "snat about.resource.attribute.labels 从变更日志映射
support_id", "query_string", and "request_status additional.fields 从变更日志映射
dest_ip target_ip 从变更日志映射
dest_port targetPort 从变更日志映射
src_port principalPort 从变更日志映射
ip_client" and "manage_ip_addr principal.ip 从变更日志映射
violations", "policy_name" and "req_status security_result.detection_fields. 从变更日志映射
staged_threat_campaign_names","staged_sig_ids","threat_campaign_names","staged_sig_names","captcha_result","sig_set_names","staged_sig_set_names", "sig_ids", "sig_names","resp_code" and "false_positive additional.fields 从变更日志映射
errdefs_msgno", "partition_name", "Listener", "Access_Profile additional.fields 从变更日志映射

更新日志

查看相应解析器的更改日志

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