跳转到内容

Webmin 安全漏洞:为什么使用管理面板的独立服务器用户现在应该采取行动

更新与新闻  ·   ·   ·  5 分钟 阅读时间

一个拥有 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 安全公告中,同样的基本原则也适用:先检查究竟哪些内容实际可达,再打补丁。

许多 Webmin 安装都使用一键安装脚本的默认设置运行——而这会将 10000 端口向互联网上的任何 IP 地址开放,而不仅仅是你自己的。这是面板变得可被攻击的最常见原因,与所安装的版本无关。

访问方式对比

访问方式可访问范围风险
10000 端口向互联网开放任意 IP 地址高——任何自动化扫描都能发现该面板
防火墙白名单仅限已登记的 IP明显降低,但依赖固定 IP
SSH 隧道 / VPN仅限拥有有效 SSH 或 VPN 访问权限低——对外没有开放端口
已卸载无人可访问无——不再存在攻击面

你的独立服务器五分钟检查

  1. 确认版本。 Webmin 会把版本号写入一个专门的文件。
    cat /etc/webmin/version
  2. 检查可达性。 先在本地确认该服务是否在运行,再从外部进行测试。
    ss -tlnp | grep 10000
    nmap -p 10000 DEINE-SERVER-IP
  3. 限制访问。 只允许自己的 IP 地址,其余全部阻断。
    ufw allow from DEINE-IP to any port 10000 proto tcp
    ufw deny 10000/tcp
  4. 安装更新。 根据安装方式的不同,可以通过包管理器,或面板自带的更新功能(Webmin Configuration → Software Package Updates)进行。
    apt update && apt upgrade webmin
  5. 启用双因素认证,前提是你的 Webmin 自带该模块——可以在 Webmin Configuration → Two-Factor Authentication 中找到。
与其让 10000 端口一直保持开放,不如用 SSH 隧道满足偶尔的访问需求:ssh -L 10000:localhost:10000 root@DEINE-SERVER-IP,然后在浏览器中打开 https://localhost:10000。这样端口对外始终保持完全关闭。
一个能从开放互联网访问到的管理面板,不是一项功能——在你证明并非如此之前,它就是攻击面。

如何检查是否已经生效

完成这五个步骤后,最好用另一台使用不同 IP 地址的设备来测试,比如用手机的移动网络,看看 nmap -p 10000 DEINE-SERVER-IP 现在报告的端口状态是 filteredclosed,而不是 open。同时也值得查看一下 /var/webmin/miniserv.log,看最近几天是否已经出现过来自未知 IP 地址的访问尝试——这能说明该端口此前是否确实处于开放状态。

这对你这位独立服务器客户意味着什么

如果你在我们这里租用独立服务器,交付时不会预装任何管理面板——Webmin、Virtualmin 或类似工具需要你自己安装,相应地,更新和访问限制的责任也在你自己身上。如果你想在不手动扫描每个端口的情况下留意自己的服务器状态,可以通过 Prepaid-Host 的监控服务实现自动化,一旦被监控的服务意外变为可达或不可达,就会收到通知。

归根结底,这个决定很简单:确实需要用 Webmin 的人,就把访问锁起来,并保持版本更新;不再使用的人,就把它卸载——一个已经不存在的攻击面,自然也就不需要再监控了。

常见问题

在 Prepaid-Host 的独立服务器上,Webmin 会自动运行吗?
不会。独立服务器交付时不预装任何管理面板。Webmin、Virtualmin 或类似工具需要你根据需要自行安装,安装后更新和访问限制也由你自己负责。
我如何确认自己的服务器上是否安装了 Webmin?
用 `dpkg -l | grep webmin`(Debian/Ubuntu)或 `rpm -qa | grep webmin`(RHEL 系发行版)检查该软件包是否存在,再用 `ss -tlnp | grep 10000` 检查是否有服务监听在默认端口上。
我需要立即卸载 Webmin 吗?
不一定。如果访问已限制为你自己的 IP 地址,并且版本保持最新,你可以继续使用它。但如果该端口对整个互联网开放,你应该立即更改这一点。
我使用的是 Virtualmin——这份安全公告也和我有关吗?
是的。Virtualmin 建立在 Webmin 之上,两者共享同一套底层架构和默认端口。同样的五步检查同样适用于它。
如果我已经不再主动使用 Webmin,该怎么办?
最干净的做法是彻底卸载它,而不是仅仅关闭,这样服务器上就不会残留一个日后可能被重新启动的过时版本。
Prepaid-Host.com 本身即为服务器、虚拟主机与域名服务商,在此报道的正是自己所处的市场。我们如何处理这一点,见利益披露说明