一个拥有 root 权限、只需在浏览器里输入一个 URL 就能访问的管理面板——这是 Webmin 最大的承诺,同时也是它最大的风险,一旦有你之外的人找到了这个 URL。
- CERT-Bund 的预警与信息服务在编号 WID-SEC-2026-3504 下发布了一份关于 Webmin 的安全公告。
- Webmin 以 root 权限管理整台服务器,默认监听 10000 端口——如果对互联网开放,这就是一条直接的攻击入口。
- 一个五步检查就足以评估自己的独立服务器状况:版本、可达性、访问限制、更新、双因素认证。
- 如果根本不主动使用 Webmin,彻底卸载是最快脱离风险区的方法。
为什么管理面板和单个应用程序不是一个量级
Webmin 不是一个可能被攻破的网站——它是整台服务器的遥控器。通过网页界面可以创建用户账户、设置定时任务(cron job)、修改防火墙规则、安装软件包,以及以 root 权限编辑文件。正因如此,管理面板对攻击者的吸引力几乎超过系统上任何其他应用程序:一次成功的入侵就等于获得完全控制权,而且不只是控制一个网页,而是控制整台机器。
CERT-Bund 的预警与信息服务目前在编号 WID-SEC-2026-3504 下将 Webmin 列为安全相关。关于各个具体漏洞的细节,原始公告才是正确的信息来源——这里要谈的是你应该在自己的独立服务器上具体检查哪些内容。
为什么独立服务器和共享主机的情况不同
在共享主机上,管理面板由提供商负责,更新集中进行。而在独立服务器上,你自己就是管理员——因此也要负责让 Webmin 这类已安装的软件保持更新,不对互联网敞开。这不仅涉及传统的 Webmin 安装,也涉及建立在同一基础上的 Virtualmin。如果你正好在加固自己的访问方式,可以在我们关于正确加固 SSH 访问的文章中找到密钥、端口选择和 fail2ban 方面的基础知识——同样的原则也适用于服务器上任何其他开放的面板。
今年我们已经多次有理由谈到这个话题:在 Proxmox VE 7 中,身份验证可以被绕过;在 Virtualizor 事件中,一个更新渠道遭到篡改。这两个案例都呈现出相同的模式:目标不是背后的应用程序,而是前面的管理面板。在我们介绍过的 BIND 安全公告中,同样的基本原则也适用:先检查究竟哪些内容实际可达,再打补丁。
访问方式对比
| 访问方式 | 可访问范围 | 风险 |
|---|---|---|
| 10000 端口向互联网开放 | 任意 IP 地址 | 高——任何自动化扫描都能发现该面板 |
| 防火墙白名单 | 仅限已登记的 IP | 明显降低,但依赖固定 IP |
| SSH 隧道 / VPN | 仅限拥有有效 SSH 或 VPN 访问权限 | 低——对外没有开放端口 |
| 已卸载 | 无人可访问 | 无——不再存在攻击面 |
你的独立服务器五分钟检查
- 确认版本。 Webmin 会把版本号写入一个专门的文件。
cat /etc/webmin/version - 检查可达性。 先在本地确认该服务是否在运行,再从外部进行测试。
ss -tlnp | grep 10000 nmap -p 10000 DEINE-SERVER-IP - 限制访问。 只允许自己的 IP 地址,其余全部阻断。
ufw allow from DEINE-IP to any port 10000 proto tcp ufw deny 10000/tcp - 安装更新。 根据安装方式的不同,可以通过包管理器,或面板自带的更新功能(Webmin Configuration → Software Package Updates)进行。
apt update && apt upgrade webmin - 启用双因素认证,前提是你的 Webmin 自带该模块——可以在 Webmin Configuration → Two-Factor Authentication 中找到。
ssh -L 10000:localhost:10000 root@DEINE-SERVER-IP,然后在浏览器中打开 https://localhost:10000。这样端口对外始终保持完全关闭。一个能从开放互联网访问到的管理面板,不是一项功能——在你证明并非如此之前,它就是攻击面。
如何检查是否已经生效
完成这五个步骤后,最好用另一台使用不同 IP 地址的设备来测试,比如用手机的移动网络,看看 nmap -p 10000 DEINE-SERVER-IP 现在报告的端口状态是 filtered 或 closed,而不是 open。同时也值得查看一下 /var/webmin/miniserv.log,看最近几天是否已经出现过来自未知 IP 地址的访问尝试——这能说明该端口此前是否确实处于开放状态。
这对你这位独立服务器客户意味着什么
如果你在我们这里租用独立服务器,交付时不会预装任何管理面板——Webmin、Virtualmin 或类似工具需要你自己安装,相应地,更新和访问限制的责任也在你自己身上。如果你想在不手动扫描每个端口的情况下留意自己的服务器状态,可以通过 Prepaid-Host 的监控服务实现自动化,一旦被监控的服务意外变为可达或不可达,就会收到通知。
归根结底,这个决定很简单:确实需要用 Webmin 的人,就把访问锁起来,并保持版本更新;不再使用的人,就把它卸载——一个已经不存在的攻击面,自然也就不需要再监控了。