内容提要
近期多家VPS服务商宿主机遭入侵,攻击者利用qemu-guest-agent的guest-exec通道在VPS内植入木马。完全禁用该代理会影响安全关机与备份,建议在/etc/qemu/qemu-ga.conf中通过allow-rpcs配置白名单,仅允许关机、fsfreeze、状态读取等安全调用,禁止其他调用。旧版系统配置项可能不同,可用脚本自动检测并回滚。此外需修改初始root密码。
延伸解读
为什么优先阻断 guest-exec 通道
文章指出,在商家宿主机被入侵的事件中,攻击者最常用且成本最低的手法是通过 qemu-guest-agent 的 guest-exec 通道在 VPS 内直接执行木马部署命令。相比写盘等更繁琐的途径,这条路径对低价值目标尤为常见。因此,即使无法完全防御宿主机层面的入侵,先切断 guest-exec 仍是低成本且副作用较小的做法。
完全禁用代理的副作用
直接禁用 qemu-guest-agent 可能影响安全关机和备份功能,因为这类操作依赖 guest-fsfreeze 相关调用。若缺少这些调用,备份时可能产生文件系统损坏的备份。因此文章建议不要一刀切禁用,而是通过白名单只放行安全关机、fsfreeze、状态读取等必要调用,在保留功能的同时关闭高风险通道。
配置兼容性与回滚机制
文章提醒,旧版系统的 qemu-guest-agent 配置项名称可能不同,直接套用 allow-rpcs 白名单可能无效。为此作者提供了一键脚本,会先检测 qemu-ga 是否支持 --allow-rpcs,并在写入配置后验证服务能否正常启动;若失败则自动恢复备份或删除新配置,避免因配置错误导致代理不可用。
不要忽略初始 root 密码
除了限制 qemu-guest-agent 的调用权限,文章还特别提醒用户修改初始 root 密码。这一细节说明,在宿主机被入侵的风险之外,弱口令或默认密码同样是攻击者可能利用的入口。将白名单配置与修改初始密码结合,才能更全面地降低 VPS 被植入木马的风险。
Q&A
为什么最近VPS容易被入侵?攻击者常用什么方法?
近期多家VPS服务商的宿主机或管理面板被入侵,导致VPS被连带入侵。攻击者最常用且低成本的方法是利用qemu-guest-agent的guest-exec通道在VPS内执行木马部署命令。
直接禁用qemu-guest-agent会有什么副作用?
完全禁用qemu-guest-agent可能会影响安全关机和备份功能,因为这些功能依赖guest-fsfreeze相关调用,否则可能产生文件系统损坏的备份。
如何配置qemu-guest-agent白名单来限制exec调用?
在/etc/qemu/qemu-ga.conf中设置allow-rpcs,仅允许安全调用如guest-shutdown、guest-fsfreeze-freeze、guest-fsfreeze-thaw、guest-get-*等,禁止其他不安全的调用。具体列表可参考文章提供的配置。
旧版系统的qemu-guest-agent配置项名称不同,该如何处理?
旧版系统的配置项名称可能不同,直接修改可能无效。建议使用文章提供的一键脚本,脚本会自动检测兼容性,如果不支持allow-rpcs会报错并回滚。
除了限制qemu-guest-agent,还有什么安全建议?
另外需要记得修改初始root密码,以增强VPS的安全性。
白名单中允许了哪些RPC调用?
允许的RPC调用包括:guest-sync-delimited、guest-sync、guest-ping、guest-info、guest-get-osinfo、guest-get-host-name、guest-network-get-interfaces、guest-get-time、guest-shutdown、guest-fsfreeze-status、guest-fsfreeze-freeze、guest-fsfreeze-freeze-list、guest-fsfreeze-thaw、guest-get-fsinfo、guest-get-disks、guest-get-vcpus、guest-get-timezone、guest-get-memory-block-info、guest-get-memory-blocks、guest-get-diskstats、guest-get-cpustats、guest-get-load、guest-network-get-route、guest-fstrim。