尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Wazuh 4.x remoted syslog 514 输入移除后如何用 rsyslog 采集网络设备日志?

Wazuh 4.x remoted syslog 514 输入移除后如何用 rsyslog 采集网络设备日志? Wazuh 4.x remoted syslog 514 输入移除后如何用 rsyslog 采集网络设备日志【免费下载链接】wazuhWazuh - The Open Source Security Platform. Unified XDR and SIEM protection for endpoints and cloud workloads.项目地址: https://gitcode.com/GitHub_Trending/wa/wazuh在 Wazuh 4.x 中manager 的remoted模块可以直接在 514 端口接收网络设备防火墙、路由器、交换机发来的原始 syslog 消息配置方式是 manager 的ossec.conf里写connectionsyslog/connection。从 Wazuh 5.0 开始这个 syslog 输入能力从remoted中被移除该模块只负责加密的 agent 连接514 端口的远程 syslog 输入不再可用。如果原来依赖这条链路采集网络设备日志需要改为在一台采集主机上部署 rsyslog 接收 514 端口的 syslog再在该主机上安装 Wazuh agent由 agent 的 logcollector 把消息转发给 Wazuh manager。这条迁移没有自动迁移工具rsyslog 和 agent 都要手动配置。本文基于 rsyslog 迁移指南覆盖两种落地方案rsyslog 写入 systemd journalOption A以及 rsyslog 写入按主机拆分的日志文件Option B。4.x 与 5.x 的差异对照方面Wazuh 4.xWazuh 5.xSyslog 接收方managerremoted514 端口外部 syslog 守护进程rsyslog日志进入方式直接进入analysisd经 Wazuh agent 的 logcollector配置位置managerossec.conf的remote块rsyslog 配置 agentossec.conf采集主机上是否需要 agent不需要需要——5.0 中 manager 不再自带 agentIP 白名单/黑名单ossec.conf的allowed-ips/denied-ipsrsyslog$AllowedSender或主机防火墙规则rsyslog 转发到 manager 的 syslog 消息体与remoted之前从 514 端口收到的内容一致因此现有的网络设备 decoder 和规则如cisco-asa、pf、juniper无需修改继续生效。准备条件开始配置前确认以下条件都已满足Wazuh 5.0 或更高版本已完整部署indexer、manager、dashboard一台用于运行 rsyslog 的 Linux 主机——可以是 Wazuh manager 所在主机也可以是独立服务器该主机已安装 rsyslog网络设备已配置为向该主机 IP 的 514 端口发送 syslog该主机已安装 Wazuh agent。最后一条是 5.0 的关键变化Wazuh 5.0 中 agent 不会随 manager 一起安装。即使 rsyslog 就跑在 manager 所在主机上也必须单独安装并注册一个 Wazuh agent。安装 Wazuh agent在 Wazuh dashboard 中进入Agent management - Summary点击Deploy new agent填写所需信息后使用页面生成的命令安装 agent。如果 agent 与 manager 在同一台主机上运行manager 地址填127.0.0.1。安装完成后启用并启动 agent 服务sudo systemctl daemon-reload sudo systemctl enable wazuh-agent sudo systemctl start wazuh-agentagent 会在几秒内出现在 dashboard 的Agent management - Summary页面出现即说明注册成功。Option Arsyslog → journald → logcollectorrsyslog 收到 syslog 后用omjournal输出模块直接写入 systemd journalWazuh agent 默认就会读取 journalagent 侧不需要任何额外配置。此方案要求采集主机是基于 systemd 的 Linux 系统。1. 确认 rsyslog 已安装omjournal模块在大多数发行版中随 rsyslog 主包提供个别发行版需要单独安装# Debian/Ubuntu sudo apt install rsyslog # RHEL/CentOS/Amazon Linux sudo yum install rsyslog2. 配置 rsyslog创建/etc/rsyslog.d/99-wazuh-remote.conf内容如下module(loadimudp) module(loadimtcp) module(loadomjournal) ruleset(nameremote_to_journal) { action(typeomjournal) } input(typeimudp port514 rulesetremote_to_journal) input(typeimtcp port514 rulesetremote_to_journal)如果原来在 4.x 用allowed-ips限制了哪些主机可以发送 syslog需要在防火墙层做等价限制下面的网段是文档示例替换为你实际允许的来源网段sudo firewall-cmd --permanent --add-rich-rulerule familyipv4 source address192.168.1.0/24 port port514 protocoludp accept sudo firewall-cmd --permanent --add-rich-rulerule familyipv4 source address192.168.1.0/24 port port514 protocoltcp accept sudo firewall-cmd --reload重启 rsyslog 生效sudo systemctl restart rsyslog确认 rsyslog 已在 514 端口监听sudo ss -ulnp | grep 514 sudo ss -tlnp | grep 5143. 验证 journal 接收从任一台能访问采集主机的机器发送一条测试消息SYSLOG_HOST_IP替换为 syslog 采集主机的 IPlogger -n SYSLOG_HOST_IP -P 514 --udp Test syslog message from migration在采集主机上用journalctl -f跟踪 journal测试消息出现即说明 rsyslog → journal 这一跳打通。之后 Wazuh agent 会读取 journal/var/ossec/etc/ossec.conf无需任何改动。4. 在 dashboard 验证事件进入 dashboard 的Explore - Discover来自远程设备的事件会以wazuh.protocol.location: journald标识出现两个使用限制需要注意journald 的_HOSTNAME字段是受信字段journald 总是把它设为本机主机名包括 rsyslog 在内的任何应用都无法覆盖它另外在 rsyslog 8.x 上omjournal的自定义模板可能静默失效不加模板时远端主机名不会出现在MESSAGE字段中。Option Brsyslog → 日志文件 → logcollectorrsyslog 把消息写入/var/log/remote/下按来源主机拆分的日志文件Wazuh agent 通过localfile块监控这些文件。此方案适用于任意 Linux 主机包括没有 systemd 的系统并且每个来源设备有独立文件便于人工排查。1. 配置 rsyslog创建/etc/rsyslog.d/99-wazuh-remote.confmodule(loadimudp) module(loadimtcp) template(nameRemoteHostLogs typestring string/var/log/remote/%FROMHOST-IP%.log) ruleset(nameremote_to_file) { action(typeomfile dynaFileRemoteHostLogs) } input(typeimudp port514 rulesetremote_to_file) input(typeimtcp port514 rulesetremote_to_file)模板中的%FROMHOST-IP%是 rsyslog 内置属性按来源 IP 为每台设备生成独立日志文件。同样的allowed-ips等价防火墙规则可参照 Option A 第 2 步添加。在启动 rsyslog 之前先创建目标目录。Debian/Ubuntu 上 rsyslog 会降权到普通用户syslog运行无法自行在/var/log下创建目录必须先由 root 建好并交给该用户RHEL 系系统上 rsyslog 以root运行会自动创建sudo install -d -o syslog -g adm /var/log/remote然后重启并确认监听sudo systemctl restart rsyslog sudo ss -ulnp | grep 514 sudo ss -tlnp | grep 5142. 配置 agent 监控日志文件编辑采集主机上 agent 的配置文件/var/ossec/etc/ossec.conf添加localfile块ossec_config localfile location/var/log/remote/*.log/location log_formatsyslog/log_format /localfile /ossec_config这一条通配块覆盖 rsyslog 写入/var/log/remote/的所有文件之后新增来源设备无需再改 agent 配置。自定义模板必须带时间戳。Wazuh 内置的 syslog decoder 要求消息以 syslog 时间戳作为第一个字段才能匹配。上面的dynaFile写法使用 rsyslog 默认消息格式含Jun 3 08:14:22这类时间戳可以直接用如果改用自定义模板必须把%timereported:::date-rfc3164%放在开头。文档给出的正反示例均为文档示例# 正确 —— 带时间戳Wazuh syslog decoder 能匹配 template(nameMsgFmt typestring string%timereported:::date-rfc3164% %HOSTNAME% %app-name%[%procid%]: %msg%\n) action(typeomfile file/var/log/remote/syslog.log templateMsgFmt) # 错误 —— 无时间戳事件落入 wazuh-events-v5-unclassified-* 索引且只有 event.original template(nameMsgFmt typestring string%HOSTNAME% %app-name%[%procid%]: %msg%\n)缺少时间戳的事件只会出现在wazuh-events-v5-unclassified-*索引中仅有event.original字段、没有解码后的字段排查时会很难定位原因所以这条限制务必确认。重启 agent 使配置生效sudo systemctl restart wazuh-agent3. 验证 logcollector 正在读取文件sudo grep logcollector /var/ossec/logs/ossec.log | grep remote文档示例的期望输出2026/06/03 08:16:01 wazuh-logcollector: INFO: (1950): Analyzing file: log_file_configured.说明 logcollector 已开始分析配置的日志文件。最后在 dashboard 的Explore - Discover中按location: /var/log/remote/过滤能看到远程设备事件即完成迁移关于来源 IP 的差异4.x 中remoted直接收到设备连接来源 IP 天然可用5.x 中 agent 从本地文件或 journal 读取原始来源 IP 只有在 rsyslog 记录下来时才保留Option B 的dynaFile模板已把%FROMHOST-IP%放进文件路径每设备一个文件Option A 或自定义模板则可以通过%fromhost-ip%之类的模板属性写入消息体。如果现有规则依赖来源 IP 字段迁移后需要按上述方式确认 IP 仍然可取。完整对照与 4.x 侧示例配置含 4.x 的remote块和local_rules.xml测试规则见 docs/guide/migration/syslog-input-4x-to-5x.md 中的 Migration example 一节。【免费下载链接】wazuhWazuh - The Open Source Security Platform. Unified XDR and SIEM protection for endpoints and cloud workloads.项目地址: https://gitcode.com/GitHub_Trending/wa/wazuh创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表