收集 F5 VPN 日志
支持的语言:
Google SecOps
SIEM
本文档介绍如何使用 Bindplane 将 F5 VPN 日志注入到 Google Security Operations。解析器从日志中提取与安全性相关的信息。 它使用正则表达式来识别和解析时间戳、IP 地址和主机名等关键字段,然后将这些数据结构化为 Google SecOps 统一数据模型 (UDM) 格式以供分析。
准备工作
请确保满足以下前提条件:
- Google SecOps 实例
- Windows 2016 或更高版本,或者具有
systemd
的 Linux 主机 - 如果在代理后运行,防火墙端口处于开放状态
- 对 F5 BIG-IP APM(Access Policy Manager)的特权访问权限
获取 Google SecOps 注入身份验证文件
- 登录 Google SecOps 控制台。
- 依次前往 SIEM 设置 > 收集代理。
- 下载注入身份验证文件。将该文件安全地保存在将要安装 Bindplane 的系统上。
获取 Google SecOps 客户 ID
- 登录 Google SecOps 控制台。
- 依次前往 SIEM 设置 > 配置文件。
- 复制并保存组织详细信息部分中的客户 ID。
安装 Bindplane 代理
按照以下说明在 Windows 或 Linux 操作系统上安装 Bindplane 代理。
Windows 安装
- 以管理员身份打开命令提示符或 PowerShell。
运行以下命令:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Linux 安装
- 打开具有 root 或 sudo 权限的终端。
运行以下命令:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
其他安装资源
- 如需了解其他安装选项,请参阅此安装指南。
配置 Bindplane 代理以注入 Syslog 并将其发送到 Google SecOps
- 访问配置文件:
- 找到
config.yaml
文件。通常,它位于 Linux 上的/etc/bindplane-agent/
目录中或 Windows 上的安装目录中。 - 使用文本编辑器(例如
nano
、vi
或记事本)打开该文件。
- 找到
按如下方式修改
config.yaml
文件:receivers: udplog: # Replace the port and IP address as required listen_address: "0.0.0.0:514" exporters: chronicle/chronicle_w_labels: compression: gzip # Adjust the path to the credentials file you downloaded in Step 1 creds_file_path: '/path/to/ingestion-authentication-file.json' # Replace with your actual customer ID from Step 2 customer_id: <customer_id> endpoint: malachiteingestion-pa.googleapis.com # Add optional ingestion labels for better organization log_type: 'F5_VPN' raw_log_field: body ingestion_labels: service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - udplog exporters: - chronicle/chronicle_w_labels
- 根据基础架构的需要替换端口和 IP 地址。
- 将
<customer_id>
替换为实际的客户 ID。 - 将
/path/to/ingestion-authentication-file.json
更新为获取 Google SecOps 提取身份验证文件部分中保存身份验证文件的路径。
重启 Bindplane 代理以应用更改
如需在 Linux 中重启 Bindplane 代理,请运行以下命令:
sudo systemctl restart bindplane-agent
如需在 Windows 中重启 Bindplane 代理,您可以使用服务控制台,也可以输入以下命令:
net stop BindPlaneAgent && net start BindPlaneAgent
为 F5 BIG-IP APM v11.x 及更高版本配置 Syslog
- 使用 CLI 或 SSH 登录 F5 BIG-IP APM。
输入以下命令以添加 syslog 服务器:
tmsh syslog remote server {<Name> {host <bindplane-ip> remote-port <bindplane-port>}}
请务必替换以下参数:
<Name>
:输入 F5 BIG-IP APM 源的名称(例如BIGIP_APM
)。<bindplane-ip>
:输入 Bindplane 代理 IP 地址。<bindplane-port>
:输入 Bindplane 代理端口号。
输入以下命令以保存更改:
tmsh save sys config partitions all
UDM 映射表
日志字段 | UDM 映射 | 逻辑 |
---|---|---|
cmd_data | principal.process.command_line | 该值提取自 msg 字段 |
errdefs_msgno | additional.fields.errdefs_msgno.string_value | 该值提取自 msg 字段 |
event_time | metadata.event_timestamp | 系统会解析该值并将其转换为时间戳 |
主机名 | principal.hostname、observer.hostname、principal.asset.hostname、observer.asset.hostname、hostip | 该值从消息字段中提取,用于填充 UDM 中的主机名字段。还用于填充 hostip 字段 |
msg | security_result.description | 该值从消息字段中提取,并用于填充 security_result 对象中的说明字段 |
prin_ip | principal.ip、principal.asset.ip | 该值从消息字段中提取,用于填充 UDM 中的 IP 地址字段 |
additional.fields.Canonical_Info.string_value | 该值派生自日志消息 | |
additional.fields.IDP.string_value | 该值派生自日志消息 | |
additional.fields.Plugin_Support.string_value | 该值派生自日志消息 | |
additional.fields.SMB Stage.string_value | 该值派生自日志消息 | |
additional.fields.SP.string_value | 该值派生自日志消息 | |
additional.fields.Timezone.string_value | 该值派生自日志消息 | |
additional.fields.Tunnel Type.string_value | 该值派生自日志消息 | |
additional.fields.UI_Mode.string_value | 该值派生自日志消息 | |
additional.fields.Version.string_value | 该值派生自日志消息 | |
additional.fields.from_rule_item.string_value | 该值派生自日志消息 | |
additional.fields.policy_result.string_value | 该值派生自日志消息 | |
additional.fields.ppp_id.string_value | 该值派生自日志消息 | |
additional.fields.resource.string_value | 该值派生自日志消息 | |
additional.fields.rule.string_value | 该值派生自日志消息 | |
additional.fields.server_vip_ip.string_value | 该值派生自日志消息 | |
additional.fields.server_vip_name.string_value | 该值派生自日志消息 | |
additional.fields.to_rule_item.string_value | 该值派生自日志消息 | |
additional.fields.tunnel_resource.string_value | 该值派生自日志消息 | |
metadata.description | 该值派生自日志消息 | |
metadata.event_type | 对于某些事件,该值在解析器代码中是硬编码的;对于其他事件,该值是从日志消息中派生出来的 | |
metadata.log_type | 该值设置为批处理类型 | |
metadata.product_event_type | 该值派生自日志消息 | |
metadata.product_name | 该值在解析器代码中是硬编码的 | |
metadata.vendor_name | 该值在解析器代码中是硬编码的 | |
network.application_protocol | 该值派生自日志消息 | |
network.direction | 该值派生自日志消息 | |
network.http.method | 该值派生自日志消息 | |
network.http.parsed_user_agent | 该值派生自 network.http.user_agent 字段 | |
network.http.referral_url | 该值派生自日志消息 | |
network.http.response_code | 该值派生自日志消息 | |
network.http.user_agent | 该值派生自日志消息 | |
network.ip_protocol | 该值派生自日志消息 | |
network.received_bytes | 该值派生自日志消息 | |
network.sent_bytes | 该值派生自日志消息 | |
network.session_id | 该值派生自日志消息 | |
network.tls.cipher | 该值派生自日志消息 | |
network.tls.version | 该值派生自日志消息 | |
observer.asset.hostname | 该值设置为主机名字段 | |
observer.asset.ip | 该值会设为 hostip 字段 | |
observer.hostname | 该值设置为主机名字段 | |
observer.ip | 该值会设为 hostip 字段 | |
principal.application | 该值派生自日志消息 | |
principal.asset.hostname | 该值设置为主机名字段 | |
principal.asset.ip | 如果存在,则将该值设置为 hostip 字段或 prin_ip 字段 | |
principal.asset.product_object_id | 该值派生自日志消息 | |
principal.hostname | 该值设置为主机名字段 | |
principal.ip | 如果存在,则将该值设置为 hostip 字段或 prin_ip 字段 | |
principal.location.country_or_region | 该值派生自日志消息 | |
principal.platform | 该值派生自日志消息 | |
principal.port | 该值派生自日志消息 | |
principal.process.command_line | 该值派生自日志消息 | |
principal.process.pid | 该值派生自日志消息 | |
principal.resource.name | 该值派生自日志消息 | |
principal.resource.type | 对于某些事件,该值在解析器代码中是硬编码的;对于其他事件,该值是从日志消息中派生出来的 | |
principal.user.email_addresses | 该值派生自日志消息 | |
principal.user.userid | 该值派生自日志消息 | |
security_result.action | 该值派生自日志消息 | |
security_result.description | 该值派生自日志消息 | |
security_result.rule_name | 该值派生自日志消息 | |
security_result.severity | 该值派生自日志消息 | |
security_result.severity_details | 该值派生自日志消息 | |
security_result.summary | 该值派生自日志消息 | |
src.ip | 该值派生自日志消息 | |
src.location.country_or_region | 该值派生自日志消息 | |
src.port | 该值派生自日志消息 | |
target.asset.hostname | 该值派生自日志消息 | |
target.asset.ip | 该值派生自日志消息 | |
target.hostname | 该值派生自日志消息 | |
target.ip | 该值派生自日志消息 | |
target.port | 该值派生自日志消息 | |
target.process.command_line | 该值派生自日志消息 | |
target.process.pid | 该值派生自日志消息 | |
target.resource.id | 该值派生自日志消息 | |
target.url | 该值派生自日志消息 | |
target.user.userid | 该值派生自日志消息 |
需要更多帮助?从社区成员和 Google SecOps 专业人士那里获得解答。