收集 Brocade 交换机日志

支持的平台:

此解析器使用与各种日志格式匹配的 Grok 模式从 Brocade 交换机日志中提取字段。然后,它会将这些提取的字段映射到 UDM 字段,处理不同的日志结构,并使用供应商和产品信息等元数据丰富数据。在生成最终 UDM 输出之前,解析器还会执行数据转换,例如转换严重级别和处理重复消息。

准备工作

  • 确保您有一个 Google Security Operations 实例。
  • 确保您使用的是 Windows 2016 或更高版本,或者使用 systemd 的 Linux 主机。
  • 如果在代理后面运行,请确保防火墙端口处于打开状态。
  • 确保您拥有对 Brocade 交换机的 CLI 管理员访问权限。

获取 Google SecOps 提取身份验证文件

  1. 登录 Google SecOps 控制台。
  2. 依次前往 SIEM 设置 > 收集代理
  3. 下载提取身份验证文件

获取 Google SecOps 客户 ID

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

安装 BindPlane Agent

  1. 对于 Windows 安装,请运行以下脚本:
    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
  2. 对于 Linux 安装,请运行以下脚本:
    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
  3. 如需了解其他安装选项,请参阅此安装指南

配置 BindPlane Agent 以提取 Syslog 并将其发送到 Google SecOps

  1. 访问安装了 BindPlane 的机器。
  2. 按如下方式修改 config.yaml 文件:

    receivers:
        tcplog:
            # Replace the below port <54525> and IP <0.0.0.0> with your specific values
            listen_address: "0.0.0.0:54525" 
    
    exporters:
        chronicle/chronicle_w_labels:
            compression: gzip
            # Adjust the creds location below according the placement of the credentials file you downloaded
            creds: '{ json file for creds }'
            # Replace <customer_id> below with your actual ID that you copied
            customer_id: <customer_id>
            endpoint: malachiteingestion-pa.googleapis.com
            # You can apply ingestion labels below as preferred
            ingestion_labels:
            log_type: SYSLOG
            namespace: Brocade_Switch
            raw_log_field: body
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - tcplog
                exporters:
                    - chronicle/chronicle_w_labels
    
  3. 重启 BindPlane 代理以应用更改:

    sudo systemctl restart bindplane
    

配置从 Brocade 交换机导出 syslog

  1. 使用 SSH 或 Telnet 和适当的凭据连接到 Brocade 交换机。
  2. 运行以下命令,指定 syslog 服务器 (Bindplane) 的 IP 地址或主机名和 Port

    syslogadmin --set -ip <IP> -port <Port>
    

    例如:

    syslogadmin --set -ip 10.10.10.10 -port 54525
    
  3. 运行以下命令可显示已配置的 syslog 服务器:

    syslogadmin --show -ip
    

UDM 映射表

日志字段 UDM 映射 逻辑
application additional.fields[].key: "application"
additional.fields[].value.string_value:
当 KV_DATA 字段存在时,从原始日志中的 application@1588 字段提取的值。
class additional.fields[].key:“class”
additional.fields[].value.string_value
当 KV_DATA 字段存在时,从原始日志中的 class@1588 字段提取的值。
domain principal.administrative_domain 从与 domain 字段匹配的 Grok 模式中提取的值。
Event additional.fields[].key:“event_category”
additional.fields[].value.string_value
当 KV_DATA 字段存在时,从原始日志中的 arg0@1588 字段提取的值。
event_id metadata.product_log_id 从与 event_id 字段匹配的 Grok 模式中提取的值。
event_type metadata.product_event_type 从与 event_type 字段匹配的 Grok 模式中提取的值。
flags additional.fields[].key:“flags”
additional.fields[].value.string_value
从与 flags 字段匹配的 Grok 模式中提取的值。
Info metadata.description Info 字段中提取的值,使用 grok 进行解析。
interface app_protocol_src 当 KV_DATA 字段存在时,从原始日志中的 interface@1588 字段提取的值。用于派生 network.application_protocol
ip principal.ip ip 字段中提取的值,使用 grok 进行解析。如果与从 Info 字段中提取的 IP 地址不同,则会合并到 principal.ip
InfoIP Addr principal.ip Info 字段中的 IP Addr 字段提取的值,使用 grok 进行解析。
log additional.fields[].key:“log”
additional.fields[].value.string_value
当 KV_DATA 字段存在时,从原始日志中的 log@1588 字段提取的值。
msg metadata.description msg 字段中提取的值,使用 grok 进行解析。
msgid additional.fields[].key:“msgid”
additional.fields[].value.string_value
当 KV_DATA 字段存在时,从原始日志中的 msgid@1588 字段提取的值。
prin_host principal.hostname
principal.asset.hostname
从与 prin_host 字段匹配的 Grok 模式中提取的值。
product_version metadata.product_version 从与 product_version 字段匹配的 Grok 模式中提取的值。
repeat_count additional.fields[].key:“repeat_count”
additional.fields[].value.string_value
msg 字段中提取的值,使用 grok 进行解析。
roleuser_role principal.user.attribute.roles[].name role@1588user_role 字段中提取的值。如果值为“admin”,则会替换为“管理员”。
sequence_number additional.fields[].key:“sequence_number”
additional.fields[].value.string_value
从与 sequence_number 字段匹配的 Grok 模式中提取的值。
severity security_result.severity severity 字段中提取的值,使用 grok 进行解析。已映射到 UDM 严重程度值(INFORMATIONAL、ERROR、CRITICAL、MEDIUM)。
Status security_result.summary Status 字段中提取的值。
switch_name additional.fields[].key:“switch_name”
additional.fields[].value.string_value
从与 switch_name 字段匹配的 Grok 模式中提取的值。
target_application target.application 从与 target_application 字段匹配的 Grok 模式中提取的值。
time additional.fields[].key:“time”
additional.fields[].value.string_value
kv_data3 字段中的 time 字段提取的值。
timestamp metadata.event_timestamp.seconds timestamp 字段中提取的值,使用日期过滤条件进行解析。
user principal.user.userid
principal.user.user_display_name
useruser@1588 字段中提取的值,使用 grok 进行解析。从 principal.hostname 复制。从 principal.ip 复制。从 metadata.product_event_type 复制,或根据条件设置为“STATUS_UPDATE”。从日志的 create_time.nanos 复制。由解析器逻辑根据 has_principalhas_targethas_useridevent_type 的值确定。可以是“SYSTEM_AUDIT_LOG_UNCATEGORIZED”“STATUS_UPDATE”或“GENERIC_EVENT”。已硬编码为“BROCADE_SWITCH”。已硬编码为“BROCADE”。已硬编码为“BROCADE_SWITCH”。从 interface 字段派生,如果 interface 字段包含“SSH”,则将其设置为“SSH”。

更改

2024-04-15

  • 添加了对客户专用日志的支持。

2023-12-01

  • 新创建的解析器。