资讯中心

Veeam曝CVSS 9.0严重RCE漏洞:备份系统成勒索软件首攻目标

📅 2026/9/25 11:55:21
Veeam曝CVSS 9.0严重RCE漏洞:备份系统成勒索软件首攻目标
Veeam又出大事了。这次是 Backup Replication 的一个严重远程代码执行漏洞官方给的 CVSS 评分是 9.0。做运维的人看到“备份软件”和“远程代码执行”这两个词放在一起就应该立刻警觉这绝不是什么“设备管理页面留了个小口子”这种级别的问题而是攻击者可以直接在备份服务器上执行任意命令的后门。我不是在吓大家。过去几年国内外应急响应的案例里勒索软件进场的第一站几乎都有备份系统的身影。攻击者先进备份服务器把这个“最后防线”拿下再开始加密业务主机这样就算你发现了也没有地方能恢复数据。所以 Veeam 这则安全通告不管你现在用不用这个产品只要你负责服务器的安全和可用性都值得花十分钟把这篇文章看完。我会从漏洞为什么严重、怎么确认自己有没有中招、升级时有哪些坑、以及事后怎么加固这四条线把这次修复讲透。1. 这轮漏洞的杀伤力一个9.0的RCE到底意味着什么1.1 CVSS 9.0是怎么评出来的CVSSCommon Vulnerability Scoring System是工业界通用的漏洞评分体系v3 版本满分是 10 分。9.0 落在“严重Critical”区间意思是这个漏洞一旦被利用可以直接对受影响的系统做出毁灭性影响而且绝大多数情况下不需要什么高深的利用技巧。要理解为什么 Veeam 给 9.0可以拆开看 CVSS 的几个核心指标。首先是攻击向量Attack Vector。如果漏洞需要物理接触设备评分就低因为实际操作门槛很高如果是通过网络远程触发那攻击向量就是“网络”直接拉高基础分。Veeam 这个漏洞走的就是网络通道攻击者不需要坐在机房里只要网络能触达目标服务就行这是 9.0 的地基。其次是攻击复杂度Attack Complexity和权限要求Privileges Required。这两个指标决定“有多容易打”。攻击复杂度越低、需要的权限越少评分越高。9.0 这种分数通常意味着漏洞触发条件并不苛刻攻击者很可能不需要任何有效账号或者在很低权限的情况下就能利用。最后是影响指标Impact也就是机密性、完整性、可用性。远程代码执行意味着攻击者拿到的是“能执行操作系统命令”的能力这意味着机密性受影响能读取服务器上的所有文件包括 Veeam 里保存的备份凭据。完整性受影响能篡改备份任务、改配置、植入后门。可用性受影响能把备份服务器打瘫或者删掉历史备份。CVSS 里三个影响项全高的情况下漏洞评分就会往 9.0 以上冲。至于为什么是 9.0 而不是 9.8 或者 10.0通常是因为某一个指标扣了分比如攻击复杂度稍微偏高或者需要低权限而非零权限。但说实话对运维来说 9.0 和 9.8 的区别已经不重要了重要的是这是一个能让你整个备份体系沦陷的洞。1.2 攻击面管窥备份软件为什么是勒索软件的第一站很多人不理解备份软件不就是个“把文件复制到另一块盘”的工具吗至于把它说得跟核弹一样这里面的关键在于 Veeam Backup ReplicationVBR在真实生产环境里的角色。VBR 是很多企业虚拟化环境的备份中枢它需要跟 VMware vCenter、Hyper-V、Nutanix 这些虚拟化平台通信需要访问域控做权限校验需要把数据推送到备份存储上。为了完成这些操作VBR 服务器上通常保存了大量高权限凭据域管理员级别的服务账户、虚拟化平台管理员、SQL 数据库账户甚至还有各业务系统的应用账号。换句话说备份服务器就是企业 IT 环境里的“钥匙柜”。攻击者只要攻破这一台机器就等于拿到了整个机房的金钥匙。更麻烦的是很多企业把 VBR 服务器放在了一个“半信任”的网络区域它能访问核心业务网但外网防火墙策略相对宽松它能通过网络访问域控运维人员为了方便也会从办公网直接远程管理它。一旦攻击者在内网横向移动时发现这台机器RCE 漏洞就变成了敲门砖。这类事件不只发生在 Veeam 身上。前几年 Apache Struts2 被爆出 S2-029 系列远程代码执行漏洞的时候多少企业的管理系统直接裸奔在公网上被扫一遍就中招再到输入法等终端软件被爆出远程执行能力其实都在说明一件事任何能执行代码的软件一旦出现 RCE都可能成为攻击链上的一环。备份软件因为权限太大所以尤其危险。2. 修复前先自查确认版本、补丁与暴露面2.1 三步快速判断当前环境是否在风险范围内面对这种安全通告第一步不是急着下载补丁而是先搞清楚自己到底在不在风险名单里。我建议按下面三个步骤来排查。第一步确认 VBR 服务器当前版本。最靠谱的方式是打开 Veeam Backup Replication 控制台点“帮助”菜单里的“关于 Veeam Backup Replication”里面会显示完整版本号和内部 Build 号例如“Veeam Backup Replication 12.1.0.2131”这种格式。如果你没有控制台访问权限也可以在服务器上打开 Windows 的“卸载程序”列表找到 Veeam 相关条目或者进注册表路径HKLM\SOFTWARE\Veeam\Veeam Backup and Replication查看已安装版本号。第二步对照官方安全公告的受影响版本列表判断自己是否命中。这里要特别提醒一句Veeam 的补丁公告一般会按产品线和版本分支列出比如某个分支的某些 Build 受此影响而某些 Build 已经包含修复。如果你看到自己的版本号正好落在受影响区间就继续往下走如果不确定建议直接查 Veeam 官网的安全中心文档不要靠群里转发的二手截图做判断。第三步排查部署拓扑里还有什么组件。VBR 的部署不只是那一台备份服务器通常还包括备份代理Backup Proxy、备份存储库Repository、Veeam 控制台、Veeam 复制服务等。安全漏洞如果出在服务器组件上那么所有与该服务器关联的组件都要纳入升级范围如果漏洞在某个共享库或服务里那么单独升级一台服务器并没有用需要整体拉齐。另外如果你手头还有运行 Veeam 9.5 这种非常老版本的环境我建议直接把它列入“重点观察”清单。9.5 分支在功能迭代和安全更新覆盖上都已经非常老了大概率不在这次安全更新的覆盖范围内。遇到这种情况不要临时抱佛脚而是要借这个机会规划一次跨版本升级哪怕先升级到当前主流分支的相邻版本也比守着老版本裸奔强。2.2 端口与组件暴露情况梳理在升级之前你需要先掌握一个信息VBR 服务器到底有哪些端口对外在监听这些端口是不是真的需要被办公网、业务网甚至公网访问Veeam Backup Replication 作为一个典型的 Windows 服务集群它对外暴露的服务有一组常见端口重点先关注下面这几个端口协议主要用途风险说明9401/TCPTCPVeeam Backup Service 服务通信核心服务端口代理和服务器之间大量依赖它漏洞热门目标9392/TCPTCPVeeam RESTful APIHTTPS如果开放到非信任网段等于把管理接口交出去5985/TCPTCPWindows 远程管理WinRM常用于远程执行与管理若暴露需要额外警惕135/TCP 等TCPWindows RPC 服务Windows 基础端口被枚举利用的常客你可以登录到 VBR 服务器上用下面这个命令快速看当前监听端口netstat -ano | findstr 9401 netstat -ano | findstr 9392也可以查看全部 TCP 监听netstat -an | findstr LISTENING看到监听状态后再对照防火墙规则判断谁可以访问这些端口。这里有一个很现实的问题很多运维为了方便会把 VBR 管理端口配成“允许任何来源访问”或者干脆关掉了 Windows 防火墙。这在没有漏洞的时候看起来省事但一旦出现 RCE防火墙规则就是最后一道防线。所以在确认漏洞影响范围的同时也应该把防火墙策略和 VBR 服务器的可访问范围一并梳理出来列为修复项而不是事后补救项。3. 升级加固实操补丁安装、代理更新与访问控制3.1 升级前准备先把配置备份做了“备份软件升级前也要先备份自己”这句话听起来像绕口令但我在处理过多次升级事故后愈发觉得这是最容易被忽略、也最致命的一步。VBR 的核心配置存放在它的配置数据库里。虽然我们习惯叫它“Veeam 备份服务器”但它的工作状态、作业计划、存储库绑定关系、全局设置都依赖 SQL Server 里的 VeeamBackup 数据库。升级过程中如果数据库迁移或结构更新失败最坏的情况下控制台会直接打不开作业也没法恢复。所以在动补丁之前我强烈建议按这个顺序做一套完整备份第一在 VBR 控制台里打开“主菜单”进入“配置备份”指定一个目标位置最好是另一台存储设备而不是这台服务器本身的磁盘然后手动触发“立即备份配置”。这一步会把 Veeam 的系统配置打包成可恢复的备份文件。操作完成后一定要确认备份任务显示成功并且文件大小不是 0KB。第二用 SQL Server 管理工具直接备份 VeeamBackup 数据库。如果你不确定 SQL 服务运行在哪个实例上可以在控制台“帮助”→“关于”里看到 SQL 实例信息或者直接运行 services.msc查看名为 SQL Server 相关的服务状态。备份 SQL 数据库的好处是即使 VBR 配置备份失败你也可以通过还原数据库让系统恢复到一个已知状态。第三如果 VBR 服务器是虚拟机建议先打一个虚拟机快照再开始升级。虚拟机快照不是万能的但对于服务器端这种小而快的回滚手段在升级出问题的时候能省下大量抢救时间。物理机的话至少确认系统还原点是可用的。第四检查服务器磁盘空间。VBR 的升级程序需要解压和暂存大量文件通常需要预留至少 10GB 可用空间除非你只升级最小组件。顺手再确认一下服务器操作系统版本是否在官方兼容列表里很多旧版本 Windows Server 在升级时会被安装程序直接拒掉。3.2 补丁安装全流程记录准备工作做完就可以正式进入补丁安装阶段了。我这里写一个实际可参考的执行流程部分步骤基于常见实践补充具体界面会因版本略有差异。先用管理员身份登录 VBR 服务器打开 Veeam 官网下载中心找到对应产品的最新累积补丁或安全补丁的 ISO 镜像。下载完成后务必备份一下安装文件的哈希值用它和官网公布的校验值比对确保文件在传输过程中没被篡改。接下来建议暂时停止所有正在运行的备份作业。不需要一个个去等作业跑完你可以直接在控制台的“作业”视图里选择所有正在运行的任务并点击“停止”或者直接暂停备份计划里的所有任务。这一步不是为了节省带宽而是避免升级过程中服务重启导致作业卡死在中间状态。挂载 ISO 之后运行根目录下的 Setup.exe 或 Start.exe选择“Upgrade Veeam Backup Replication”选项。安装向导会让你选择要升级的组件正常情况下保持默认全选即可除非你确定某些组件不需要安装。随后会要求输入备份服务器的服务账户和密码这个账户必须对本地服务器有管理员权限并且能正常访问 SQL Server。如果你原来用的就是这个账户这里直接沿用即可如果密码已经改过先确认没有用旧密码导致连不上数据库。安装过程通常会持续一段时间中间可能会多次重启 Veeam 相关服务。这段时间不要关掉安装窗口也不要手动去启动或停止服务让安装程序自己控制。升级完成后有的版本会提示重启服务器建议照做不要省这个重启步骤因为部分 DLL 和加密库只有在系统冷启动后才会稳定加载。重启后打开 VBR 控制台在“帮助”→“关于”里检查版本号是否已经变成修复版。同时打开服务管理器确认“Veeam Backup Service”和其他相关服务状态为“正在运行”。如果控制台能正常登录、能看到之前的作业列表和存储库状态主程序就算升级到位了。3.3 代理与控制台同步更新很多人在升级完 VBR 服务器后觉得完事了结果第二天收到一堆作业失败告警日志里写着“代理版本不受支持”。为什么因为补丁通常只更新了服务器端而备份代理、挂载服务器以及远程控制台都需要和服务器保持相同的版本线否则它们之间的通信协议和数据模型会不一致。升级主服务器后你需要在 VBR 控制台的“备份基础设施”里查看“受管服务器”列表。凡是显示为旧版本的代理或仓库都应该右键选择“更新组件”或“重新部署”让控制台把新版组件推送到这些机器上。如果你管理的服务器很多建议分批更新先更新核心环境的代理再处理分支机构的边缘节点避免一次性推送引发网络拥塞。对于使用 Veeam Agent 的物理机或工作站如果没有通过控制台统一纳管就需要准备一个分发方案要么让用户手动下载安装包要么通过系统管理工具统一推送。不要以为“VBR 补丁打上了Agent 那边会自动升级”Veeam Agent 本身也是一个独立安装包一般不随 VBR 服务器补丁自动更新。升级完成后建议创建一个临时备份作业手动跑一次确认备份流程、重删压缩、复制任务都正常。特别是如果你的环境里有 Veeam Backup Copy Job 这类跨服务器复制的功能一定要验证数据是否能正常从源端传到目标端。3.4 端口收敛与访问控制加固补丁升级只能解决“已知漏洞被利用”的问题解决不了“管理端口对所有人敞开”的问题。所以每次安全事件我都会顺手做一轮端口收敛。这次也分享一个可以直接参考的做法。如果你的 VBR 服务器不需要对外提供管理能力那么防火墙规则应该默认拒绝所有来源的 9401 和 9392 访问只允许备份服务器与代理之间、备份服务器与管理网段之间的通信。具体用 PowerShell 可以这样配置假设管理网段是 10.10.20.0/24New-NetFirewallRule -DisplayName VBR Management - 9401 Allow LAN -Direction Inbound -Action Allow -Protocol TCP -LocalPort 9401 -RemoteAddress 10.10.20.0/24 New-NetFirewallRule -DisplayName VBR API - 9392 Allow LAN -Direction Inbound -Action Allow -Protocol TCP -LocalPort 9392 -RemoteAddress 10.10.20.0/24执行完后建议先移除原来的“允许所有来源”的规则再重启 Veeam 相关服务最后用另一台机器测试一下端口是否真的不可达。除了防火墙还要看重 Veeam 服务账户的权限。很多环境里VBR 服务账户直接给了域管理员权限理由是“方便连接域控做权限校验”。这个习惯在无漏洞时代也许可行一旦服务器被攻破攻击者就相当于拿到了域内最高权限可以横扫整个内网。我的建议是专门给 Veeam 创建独立服务账户按官方文档授予最小所需权限再配好专用加密密钥如果实在无法在短期内改权限至少要确保这个账户的密码是强密码并开启定期轮换制度。最后检查一下服务器上是否开启了不必要的远程管理协议。比如 WinRM 如果只是你自己偶尔用那就把远程访问的源 IP 限制到管理机网段不要全开。4. 升级故障排查与长期防复发经验4.1 升级过程中遇到过的五个典型问题再规范的流程实际操作中也会碰到各种状况。我把升级 VBR 时最常遇到的几个问题按现象、原因、解决办法列出来你可以直接保存成速查表现象可能原因处理方法升级到一半卡住或显示 Failed后台仍有备份作业或服务被占用停止所有作业重启 Veeam Backup Service 后再运行安装程序控制台提示无法连接备份服务器Veeam Backup Service 未启动或 9401 端口被防火墙拦截检查服务状态执行 netstat 确认端口监听再检查防火墙规则升级后代理显示离线或版本不受支持代理组件没有同步更新在控制台“受管服务器”里手动触发更新或重新部署代理SQL 数据库升级失败服务账户没有数据库变更权限临时授予服务账户 sysadmin 角色完成升级后再收权安装程序提示文件校验不通过杀毒软件实时监控拦截了解压文件临时关闭或添加排除目录重新挂载 ISO 后校验哈希再执行安装这里单独说一下第二个问题。控制台连不上服务器很多人的第一反应是重装 Veeam但其实 90% 的情况下只是服务没起来。你可以先打开命令提示符执行sc query VeeamBackupService看服务当前状态。如果不是 RUNNING就先执行sc start VeeamBackupService。如果服务起不来再去查看 Veeam 的日志目录通常位于C:\ProgramData\Veeam\Backup下面找最近时间的日志文件重点关注数据库连接错误和权限错误。这个思路可以帮你省掉很多无谓的重装动作。第四个问题的处理也要特别注意。SQL 权限不足时有些人会顺手把服务账户永久加入 sysadmin 角色图省事。这样做短期解决了升级问题长期却把 VBR 服务器的数据库权限放得太高。建议升级结束后立刻把这个角色收回来或者调整到仅具备 Veeam 所需权限的角色避免因权限残留引发新的安全问题。4.2 从这次漏洞学到的三件“反脆弱”措施每次安全事件过后我都会提醒自己不要只盯着“打补丁”这一个动作还得做三件长期的事。第一件建立版本基线清单。把整个 VBR 环境里的所有组件包括备份服务器、代理、控制台、存储库、Agent 客户端全部记录成一张表写明安装版本、补丁级别、负责人、最近升级时间。这张表平时看着不起眼但在安全公告发布后你会发现自己能比别人快很多判断是否受影响而不是临时登录每台服务器查版本。第二件把补丁升级纳入月度例行工作。很多企业只在遇到实际攻击时才想起打补丁结果每次都手忙脚乱。Veeam 这类基础设施软件的安全补丁其实不应该积压超过一个月。你可以设定一个固定窗口比如每月的第一个周末专门处理安全和功能性更新升级前按我前面写的“配置备份、数据库备份、快照”顺序执行把风险控制到最小。第三件定期做配置恢复演练。光有配置备份文件还不够你得确保真的能把它恢复到新服务器上。找一个测试虚拟机原样模拟一台 VBR 服务器把备份的配置导进去看能不能完整还原作业和存储库。这个过程第一次做可能需要半天但做熟了也就一个小时。真遇到服务器报废或勒索加密的时候你会发现这一个小时换来的是整条数据生命线。这次事件之后我个人的一个体会是备份系统在安全体系里的位置已经从“最后一道防线”变成了“最高价值目标”。攻击者的思维很简单你要恢复数据我就先灭掉你的恢复能力。所以把 Veeam 这类备份软件当成核心安全设备来对待一点都不过分。升级只是起点真正能让你睡得着觉的是持续控制好版本、权限和网络暴露面这三件事。

看完文章,想为自己的企业也做一次专业网站诊断?

尧图顾问免费为您评估现有网站,并给出建站/改版建议与报价方案。

免费获取方案