收集 AMD Pensando DSS 防火墙日志
解析器版本:1.0
本文档介绍了如何使用 Bindplane 将 AMD Pensando DSS 防火墙日志注入到 Google Security Operations。
AMD Pensando 分布式服务交换机 (DSS) 防火墙是一种硬件加速的有状态防火墙,可在 Aruba CX 10000 系列交换机内的 AMD Pensando DPU 上运行。它以线速提供微细分和东西向流量检查。防火墙通过 AMD Pensando Policy and Services Manager (PSM) 进行管理,该管理器提供集中式政策配置、监控和 syslog 导出功能。
准备工作
请确保满足以下前提条件:
- Google SecOps 实例。
- Windows Server 2016 或更高版本,或者具有
systemd的 Linux 主机。 - 如果在代理后面运行,请确保防火墙端口已根据 Bindplane 代理要求打开。
- 对 AMD Pensando Policy and Services Manager (PSM) 或 Aruba CX 10000 交换机管理界面的特权访问权限。
- Bindplane 代理主机与 Aruba CX 10000 交换机或 PSM 之间的网络连接。
获取 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 代理安装指南。
配置 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: 'AMD_DSS_FIREWALL' 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更新为保存身份验证文件的文件路径。
重启 Bindplane 代理以应用更改
如需在 Linux 中重启 Bindplane 代理,请执行以下操作:
运行以下命令:
sudo systemctl restart observiq-otel-collector验证服务是否正在运行:
sudo systemctl status observiq-otel-collector检查日志是否存在错误:
sudo journalctl -u observiq-otel-collector -f
如需在 Windows 中重启 Bindplane 代理,请执行以下操作:
请从下列选项中选择一项:
- 以管理员身份运行命令提示符或 PowerShell:
net stop observiq-otel-collector && net start observiq-otel-collector- 服务控制台:
- 按
Win+R,输入services.msc,然后按 Enter 键。 - 找到 observIQ OpenTelemetry 收集器。
- 右键点击并选择重新启动。
- 按
验证服务是否正在运行:
sc query observiq-otel-collector检查日志是否存在错误:
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
在 AMD Pensando DSS 防火墙上配置 Syslog 转发
AMD Pensando DSS 防火墙支持两种配置 syslog 转发的方法:通过 Pensando Policy and Services Manager (PSM) 网页界面或通过 Aruba CX 10000 交换机上的 AOS-CX CLI。
通过 Pensando PSM 配置 syslog 导出
- 登录 AMD Pensando Policy and Services Manager (PSM) 网页界面。
- 依次前往监控 >“提醒和事件”。
- 选择目的地标签页。
- 点击添加目的地。
- 提供以下配置详细信息:
- 目标类型:选择 Syslog。
- 服务器地址:输入 Bindplane 代理主机(例如
192.168.1.100)的 IP 地址。 - 端口:输入在 Bindplane 代理
config.yaml中配置的端口(例如514)。 - 协议:选择 UDP 以与 Bindplane 代理接收器配置相匹配。
- 格式:选择 BSD (RFC 5424)。
- 点击保存以创建 syslog 目标。
- 选择提醒政策标签页。
- 点击添加提醒政策,以定义要转发哪些事件和提醒。
- 选择所需的事件类别和严重程度。
- 在目标部分中,选择您创建的 syslog 目标。
点击保存以启用提醒政策。
在 Aruba CX 10000 上通过 AOS-CX CLI 配置 syslog
- 通过 SSH 或控制台连接到 Aruba CX 10000 交换机。
进入配置模式:
configure terminal使用 UDP 配置远程 syslog 服务器(将
<BINDPLANE_IP>替换为您的 Bindplane 代理 IP 地址):logging <BINDPLANE_IP> udp 514 severity info或者,对于 TCP:
logging <BINDPLANE_IP> tcp 1470 severity info或者,对于 TLS:
logging <BINDPLANE_IP> tls 6514 severity info设置 syslog facility:
logging facility local0保存配置:
write memory退出配置模式:
exit
如需详细了解 AOS-CX 日志记录命令,请参阅 AOS-CX CLI 参考文档。
UDM 映射表
| 日志字段 | UDM 映射 | 逻辑 |
|---|---|---|
action |
read_only_udm.metadata.product_event_type |
直接映射。 |
action |
read_only_udm.security_result.action |
如果操作为“拒绝”,则设置为“BLOCK”。如果操作为“允许”,则设置为“ALLOW”。 |
column10 |
read_only_udm.network.session_id |
直接映射。 |
column11 |
read_only_udm.additional.fields.value.string_value |
直接映射。键硬编码为“security_policy_id”。 |
column12 |
read_only_udm.security_result.rule_id |
直接映射。 |
column13 |
read_only_udm.security_result.rule_name |
直接映射。 |
column14 |
read_only_udm.network.sent_packets |
直接映射。 |
column15 |
read_only_udm.network.sent_bytes |
直接映射。 |
column16 |
read_only_udm.network.received_packets |
直接映射。 |
column17 |
read_only_udm.network.received_bytes |
直接映射。 |
column18 |
read_only_udm.additional.fields.value.string_value |
直接映射。键被硬编码为“vlan”。 |
column19 |
read_only_udm.principal.asset.software.vendor_name |
直接映射。 |
column19 |
read_only_udm.principal.asset.software.name |
直接映射。 |
column2 |
read_only_udm.metadata.product_event_type |
直接映射。 |
column20 |
read_only_udm.principal.asset.software.version |
直接映射。 |
column21 |
read_only_udm.principal.asset_id |
将“asset_id:”与列 21 的值串联起来。 |
column22 |
read_only_udm.principal.asset.attribute.labels.value |
直接映射。键硬编码为“device_name”。 |
column23 |
read_only_udm.principal.asset.attribute.labels.value |
直接映射。键硬编码为“unit_id”。 |
column24 |
read_only_udm.metadata.product_version |
直接映射。 |
column25 |
read_only_udm.additional.fields.value.string_value |
直接映射。键硬编码为“policy_name”。 |
column25 |
read_only_udm.security_result.rule_type |
直接映射。 |
column4 |
read_only_udm.principal.resource.product_object_id |
直接映射。 |
column5 |
read_only_udm.principal.ip |
直接映射。 |
column6 |
read_only_udm.principal.port |
直接映射。 |
column7 |
read_only_udm.target.ip |
直接映射。 |
column8 |
read_only_udm.target.port |
直接映射。 |
column9 |
read_only_udm.network.ip_protocol |
将数字协议号映射到其对应的名称(例如,6 映射到 TCP,17 映射到 UDP)。 |
dip |
read_only_udm.target.ip |
直接映射。 |
dport |
read_only_udm.target.port |
直接映射。 |
dvc |
read_only_udm.intermediary.hostname |
如果 dvc 不是 IP 地址,则映射到主机名。否则,映射到 IP。 |
iflowbytes |
read_only_udm.network.sent_bytes |
直接映射。 |
iflowpkts |
read_only_udm.network.sent_packets |
直接映射。 |
msg_id |
read_only_udm.additional.fields.value.string_value |
直接映射。键被硬编码为“msg_id”。 |
policy_name |
read_only_udm.additional.fields.value.string_value |
直接映射。键硬编码为“policy_name”。 |
policy_name |
read_only_udm.security_result.rule_type |
直接映射。 |
proc_id |
read_only_udm.target.process.pid |
直接映射。 |
proc_name |
read_only_udm.target.application |
直接映射。 |
protocol_number_src |
read_only_udm.network.ip_protocol |
将数字协议号映射到其对应的名称(例如,6 映射到 TCP,17 映射到 UDP)。 |
rflowbytes |
read_only_udm.network.received_bytes |
直接映射。 |
rflowpkts |
read_only_udm.network.received_packets |
直接映射。 |
rule_id |
read_only_udm.security_result.rule_id |
直接映射。 |
rule_name |
read_only_udm.security_result.rule_name |
直接映射。 |
sd |
read_only_udm.additional.fields.value.string_value |
直接映射。键硬编码为“sd”。 |
security_policy_id |
read_only_udm.additional.fields.value.string_value |
直接映射。键硬编码为“security_policy_id”。 |
session_id |
read_only_udm.network.session_id |
直接映射。 |
session_state |
read_only_udm.metadata.product_event_type |
直接映射。 |
sip |
read_only_udm.principal.ip |
直接映射。 |
software_version |
read_only_udm.principal.asset.software.version |
直接映射。 |
sport |
read_only_udm.principal.port |
直接映射。 |
ts |
read_only_udm.metadata.event_timestamp |
系统会解析日志中的时间戳,并将其格式设置为 UDM 时间戳格式。 |
vlan |
read_only_udm.additional.fields.value.string_value |
直接映射。键被硬编码为“vlan”。 |
read_only_udm.metadata.event_type |
如果同时存在 sip 和 dip,则设置为“NETWORK_UNCATEGORIZED”。如果仅存在 sip,则设置为“STATUS_UPDATE”。否则,设置为“GENERIC_EVENT”。 | |
read_only_udm.metadata.log_type |
硬编码为“AMD_DSS_FIREWALL”。 | |
read_only_udm.metadata.product_name |
硬编码为“AMD_DSS_FIREWALL”。 | |
read_only_udm.metadata.vendor_name |
硬编码为“AMD_DSS_FIREWALL”。 | |
read_only_udm.principal.resource.resource_type |
硬编码为“VPC_NETWORK”。 |