这几天两件事叠在一起,正好是自建站最怕的组合:网络层和应用层一起出问题。据公开报道,安全研究人员 Erica Windisch 揭露,虚拟私人网络(VPN)服务 Tailscale 内建的 SSH 远端登录功能存在权限提升问题——攻击者如果先控制一台已获准登录的设备,且 SSH 转送(SSH relay)处于允许状态,就有可能拿到其他服务器的最高管理权限。
不少客户看到标题第一句就问我:我一台服务器、跑个 WordPress,要不要慌?我的回答一般分两半。你的机器全在同一个 tailnet 里、开发同事的笔记本也挂在上面、还开着 Tailscale SSH 转送,那这事跟你有关,今天就该动;你只有一台机器、用密钥登录、没装 Tailscale,那这条新闻对你的直接影响很有限,别急着换配置。

我这种一两台机器的站,会被打到吗?
会被打到的前提是「已获准的设备被攻陷」加「SSH 转送允许」两个条件同时成立。所以判断标准不是你的站点跑 WordPress 还是 DedeCMS 模板,而是你的登录链路怎么搭的。做客户站的小型团队最容易踩:为了在家改代码,把整条 Tailscale 链路打通,权限却只有一套 root,谁的电脑丢了、中了木马,整批服务器跟着一起暴露。你手上的机器多、人多、权限没分开,风险就不是单机的,是整网的。
反过来,自建站里更常见的坑其实是另一头。同一天的公开报道里,PHP2Shell 漏洞(CVE-2026-109618 与 CVE-2026-109619)从 10 月 20 日起引发一波全球网站安全事件,两天后 PHP 基金会又提示还有一个待修补的远程代码执行(RCE)漏洞 CVE-2026-115560,报道提到的缓解方式涉及 session.upload_progress 相关配置(具体以官方公告为准)。也就是说,就算 SSH 你锁得再紧,PHP 版本停在旧分支,一样会被从 Web 层打进来。
今天能落地的几处改动,先看登录再看补丁
结论先说:先关掉不需要的 SSH 转送,再收敛 root,最后看 PHP 补丁。顺序反了的话,你补丁打得再勤,攻击者还是可能从另一台设备直接 root 进来。
- 关掉用不上的 Tailscale SSH 功能,机器上可执行:tailscale up --ssh=false(不同版本参数可能有差异,以官方文档为准),并在管理后台把 SSH 访问控制设为默认拒绝。
- 确认 22 端口只对内网或白名单开放:ss -tlnp 看一遍监听地址,公网暴露的直接收紧。
- ssh 配置里关掉密码登录和 root 直登,PasswordAuthentication no、PermitRootLogin no,然后给每个开发者单独账号,别共用一把 root。
- 宝塔面板建站教程里我们反复强调的那几条,这里同样管用:改默认端口、限制授权 IP、面板绑定域名、装 fail2ban。面板开着公网 8888 且用弱密码,比 Tailscale 这事危险得多。
- PHP 侧盯着官方公告走,该升版本升版本;一时升不了的,按报道提到的方向处理 session.upload_progress 配置,别拿「网站还能打开」当没事的依据。
这套动作做完,基本把「一台设备沦陷拖垮整网」的链路截断了。我们经常遇到的情况是:配置改完,客户发现原来好几个端口一直在公网裸奔。顺手检查一遍,往往比换机器有用。
要不要为这事换服务器、加高防?
多数自建站不用。这次是访问控制的问题,不是带宽和硬件的问题,配置买高了、防护买贵了,都挡不住一把泄露的 SSH 密钥。钱该花在人和流程上:权限分开、密钥轮换、补丁有专人跟。我们后台见过太多站,机器配得挺漂亮,root 密码是三年前设的。
真要考虑换节点的,是另一类情况:你的用户在境外,或者这个项目暂时不面向境内用户。这种时候香港服务器可以看,部署周期短、不用走 ICP 备案,回程线路和延时值不值那个钱,得看你的用户在哪;面向境内用户的网站,按内地规则该备案还是要备案,换到境外节点不等于绕开这一步。
如果你正好要重做站点、顺手把安全基线一起收拾,微码盒的 WordPress 主题、DedeCMS 模板和 WHMCS 源码都在站内,装之前先看一眼服务器知识库里的安全设置那几篇,比事后救火省事。站内有宝塔面板建站教程和建站运维笔记,改 SSH、锁面板、升 PHP 的具体步骤都写过。要不要现在就动手,你比我清楚自己服务器上挂了几个账号。
