收集 Brocade ServerIron 日志
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
支持的平台:
Google SecOps
SIEM
此解析器使用正则表达式匹配从 Brocade ServerIron syslog 消息中提取字段,并将其映射到统一数据模型 (UDM)。它可处理各种日志格式,包括网络状态、用户身份验证和安全事件。解析器会根据需要执行数据类型转换和丰富操作。
准备工作
- 确保您有一个 Google Security Operations 实例。
- 确保您使用的是 Windows 2016 或更高版本,或者使用 systemd 的 Linux 主机。
- 如果在代理后面运行,请确保防火墙端口处于打开状态。
- 确保您对 Brocade ServerIron 实例具有特权访问权限。
获取 Google SecOps 提取身份验证文件
- 登录 Google SecOps 控制台。
- 依次前往 SIEM 设置 > 收集代理。
- 下载提取身份验证文件。
获取 Google SecOps 客户 ID
- 登录 Google SecOps 控制台。
- 依次选择 SIEM 设置 > 配置文件。
- 复制并保存组织详细信息部分中的客户 ID。
安装 Bindplane Agent
- 对于 Windows 安装,请运行以下脚本:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
- 对于 Linux 安装,请运行以下脚本:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
- 如需了解其他安装选项,请参阅此安装指南。
配置 Bindplane Agent 以提取 Syslog 并将其发送到 Google SecOps
- 访问安装了 Bindplane 的机器。
按如下方式修改
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_ServerIron raw_log_field: body service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - tcplog exporters: - chronicle/chronicle_w_labels
重启 Bindplane 代理以应用更改:
sudo systemctl restart bindplane
从 Brocade ServerIron ADX 配置 Syslog 导出
登录 ADX 设备并进入全局配置模式:
enable configure terminal
启用 Syslog 日志记录:
logging on
指定 syslog 服务器的 IP 地址或主机名和端口,包括所需的协议 (Bindplane):
logging host <syslog-server-ip> [udp | tcp] port <port-number>
端口 54525 上的 TCP 示例:
logging host 10.10.10.10 tcp port 54525
可选:设置 Syslog Facility(从 local0 到 local7):
logging facility local0
指定要发送到 syslog 服务器的日志的最低严重级别:
logging trap <severity-level>
保存配置:
write memory
UDM 映射表
日志字段 | UDM 映射 | 逻辑 |
---|---|---|
%{GREEDYDATA} | metadata.description | 如果 %{GREEDYDATA} 字段与“-- %{GREEDYDATA} --”模式匹配,则会映射到 metadata.description。 |
%{GREEDYDATA:auth_result} | security_result.description | 如果存在 %{GREEDYDATA:desc},则将 %{GREEDYDATA:auth_result} 字段与 %{GREEDYDATA:desc} 字段串联起来,形成 security_result.description。 |
%{GREEDYDATA:desc} | security_result.description | %{GREEDYDATA:desc} 字段用于填充 security_result.description 字段。它可以与其他字段串联,具体取决于原始日志格式。 |
%{GREEDYDATA:login_to} | security_result.description | 当 %{GREEDYDATA:desc} 存在时,%{GREEDYDATA:login_to} 字段会与 %{GREEDYDATA:desc} 字段串联,以形成 security_result.description。 |
%{GREEDYDATA:user} | target.user.userid | %{GREEDYDATA:user} 字段会映射到 target.user.userid。 |
%{HOST:principal_host} | principal.hostname | %{HOST:principal_host} 字段会映射到 principal.hostname。 |
%{HOST:target_host} | target.hostname | %{HOST:target_host} 字段会映射到 target.hostname。 |
%{INT:http_port} | additional.fields.value.string_value | %{INT:http_port} 字段会映射到键为“HTTP 端口”的 additional.fields.value.string_value。 |
%{INT:target_port} | target.port | %{INT:target_port} 字段会映射到 target.port 并转换为整数。 |
%{INT:telnet_port} | additional.fields.value.string_value | %{INT:telnet_port} 字段已映射到键为“Telnet 端口”的 additional.fields.value.string_value。 |
%{INT:tftp_port} | additional.fields.value.string_value | %{INT:tftp_port} 字段映射到键为“TFTP 端口”的 additional.fields.value.string_value。 |
%{IP:principal_ip} | principal.ip | %{IP:principal_ip} 字段会映射到 principal.ip。 |
%{IP:target_ip} | target.ip | %{IP:target_ip} 字段会映射到 target.ip。 |
%{IPV4:principal_ip} | principal.ip | %{IPV4:principal_ip} 字段会映射到 principal.ip。 |
%{IPV4:target_ip} | target.ip | %{IPV4:target_ip} 字段会映射到 target.ip。 |
%{MAC:principal_mac} | principal.mac | %{MAC:principal_mac} 字段会先转换为 [0-9a-f]{2}:[0-9a-f]{2}:[0-9a-f]{2}:[0-9a-f]{2}:[0-9a-f]{2}:[0-9a-f]{2} 格式,然后映射到 principal.mac。 |
%{USERNAME:target_host} | target.hostname | %{USERNAME:target_host} 字段会映射到 target.hostname。 |
%{USERNAME:user} | target.user.userid | %{USERNAME:user} 字段会映射到 target.user.userid。 |
%{WORD:auth_result} | security_result.description | 当存在 %{GREEDYDATA:desc} 时,%{WORD:auth_result} 字段会与 %{GREEDYDATA:desc} 字段串联,以形成 security_result.description。 |
%{WORD:proto} | network.application_protocol | 如果 %{WORD:proto} 字段的值为“SSH”,则会映射到 network.application_protocol。 |
时间戳 | metadata.event_timestamp | 系统会使用 Grok 模式从原始日志数据中解析时间戳字段,并将其转换为时间戳对象。 |
extensions.auth.type | 如果 proto 字段不为空且 auth_action 字段为“logout”或“login”,则将该值设置为“MACHINE”。 | |
metadata.description | 如果“metadata_description”字段不为空,则该字段会填充该字段的值。 | |
metadata.event_type | 系统会根据其他字段的值使用条件逻辑来填充此字段: - STATUS_STARTUP:如果 target_port_status 为“up”。 - STATUS_SHUTDOWN:如果 target_port_status 为“down”。 - USER_LOGOUT:如果 proto 不为空且 auth_action 为“logout”。 - USER_LOGIN:如果 proto 不为空且 auth_action 为“login”。 - STATUS_UPDATE:如果 metadata_description 与“state changed”匹配。 - GENERIC_EVENT:如果不满足上述任何条件。 |
|
metadata.log_type | 该值已硬编码为“BROCADE_SERVERIRON”。 | |
metadata.product_name | 该值已硬编码为“ServerIron”。 | |
metadata.vendor_name | 该值已硬编码为“Brocade”。 | |
security_result.action | 如果 desc 字段包含“fail”,或 auth_result 字段包含“fail”或“rejected”,则将此值设置为“BLOCK”。 |
变化
2022-01-13
- 新增了解析器。
需要更多帮助?向社区成员和 Google SecOps 专业人士寻求解答。