收集 Cisco 交换机日志

支持的平台:

本文档介绍了如何使用 Bindplane 代理将 Cisco 交换机日志提取到 Google 安全运营中心。解析器会从 SYSLOG 消息中提取字段,并根据识别出的模式和关键字将其映射到统一数据模型 (UDM)。它可处理各种事件,包括 DHCP、SSH、登录尝试、网络流量和系统状态更新,并对其进行分类,并使用相关安全详细信息丰富数据。

准备工作

  • 确保您拥有 Google SecOps 实例。
  • 确保您使用的是 Windows 2016 或更高版本,或者使用了带有 systemd 的 Linux 主机。
  • 如果在代理后面运行,请确保防火墙端口处于打开状态。
  • 确保您拥有对 Cisco 交换机的超级用户访问权限。

获取 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_SWITCH
                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. 获取 Google SecOps 提取身份验证文件部分中,将 /path/to/ingestion-authentication-file.json 更新为身份验证文件的保存路径。

重启 Bindplane 代理以应用更改

  • 如需在 Linux 中重启 Bindplane 代理,请运行以下命令:

    sudo systemctl restart bindplane-agent
    
  • 如需在 Windows 中重启 Bindplane 代理,您可以使用服务控制台,也可以输入以下命令:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

在 Cisco 交换机上配置 Syslog

  1. 登录 Cisco 交换机。
  2. 输入 enable 命令以提升特权:

    Switch> enable
    Switch#
    
  3. 输入 conf t 命令,切换到配置模式:

    Switch# conf t
    Switch(config)#
    
  4. 输入以下命令:

    logging host <bindplane-server-ip> transport <tcp/udp> port <port-number>
    logging source-interface <interface>
    
    • <bindplane-server-ip> 替换为 Bindplane 代理 IP 地址,并将 <port-number> 替换为已配置的端口。
    • <tcp/udp> 替换为 Bindplane Agent 上配置的监听协议。(例如 udp)。
    • <interface> 替换为 Cisco 接口 ID。
  5. 输入以下命令以设置优先级:

    logging trap Informational 
    logging console Informational 
    logging severity Informational
    
  6. 设置 syslog 设施:

    logging facility local6
    
  7. 输入以下命令以启用时间戳:

    service timestamps log datetime
    
  8. 保存并退出。

  9. 输入以下命令,将设置配置为在重启后保持不变:

    copy running-config startup-config
    

UDM 映射表

日志字段 UDM 映射 逻辑
操作 security_result.action_details 此字段的值派生自原始日志中的 action 字段。
说明 metadata.description 此字段的值派生自原始日志中的 description 字段。
说明 security_result.description 此字段的值派生自原始日志中的 description 字段。
destination_ip target.asset.ip 此字段的值派生自原始日志中的 destination_ip 字段。
destination_ip target.ip 此字段的值派生自原始日志中的 destination_ip 字段。
destination_port target.port 此字段的值派生自原始日志中的 destination_port 字段。
device principal.asset.hostname 此字段的值派生自原始日志中的 device 字段。
device principal.hostname 此字段的值派生自原始日志中的 device 字段。
device target.asset.hostname 此字段的值派生自原始日志中的 device 字段。
device target.hostname 此字段的值派生自原始日志中的 device 字段。
device_ip principal.asset.ip 此字段的值派生自原始日志中的 device_ip 字段。
device_ip principal.ip 此字段的值派生自原始日志中的 device_ip 字段。
device_ip target.asset.ip 此字段的值派生自原始日志中的 device_ip 字段。
device_ip target.ip 此字段的值派生自原始日志中的 device_ip 字段。
设施 principal.resource.type 此字段的值派生自原始日志中的 facility 字段。
header_data metadata.product_log_id 此字段的值派生自原始日志中的 header_data 字段。
header_data target.asset.ip 此字段的值派生自原始日志中的 header_data 字段。
header_data target.ip 此字段的值派生自原始日志中的 header_data 字段。
主机名 principal.asset.hostname 此字段的值派生自原始日志中的 hostname 字段。
主机名 principal.hostname 此字段的值派生自原始日志中的 hostname 字段。
ip principal.asset.ip 此字段的值派生自原始日志中的 ip 字段。
ip principal.ip 此字段的值派生自原始日志中的 ip 字段。
ip_address principal.asset.ip 此字段的值派生自原始日志中的 ip_address 字段。
ip_address principal.ip 此字段的值派生自原始日志中的 ip_address 字段。
ip_protocol network.ip_protocol 此字段的值派生自原始日志中的 ip_protocol 字段。
mac principal.mac 此字段的值派生自原始日志中的 mac 字段。
助记符 network.dhcp.opcode 此字段的值派生自原始日志中的 mnemonic 字段。
助记符 metadata.product_event_type 此字段的值派生自原始日志中的 mnemonic 字段。
p_ip principal.asset.ip 此字段的值派生自原始日志中的 p_ip 字段。
p_ip principal.ip 此字段的值派生自原始日志中的 p_ip 字段。
端口 target.port 此字段的值派生自原始日志中的 port 字段。
优先级
协议 network.ip_protocol 此字段的值派生自原始日志中的 protocol 字段。
reason
规则 security_result.rule_id 此字段的值派生自原始日志中的 rule 字段。
sec_result_action security_result.action 此字段的值派生自原始日志中的 sec_result_action 字段。
和程度上减少
来源 principal.asset.ip 此字段的值派生自原始日志中的 source 字段。
来源 principal.ip 此字段的值派生自原始日志中的 source 字段。
source_ip network.dhcp.ciaddr 此字段的值派生自原始日志中的 source_ip 字段。
source_ip principal.asset.ip 此字段的值派生自原始日志中的 source_ip 字段。
source_ip principal.ip 此字段的值派生自原始日志中的 source_ip 字段。
source_mac network.dhcp.chaddr 此字段的值派生自原始日志中的 source_mac 字段。
source_port principal.port 此字段的值派生自原始日志中的 source_port 字段。
摘要 security_result.summary 此字段的值派生自原始日志中的 summary 字段。
时间
timezone
用户 principal.user.userid 此字段的值派生自原始日志中的 user 字段。
用户 target.user.userid 此字段的值派生自原始日志中的 user 字段。
时间
extensions.auth.type MACHINE
metadata.log_type CISCO_SWITCH
metadata.vendor_name Cisco
metadata.product_name Cisco Switch
network.application_protocol DHCP
network.dhcp.type 请求

变化

2025-02-18

增强功能

  • 添加了对新 SYSLOG 日志模式的支持。

2025-01-22

增强功能

  • 如果 facilitySEC_LOGINmnemonicLOGIN_SUCCESS,则将 device 映射到 principle.hostnameprincipal.asset.hostname
  • 如果 facilitySEC_LOGINmnemonicLOGIN_FAILED,则将 device 映射到 principal.hostnameprincipal.asset.hostname

2024-11-27

增强功能

  • 添加了新的 Grok 模式,用于解析失败的 syslog 日志。
  • username3 映射到 principal.user.userid
  • login_status 映射到 security_result.summary

2024-11-20

增强功能

  • 添加了对新 SYSLOG 日志模式的支持。

2024-11-06

增强功能

  • ecs.version 映射到 metadata.product_version
  • fileset.nameflow.localityflow.idinput.typenetflow.exporter.source_idnetflow.exporter.uptime_millis 映射到 additional.fields
  • network.transport 映射到 network.ip_protocol
  • netflow.post_nat_source_ipv4_address 映射到 principal.ip
  • netflow.source_transport_port 映射到 principal.port
  • network.direction 映射到 network.direction

2024-10-22

增强功能

  • 添加了 Grok 模式来解析未解析的日志。
  • intermediary_ip 映射到 intermediary.ip
  • intermediary_hostname 映射到 intermediary.hostname

2024-10-03

增强功能

  • 添加了对新 SYSLOG 日志模式的支持。

2024-09-24

增强功能

  • 添加了对新格式的 Syslog 日志的支持。

2024-08-26

增强功能

  • principal_host 为空时,仅将 device 映射到 principal.hostname

2024-07-01

增强功能

  • 添加了 Grok 模式,以便使用新模式解析有效的已丢弃日志。
  • 此外,还添加了 Grok 模式,用于从 header_data 字段检索 target_ip

2024-05-29

增强功能

  • 添加了 Grok 模式,以便使用新模式解析有效的已丢弃日志。
  • 添加了 Grok 模式,用于从字段 header_data 检索 principal_host
  • 添加了 Grok 模式,用于从字段 description 检索 destination_ipsrc_machostname
  • principal_host 映射到 principal.hostname
  • src_mac 映射到 principal.mac
  • eventSummary 映射到 metadata.product_event_type
  • description 映射到 security_result.description
  • error_msg 映射到 security_result.detection_fields

2024-05-22

增强功能

  • 添加了 Grok 模式以检索主机名。

2024-05-08

增强功能

  • 添加了 Grok 模式,以支持经过修复的 SYSLOG 格式日志。
  • pid 映射到 principal.process.pid
  • srcPort 映射到 principal.port
  • device_ip 映射到 principal.ipprincipal.asset.ip
  • srcUser 映射到 principal.user.userid
  • username1 映射到 target.user.userid
  • command 映射到 target.process.command_line
  • PWD 映射到 target.process.file.full_path
  • host_name 映射到了 principal.hostnameandprincipal.asset.hostname`。
  • node_idcluster_idexceptionUniqueIdapp_id 映射到 additional.fields

2023-12-08

增强功能

  • 添加了对 SYSLOG 日志和键值对日志的新模式的支持。
  • DEVICE 映射到 principal.mac
  • SRC 映射到 principal.ip
  • SPT 映射到 principal.port
  • DST 映射到 target.ip
  • DPT 映射到 target.port
  • ID 映射到 network.session_id
  • LEN 映射到 network.session_duration.seconds
  • PROTO 映射到 network.ip_protocol
  • 映射了 INOUTPHYSINWINDOWRES,TOS,PREC,TTL,URGP,MAC,radio,vap,auth_type,sugg_band,ssid_id,ssid_profile_nameandprotocoltoadditional.fields`。
  • client_mac 映射到 principal.mac
  • aid 映射到 network.session_id
  • rssi 映射到 intermediary.asset.product_object_id
  • channel 映射到 security_result.detection_fields

2023-11-05

增强功能

  • 修改并添加了新的 Grok 模式,以解析失败的 syslog 日志。
  • 添加了 KV 过滤器来解析 KV 日志。
  • eventSummarydhcp_ipclient_macaidip_src 分别映射到 metadata.product_event_typetarget.ipnetwork.dhcp.chaddrnetwork.session_idprincipal.ip
  • macsrcsportdstdportactionprotocolurlsignature 分别映射到 principal.macprincipal.ipprincipal.porttarget.iptarget.portsecurity_result.actionnetwork.ip_protocolprincipal.url 和 `additional.fields`。
  • 对于 eventSummary,splash_authmetadata.event_typeextensions.auth.type 分别映射到 USER_LOGINMACHINE
  • 对于 eventSummary,associationeventSummaryaidrssichannellast_known_client_ipevent_type 分别映射到 security_result.summarynetwork.session_idintermediary.asset.product_object_idsecurity_result.detection_fieldsprincipal.ipSTATUS_UPDATE

2023-04-27

增强功能

  • 降低了通用百分比。
  • 移除了不必要的 Grok 模式。
  • 添加了 Grok 模式来解析 syslog 日志。
  • source_ipdestination_ip 添加了条件检查。
  • 如果存在 source_ipdestination_ip,则将 event_type 映射到 NETWORK_CONNECTION
  • 如果存在 source_ip 但不存在 destination_ip,则将 event_type 映射到 STATUS_UPDATE
  • pid 映射到 target.process.pid
  • app_name 映射到 target.application

2023-03-24

bug 修复

  • 为消息类型为 FILECPYREJECTCONNECTDISCONNECT 的日志添加了 Grok 模式和映射。

2023-01-24

增强功能

  • 修改了 Grok 模式,以支持具有时区的日志。
  • 将“ip_address”映射到“principal.ip”。
  • mnemonicNBR_RESET 且存在 ip_address 时,metadata.event_type 会设为 STATUS_UPDATE

2022-07-21

增强功能

  • 添加了 Grok 模式并增强了解析器,以解析被丢弃的日志(不含“%--”的日志)。
  • 将“主机名”映射到“principal.hostname”
  • 将“source_ip”映射到“principal.ip”
  • 将“destination_ip”映射到“target.ip”
  • 将“ip_protocol”映射到“network.ip_protocol”。
  • 将“summary”映射到“security_result.summary”。
  • 将“header_data”映射到“metadata.product_log_id”。

需要更多帮助?向社区成员和 Google SecOps 专业人士寻求解答。