收集 Cisco Firepower NGFW 日志
支持的语言:
Google SecOps
SIEM
本文档介绍了如何使用 Bindplane 将 Cisco Firepower 新一代防火墙 (NGFW) 日志注入到 Google Security Operations。解析器会从各种格式(syslog、JSON 及其组合)的日志中提取数据,对时间戳进行归一化处理,并将相关字段映射到统一数据模型 (UDM)。它可处理日志中的常规 syslog 消息和 JSON 格式的载荷,利用 grok 模式和条件逻辑提取事件 ID、严重程度和客户端 IP 等字段,然后根据 HTTP 主机名和 URI 使用标签丰富数据。
准备工作
请确保满足以下前提条件:
- Google SecOps 实例
- Windows 2016 或更高版本,或者具有
systemd
的 Linux 主机 - 如果通过代理运行,请确保防火墙端口处于开放状态
- 对 Cisco Firepower 设备的特权访问权限
获取 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: 'CISCO_FIREPOWER_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
更新为获取 Google SecOps 提取身份验证文件部分中保存身份验证文件的路径。
重启 Bindplane 代理以应用更改
如需在 Linux 中重启 Bindplane 代理,请运行以下命令:
sudo systemctl restart bindplane-agent
如需在 Windows 中重启 Bindplane 代理,您可以使用服务控制台,也可以输入以下命令:
net stop BindPlaneAgent && net start BindPlaneAgent
在 Cisco FirePower 设备上配置 Syslog
- 登录 Firepower 设备管理器网页界面。
- 依次前往系统设置 > 日志记录设置。
- 将数据日志记录切换开关切换为启用。
- 点击 Syslog 服务器下的 + 图标。
- 点击 Create new Syslog Server。(或者,您也可以在对象 > Syslog 服务器中创建 Syslog 服务器)。
- 提供以下配置详细信息:
- IP 地址:输入 Bindplane 代理 IP 地址。
- 协议类型:选择 UDP。
- 端口号:输入 Bindplane 代理端口号。
- 选择数据接口或管理接口。
- 点击确定。
- 从列表中选择新创建的 Syslog 服务器,然后点击确定。
- 点击用于过滤所有事件的严重程度,然后从列表中选择信息日志记录级别。
- 点击保存。
- 依次点击“部署新设置”图标 >“立即部署”。
- 点击屏幕顶部的政策。
- 将光标悬停在 ACP 规则的右侧,然后依次点击 修改图标 修改。
- 前往记录标签页。
- 选择在连接结束时。
- 打开选择 Syslog 提醒配置列表。
- 选择 Bindplane Syslog 服务器。
- 点击确定。
- 依次点击“部署新设置”图标 >“立即部署”。
UDM 映射表
日志字段 | UDM 映射 | 逻辑 |
---|---|---|
AccessControlRuleAction |
security_result.action |
直接从原始日志映射。值已标准化为 UDM(允许/禁止)。 |
AccessControlRuleName |
security_result.rule_name |
直接从原始日志映射。 |
ACPolicy |
security_result.rule_labels.value |
直接从原始日志映射。键设置为“ACPolicy”。 |
ApplicationProtocol |
network.application_protocol |
直接从原始日志映射。 |
Client |
network.http.user_agent |
直接从原始日志映射。 |
ClientVersion |
principal.asset.platform_version |
直接从原始日志映射。 |
collection_time.nanos |
metadata.event_timestamp.nanos |
直接从原始日志映射。 |
collection_time.seconds |
metadata.event_timestamp.seconds |
直接从原始日志映射。 |
ConnectionDuration |
network.session_duration.seconds |
直接从原始日志映射,必要时转换为秒(例如,从时长格式转换)。 |
data |
metadata.description |
与 eventId 结合使用,可生成更具描述性的说明。还用于使用 Grok 和正则表达式提取其他字段。 |
deviceId |
metadata.product_log_id |
在重命名为 device_uuid 后直接从原始日志映射。 |
device_uuid |
metadata.product_log_id |
直接从原始日志映射。 |
DstIP |
target.asset.ip ,target.ip |
直接从原始日志映射。 |
DstPort |
target.port |
直接从原始日志映射。 |
EgressInterface |
principal.asset.attribute.labels.value |
直接从原始日志映射。键设置为“EgressInterface”。 |
EgressZone |
target.location.name |
直接从原始日志映射。 |
eventId |
metadata.product_event_type |
直接从原始日志映射。还用于条件逻辑和过滤。 |
FileAction |
security_result.summary |
直接从原始日志映射。 |
FileDirection |
metadata.description |
直接从原始日志映射并附加到说明中。 |
FileName |
target.file.full_path |
直接从原始日志映射。 |
FilePolicy |
security_result.rule_name |
直接从原始日志映射。 |
FileSize |
target.file.size |
直接从原始日志映射。 |
FileSHA256 |
target.file.sha256 |
直接从原始日志映射。 |
FileSandboxStatus |
security_result.description |
直接从原始日志映射。 |
HTTPReferer |
network.http.referral_url |
直接从原始日志映射。 |
HTTPResponse |
network.http.response_code |
直接从原始日志映射。 |
HTTP_Hostname |
target.resource.attribute.labels.value |
直接从原始日志映射。键设置为“HTTP_Hostname”。 |
HTTP_URI |
target.resource.attribute.labels.value |
直接从原始日志映射。键设置为“HTTP_URI”。 |
IngressInterface |
principal.asset.attribute.labels.value |
直接从原始日志映射。密钥设置为“IngressInterface”。 |
IngressZone |
principal.location.name |
直接从原始日志映射。 |
InitiatorBytes |
network.received_bytes |
直接从原始日志映射。 |
InlineResult |
security_result.action_details |
直接从原始日志映射。 |
IntrusionPolicy |
security_result.rule_name |
直接从原始日志映射。 |
log_type |
metadata.log_type |
直接从原始日志映射。 |
Message |
security_result.description |
直接从原始日志映射,通常以“Message : ”开头。 |
NAPPolicy |
principal.asset.attribute.labels.value |
直接从原始日志映射。键设置为“NAPPolicy”。 |
Prefilter Policy |
security_result.rule_labels.value |
直接从原始日志映射。键设置为“Prefilter Policy”。 |
Priority |
security_result.priority_details |
直接从原始日志映射。 |
priorityId |
security_result.priority_details |
直接从原始日志映射。 |
product |
metadata.product_name |
设置为“Firepower 防火墙”。 |
Protocol |
network.ip_protocol |
直接从原始日志映射。值已归一化为 UDM(TCP、UDP、ICMP 等)。 |
ResponderBytes |
network.sent_bytes |
直接从原始日志映射。 |
Revision |
security_result.about.labels.value |
直接从原始日志映射。键设置为“Singnature_Version”。 |
ruleId |
security_result.rule_id |
直接从原始日志映射。 |
security_result.severity |
security_result.severity |
根据原始日志中的 severity 字段设置,使用查找表映射到 UDM 严重程度值。 |
security_result.severity_details |
security_result.severity_details |
根据原始日志中的 severity 字段设置,使用查找表映射到 UDM 严重程度详细信息。 |
SID |
security_result.threat_id |
直接从原始日志映射。 |
SrcIP |
principal.asset.ip ,principal.ip |
直接从原始日志映射。 |
SrcPort |
principal.port |
直接从原始日志映射。 |
syslog_msg_id |
metadata.product_event_type |
直接从原始日志转换成字符串后映射。用于替换 eventId (如果存在)。 |
syslog_msg_text |
metadata.description ,security_result.description |
直接从原始日志映射,有时会添加“Message : ”前缀。用于替换从 data 和 eventId 生成的说明。 |
syslog_severity |
security_result.severity |
直接从原始日志转换为字符串后映射。用于替换从 eventId 派生的严重程度。值已标准化为 UDM(INFORMATIONAL、WARNING、ERROR 等)。 |
sysloghost |
intermediary.hostname |
直接从原始日志映射。 |
ThreatName |
security_result.threat_name |
直接从原始日志映射。 |
ts |
metadata.event_timestamp |
使用日期过滤条件和各种格式从原始日志中解析。 |
ts_year |
metadata.event_timestamp |
使用日期过滤条件和各种格式从原始日志中解析。 |
URL |
target.url |
直接从原始日志映射。 |
URLCategory |
security_result.category_details |
直接从原始日志映射。 |
URLReputation |
security_result.confidence_details |
直接从原始日志映射。 |
User |
target.user.userid |
直接从原始日志映射。 |
UserAgent |
network.http.user_agent |
直接从原始日志映射。 |
UserName |
target.user.userid |
直接从原始日志映射。 |
user_name |
principal.user.email_addresses |
直接从特定事件类型的原始日志映射。 |
WebApplication |
target.application |
直接从原始日志映射。 |
metadata.event_type 设置为默认值 NETWORK_CONNECTION ,有时会根据 eventId 或其他字段进行替换。 |
||
metadata.vendor_name 始终设置为“Cisco”。 |
需要更多帮助?从社区成员和 Google SecOps 专业人士那里获得解答。