收集 Cisco Stealthwatch 日志

支持的语言:

本文档介绍了如何使用 Bindplane 将 Cisco Secure Network Analytics(以前称为 Stealthwatch)日志收集到 Google Security Operations。解析器可处理两种格式的 Cisco Stealthwatch 日志:一种包含客户端/服务器 IP 和数据包信息,另一种包含设备 ID 和字节数。它会提取字段,将其转换为相应的数据类型,将其映射到 UDM,并根据日志内容和格式设置供应商、产品和事件类型等元数据字段。

准备工作

  • 确保您拥有 Google Security Operations 实例。
  • 确保您使用的是 Windows 2016 或更高版本,或者具有 systemd 的 Linux 主机。
  • 如果通过代理运行,请确保防火墙端口处于开放状态。
  • 确保您拥有对 Cisco Stealthwatch 的特权访问权限。

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

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

获取 Google SecOps 客户 ID

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

安装 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. 访问配置文件:

    1. 找到 config.yaml 文件。通常,它位于 Linux 上的 /etc/bindplane-agent/ 目录中或 Windows 上的安装目录中。
    2. 使用文本编辑器(例如 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: '/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
            ingestion_labels:
                log_type: CISCO_STEALTHWATCH
                raw_log_field: body
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - udplog
                exporters:
                    - chronicle/chronicle_w_labels
    
  3. 根据基础架构的需要替换端口和 IP 地址。

  4. <customer_id> 替换为实际的客户 ID。

  5. /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 Secure Network Analytics(以前称为 Stealthwatch)Syslog

  1. 登录管理控制台网页界面。
  2. 依次前往配置 > 回应管理
  3. 修改 Syslog 格式:

    • 名称:输入 syslog 格式的名称。
    • 说明:提供格式说明。
    • 设施:设置为 Local 0
    • 严重程度:设置为 Informational
    • 消息字段中,粘贴以下格式的内容:
    Lancope|StealthWatch|time|{time}|target_hostname|{target_hostname}|alarm_severity_id|{alarm_severity_id}|alarm_type_id|{alarm_type_id}|alarm_type_description|{alarm_type_description}|port|{port}|target_ip|{target_ip}|target_mac_address|{target_mac_address}|target_label|{target_label}|alarm_type_name|{alarm_type_name}|source_hostname|{source_hostname}|source_ip|{source_ip}|source_mac_address|{source_mac_address}|source_username|{source_username}|device_ip|{device_ip}|device_name|{device_name}|details|{details}|protocol|{protocol}|alarm_id|{alarm_id}|alarm_category_name|{alarm_category_name}|start_active_time|{start_active_time}| end_active_time|{end_active_time}
    
  4. 点击确定

  5. 依次前往“响应管理”>“操作”>“添加 Syslog 消息”

  6. 配置 Syslog 转发器:

    • 名称:输入 Google SecOps Bindplane 转发器的名称。
    • 说明:输入 Google SecOps Bindplane 转发器的说明。
    • IP 地址:输入 Bindplane 代理 IP 地址。
    • 端口:输入 Bindplane 代理端口号,例如 514
    • 格式:选择在第 3 步中创建的格式。
  7. 点击确定

为 Cisco Secure Network Analytics(以前称为 Stealthwatch)配置规则名称

  1. 依次前往配置 > 回应管理
  2. 依次选择规则 > 添加 > SMC 系统闹钟
  3. 点击确定
  4. 规则类型对话框中,选择一条规则。
  5. 点击确定
  6. 规则对话框中,执行以下操作:
    • 名称:输入规则的名称。
    • 此规则在以下情况下触发:在相应列表中选择任意严重程度信息
  7. 点击确定
  8. 依次选择操作 > 添加
  9. 选择您之前创建的操作。
  10. 依次点击确定确定
  11. 重复上述步骤,重命名规则部分下的以下三个选项:
    • 支持的日志收集机制 - Syslog
    • 首选的日志收集机制 - Syslog
    • 事件流逻辑图 - SMC 远程 Syslog 服务器

UDM 映射表

日志字段 UDM 映射 逻辑
Alarm_ID additional.fields[?key=='Alarm_ID'].value.string_value 原始日志中的 Alarm_ID 值放置在键 Alarm_ID 下的嵌套 additional.fields 结构中。
ClientBytes network.sent_bytes 原始日志中的 ClientBytes 会转换为无符号整数并进行映射。
ClientIP principal.ip 原始日志中的 ClientIP 会被映射。
ClientPort principal.port 原始日志中的 ClientPort 会转换为整数并进行映射。
CPayload 未映射 此字段不会用于最终的 UDM。
DestIPv4Address target.ip 原始日志中的 DestIPv4Address 会被映射。
DestPort target.port 原始日志中的 DestPort 会转换为整数并进行映射。
details security_result.summary 系统会映射原始日志中移除了双引号的 details 值。
FC intermediary.ip 原始日志中的 FC 会被映射。
host.country principal.location.country_or_region 原始日志中的 host.country 会被映射。
host.hostGroupNames about.group.group_display_name 原始日志中 host.hostGroupNames 数组中的每个元素都会添加 host: 前缀,并映射为单独的 about 对象。
host.ipAddress principal.ip 原始日志中的 host.ipAddress 会被映射。
hostBytes network.sent_bytes 原始日志中的 hostBytes 会转换为无符号整数并进行映射。
InPackets additional.fields[?key=='InPackets'].value.string_value 原始日志中的 InPackets 值放置在键 InPackets 下的嵌套 additional.fields 结构中。
inputSNMPIface additional.fields[?key=='inputSNMPIface'].value.string_value 原始日志中的 inputSNMPIface 值放置在键 inputSNMPIface 下的嵌套 additional.fields 结构中。
LastTime 未映射 在某些情况下,系统会解析此字段以获取事件时间戳,但不会直接将其映射到 UDM。
MessageSourceAddress principal.ip 原始日志中的 MessageSourceAddress 会被映射。
method network.http.method 原始日志中的 method 会被映射。
outputSNMPIface additional.fields[?key=='outputSNMPIface'].value.string_value 原始日志中的 outputSNMPIface 值放置在键 outputSNMPIface 下的嵌套 additional.fields 结构中。
PAAppID 未映射 此字段不会用于最终的 UDM。
peer.country target.location.country_or_region 原始日志中的 peer.country 会被映射。
peer.hostGroupNames about.group.group_display_name 原始日志中 peer.hostGroupNames 数组中的每个元素都会添加 peer: 前缀,并映射为单独的 about 对象。
peer.ipAddress target.ip 原始日志中的 peer.ipAddress 会被映射。
peerBytes network.received_bytes 原始日志中的 peerBytes 会转换为无符号整数并进行映射。
peerPackets 未映射 此字段不会用于最终的 UDM。
Protocol 未映射 系统会解析此字段以确定 network.ip_protocol,但不会直接映射。
ProtocolIdentifier 未映射 此字段用于派生 network.ip_protocol,但不会直接映射。
reportName metadata.product_event_type 原始日志中的 reportName 会被映射。
ServerBytes network.received_bytes 原始日志中的 ServerBytes 会转换为无符号整数并进行映射。
ServerIP target.ip 原始日志中的 ServerIP 会被映射。
ServerPort target.port 原始日志中的 ServerPort 会转换为整数并进行映射。
Service 未映射 此字段不会用于最终的 UDM。
sid target.user.windows_sid 原始日志中的 sid 会被映射。
SourceModuleName target.resource.name 原始日志中的 SourceModuleName 会被映射。
SourceModuleType observer.application 原始日志中的 SourceModuleType 会被映射。
SourcePort principal.port 原始日志中的 SourcePort 会转换为整数并进行映射。
sourceIPv4Address principal.ip 原始日志中的 sourceIPv4Address 会被映射。
SPayload 未映射 此字段不会用于最终的 UDM。
src_ip principal.ip 原始日志中的 src_ip 会被映射。
StartTime 未映射 在某些情况下,系统会解析此字段以获取事件时间戳,但不会直接将其映射到 UDM。
time 未映射 在某些情况下,系统会解析此字段以获取事件时间戳,但不会直接将其映射到 UDM。
timestamp 未映射 系统会解析此字段以获取事件时间戳,但不会直接将其映射到 UDM。
UserName principal.user.user_display_name 原始日志中的 UserName 会被映射。
Version metadata.product_version 原始日志中的 Version 会转换为字符串并进行映射。
不适用 metadata.event_timestamp 系统会根据日志格式从各种字段(LastTimetimetimestampStartTime)中派生出事件时间戳,如果没有其他时间戳可用,则从 create_time 字段中派生出事件时间戳。
不适用 metadata.log_type 一律设置为 CISCO_STEALTHWATCH
不适用 metadata.vendor_name 一律设置为 Cisco
不适用 metadata.event_type 由解析器逻辑根据日志内容确定。可以是 NETWORK_CONNECTIONUSER_STATSUSER_UNCATEGORIZEDFILE_OPENFILE_DELETIONFILE_UNCATEGORIZED
不适用 network.ip_protocol 由解析器逻辑根据 ProtocolProtocolIdentifier 字段确定。可以是 TCPUDPICMP
action security_result.action_details 原始日志中的 action 值已映射。
action security_result.action 派生自 action 字段。如果 actionSUCCESS,则此字段设置为 ALLOW;否则,此字段设置为 BLOCK
category security_result.category_details 原始日志中的 category 值已映射。
description security_result.description 如果原始日志中同时存在 descriptionfile_type,则将它们串联并进行映射。
desc metadata.description 系统会映射原始日志中移除了双引号的 desc 值。
failuer_reason security_result.summary 如果原始日志中同时存在 failuer_reasonfile_type,则将它们串联并进行映射。
file_path target.file.full_path 原始日志中的 file_path 会被映射。
file_type target.file.mime_type 原始日志中的 file_type 会被映射。
hostname principal.hostname 原始日志中的 hostname 会被映射。
ip principal.ip 原始日志中的 ip 会被映射。
ipf intermediary.ip 原始日志中的 ipf 会被映射。
ipt target.ip 原始日志中的 ipt 会被映射。
process_id target.process.pid 原始日志中的 process_id 会被映射。
protocol network.application_protocol 原始日志中的 protocol 会被映射。
security_res.severity security_result.severity 如果 severityMinor,则此字段设置为 INFORMATIONAL;如果 severityMajor,则此字段设置为 ERROR
session_id network.session_id 原始日志中的 session_id 会被映射。
severity 未映射 此字段用于派生 security_result.severity,但不会直接映射。
Source_HG principal.location.country_or_region 原始日志中的 Source_HG 会被映射。
Source_HostSnapshot principal.url 原始日志中的 Source_HostSnapshot 会被映射。
Target_HostSnapshot target.url 原始日志中的 Target_HostSnapshot 会被映射。
user_name principal.user.userid 原始日志中的 user_name 会被映射。

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