收集 Cisco Firepower NGFW 日志

支持的语言:

本文档介绍了如何使用 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 注入身份验证文件

  1. 登录 Google SecOps 控制台。
  2. 依次前往 SIEM 设置 > 收集代理
  3. 下载注入身份验证文件
    • 将文件安全地保存在将要安装 BindPlane 的系统上。

获取 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 代理以接收 Syslog 并将其发送到 Google SecOps

  1. 访问配置文件:
    • 找到 config.yaml 文件。通常,它位于 Linux 上的 /etc/bindplane-agent/ 目录中或 Windows 上的安装目录中。
    • 使用文本编辑器(例如 nanovi 或记事本)打开该文件。
  2. 按如下方式修改 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

  1. 登录 Firepower 设备管理器网页界面。
  2. 依次前往系统设置 > 日志记录设置
  3. 数据日志记录切换开关切换为启用
  4. 点击 Syslog 服务器下的 + 图标。
  5. 点击 Create new Syslog Server。(或者,您也可以在对象 > Syslog 服务器中创建 Syslog 服务器)。
  6. 提供以下配置详细信息:
    • IP 地址:输入 Bindplane 代理 IP 地址。
    • 协议类型:选择 UDP
    • 端口号:输入 Bindplane 代理端口号。
    • 选择数据接口管理接口
  7. 点击确定
  8. 从列表中选择新创建的 Syslog 服务器,然后点击确定
  9. 点击用于过滤所有事件的严重程度,然后从列表中选择信息日志记录级别。
  10. 点击保存
  11. 依次点击“部署新设置”图标 >“立即部署”
  12. 点击屏幕顶部的政策
  13. 将光标悬停在 ACP 规则的右侧,然后依次点击 修改图标 修改
  14. 前往记录标签页。
  15. 选择在连接结束时
  16. 打开选择 Syslog 提醒配置列表。
  17. 选择 Bindplane Syslog 服务器
  18. 点击确定
  19. 依次点击“部署新设置”图标 >“立即部署”

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.iptarget.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.ipprincipal.ip 直接从原始日志映射。
SrcPort principal.port 直接从原始日志映射。
syslog_msg_id metadata.product_event_type 直接从原始日志转换成字符串后映射。用于替换 eventId(如果存在)。
syslog_msg_text metadata.descriptionsecurity_result.description 直接从原始日志映射,有时会添加“Message : ”前缀。用于替换从 dataeventId 生成的说明。
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 专业人士那里获得解答。