ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Wazuh 4.x 到 5.x 如何迁移代理分组与 shared 共享配置?

Wazuh 4.x 到 5.x 如何迁移代理分组与 shared 共享配置? Wazuh 4.x 到 5.x 如何迁移代理分组与 shared 共享配置【免费下载链接】wazuhWazuh - The Open Source Security Platform. Unified XDR and SIEM protection for endpoints and cloud workloads.项目地址: https://gitcode.com/GitHub_Trending/wa/wazuh把 Wazuh manager 从 4.x 升级到 5.0 时代理分组agent groups不能直接沿用5.0 把 manager 安装路径从/var/ossec/改为/var/wazuh-manager/并且分组归属不再由 manager 推断而是由 agent 在注册enrollment握手时自行声明。官方没有自动迁移工具分组配置必须手动从 4.x manager 备份、再恢复到 5.x manager之后让每个 agent 重新注册才能回到原分组。本文给出这条完整的迁移路径备份shared/下的分组目录 → 恢复到 5.x → 配置 agent 的分组与注册密码 → 重新注册并验证分组归属以及注册被拒、agent 落入default分组时的处理办法。适用前提你拥有 manager 主机的 root 或终端权限迁移方式是先在 4.x 上备份分组配置然后通常在原主机上移除 4.x 并全新安装 5.0。迁移前需要理解的机制变化理解以下两点才能知道为什么迁移必须先恢复分组、再连 agent4.x 的分组推断已被移除。早期版本中manager 可以通过比对 agent 的merged.mg校验和来推断其分组remoted.guess_agent_group内部选项。该机制在 Wazuh 5.0 中已被移除。5.0 的分组由注册握手决定。agent 注册时把ossec.conf中enrollmentgroups配置的分组发给 manager 的注册服务wazuh-manager-authd后者校验分组存在后把归属写入global.db。如果声明的分组在 manager 上不存在注册会被拒绝agent 无法连接如果没有配置分组agent 会落入default分组。归属保存在global.db中跨 agent 与 manager 重启保留之后每次 keepalivemanager 从global.db查出分组并编译、下发对应的共享配置。分组配置的存放位置从/var/ossec/etc/shared/变为/var/wazuh-manager/etc/shared/相对路径etc/shared/不变绝对路径变了。准备条件root 或终端访问 manager 主机的权限。停掉所有 agent并在分组目录恢复完成、每个 agent 的分组配置就绪之前保持停止状态。否则迁移中途重连的 agent 要么落入default分组未声明分组时要么注册被拒声明了尚不存在的分组时# On each agent systemctl stop wazuh-agent大规模部署可用 Ansible、SSH 循环、MDM、GPO 等编排工具批量执行。建议在每个 agent 的ossec.conf中预先配置其分组enrollmentgroups注册时随握手发出。文档标注这是推荐做法而非阻塞项——没配置的 agent 之后可以手动分配分组。步骤 1在 4.x manager 上备份分组配置在4.x manager上归档shared/下的分组目录排除运行时生成的merged.mgcd /var/ossec/etc tar -cvzf /tmp/wazuh_groups_backup.tar.gz --exclude*/merged.mg shared/*/shared/*/通配符只匹配分组目录shared/中的非分组文件如ar.conf、agent-template.conf不会被包含。归档里只有各分组定制的agent.conf和你放在分组目录里的其他文件。如果只迁移部分分组把shared/*/换成具体目录名group-name-1、group-name-2替换为你要迁移的实际分组名cd /var/ossec/etc tar -cvzf /tmp/wazuh_groups_backup.tar.gz --exclude*/merged.mg \ shared/group-name-1/ shared/group-name-2/务必把这个归档放到能撑过重装的位置例如主机外部或外部存储因为接下来移除 4.x 会清掉本机文件。步骤 2在 5.x manager 上恢复分组配置必须在任何 agent 连接 5.0 manager之前完成本步。注册时 manager 会校验声明的分组agent 带着一个尚不存在的groups值注册时注册会被拒绝、agent 无法连接。未写groups标签的 agent 可以连接但会落入default。安装好 Wazuh 5.0 后把归档拷回 manager 主机解压并修正属主tar -xvzf /tmp/wazuh_groups_backup.tar.gz -C /var/wazuh-manager/etc/ chown -R wazuh-manager:wazuh-manager /var/wazuh-manager/etc/shared/验证分组目录已恢复ls /var/wazuh-manager/etc/shared/此时 dashboard 的Agents management - Groups页面即可看到恢复的分组配置有效性检查恢复的agent.conf必须是 Wazuh 5.0 合法的。4.x 配置中已废弃的选项或已改名的标签会导致共享配置编译失败。继续之前请对照 Wazuh 5.0 参考文档逐个分组的agent.conf检查删除或更新不兼容的配置项。步骤 3在每个 agent 上确认分组已写入 ossec.conf在每一个应属于非默认分组的agent上确认/var/ossec/etc/ossec.conf中已设置分组enrollment enabledyes/enabled groupsgroup-name/groups /enrollmentgroup-name替换为该 agent 在 4.x 上所属的实际分组名。这里有一个容易踩的坑agent 在 4.x dashboard 上显示某个分组不代表该分组写在了它的ossec.conf里——有些部署方式下归属只存在于 manager 侧。请以 agent 的ossec.conf为准不要依赖 dashboard。如果某台 agent 启动时没有配置分组它会进入default分组需要在 agent 重连后手动分配分组见排查章节。步骤 4配置注册密码清除旧 key 并启动 agent从 Wazuh 5.0 起注册服务要求密码安装包将 authd 的use_password配置为yesagent 不提供密码时注册请求会被拒绝。详见 use_password 配置说明。在启动每台 agent 之前先从 manager 取出注册密码# On the manager sudo cat /var/wazuh-manager/etc/authd.pass再写到每台 agent 上password替换为上一步读到的实际密码agent 守护进程以wazuh用户运行文件必须对该用户可读所以属主和权限要按下面设置# On each agent echo password | sudo tee /var/ossec/etc/authd.pass sudo chown root:wazuh /var/ossec/etc/authd.pass sudo chmod 640 /var/ossec/etc/authd.pass然后清除旧 manager 下发的客户端密钥并启动 agent——分组只在注册握手时发送还留着旧 key 的 agent 必须重新注册所以先删掉client.keys该文件是旧 manager 下发的客户端密钥删除后 agent 将以全新注册方式重新入组# On each agent rm -f /var/ossec/etc/client.keys systemctl start wazuh-agent注册时 agent 把配置的分组发给 managermanager 把归属写入global.db在下一次 keepalivemanager 编译并下发该分组的共享配置。如果 agent 声明了 manager 上不存在的分组注册会被拒绝agent 日志中会出现wazuh-agentd: ERROR: Invalid group: group. Unable to add agent (from manager)处理方式见下一节。验证分组归属dashboard 方式打开Agents management - Summary查看各 agent 的分组列API 方式API 需要认证 token先用你的 API 凭证默认用户wazuh向 manager 申请之后的调用复用token 会过期失效时重新申请manager-ip、user、password替换为实际值TOKEN$(curl -u user:password -k -X POST \ https://manager-ip:55000/security/user/authenticate?rawtrue)查询指定 agent 的分组curl -k -X GET https://manager-ip:55000/agents?agents_listagent-idselectgroup \ -H Authorization: Bearer $TOKEN以下是迁移文档给出的示例响应文档示例输出实际以你的环境为准其中 001 注册时带分组、002 未配置分组而落入default{ data: { affected_items: [ {id: 001, name: web-server-01, group: [linux-servers]}, {id: 002, name: web-server-02, group: [default]} ], total_affected_items: 2, total_failed_items: 0, failed_items: [] }, message: All selected agents information was returned, error: 0 }排查注册被拒 Invalid group 与手动分配分组场景 Aagent 声明的分组在 manager 上不存在日志现象为上文提到的ERROR: Invalid group: group. Unable to add agent (from manager)注册被拒、agent 无法连接。三种解决路径任选其一方案 1先恢复分组再重启 agent。确认该分组的目录已按步骤 2恢复到 manager然后重启 agent 让它重新注册。方案 2手动创建该分组让 agent 先连上分组配置稍后再补。dashboard 路径Agents management - Groups - Add new group填入缺失的分组名并保存或调用 APIgroup-name替换为实际分组名curl -k -X POST https://manager-ip:55000/groups \ -H Authorization: Bearer $TOKEN \ -H Content-Type: application/json \ -d {group_id: group-name}然后重启 agent 重新注册。配置补齐方式要么按步骤 2 完成该分组的迁移要么在 dashboardAgents management - Groups的 Actions 列点铅笔图标Edit group configuration手工编辑后保存。方案 3从 agent 配置中去掉分组。删除 agentossec.conf里的groups标签让它先进入default分组再按下面的手动分配流程把它划回正确分组。场景 Bagent 注册时未配置分组落入了 default如果 agent 的ossec.conf里没有分组注册时未发送它会在default分组。agent 重连后手动分配即可。dashboard 路径Agents management - Summary在 Actions 列点...图标选择Edit groups在弹窗中输入或从下拉列表选择分组名保存API 方式agent-id、group-name替换为实际值# Assign a single agent to a group curl -k -X PUT https://manager-ip:55000/agents/agent-id/group/group-name \ -H Authorization: Bearer $TOKEN批量分配可以按分组列出 agent 后循环调用以下 agent id001 002 003为文档示例值替换为实际的 agent id 列表for agent_id in 001 002 003; do curl -k -X PUT https://manager-ip:55000/agents/${agent_id}/group/group-name \ -H Authorization: Bearer $TOKEN done手动分配分组后重启各 agent 或等待下一个 keepalive 周期manager 才会把更新后的merged.mg推下去。一个需要注意的细节分组分配是追加语义手动分配的 agent 会保留原有的default归属。如果希望它只属于目标分组可在同一个 Edit groups 弹窗中清除default后保存或调用 API 移除以下为文档示例002与default按实际替换curl -k -X DELETE https://manager-ip:55000/agents/002/group/default \ -H Authorization: Bearer $TOKEN迁移完成与限制当所有 agent 都出现在各自的原始分组、API 查询结果与 4.x 时期一致时迁移完成。两点限制需要记住5.0 没有任何自动的分组迁移或推断工具之后新增、调整分组都依赖manager 上存在分组目录 agent 注册声明或手动分配这条路径恢复的agent.conf若仍含 4.x 废弃选项共享配置会在编译时失败需要在 agent 连上前按 5.0 参考文档修正。完整的分步示例与更多截图参见 代理分组迁移指南manager 主配置ossec.conf、internal_options.conf等的迁移另见 Manager configuration migration。【免费下载链接】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),仅供参考
返回列表