09-06 服务器安全加固:让节点不被攻破、不被盯上
用途
节点服务器裸奔在公网上,会被扫描、爆破,也更容易被识别成代理机。这篇讲一套主流加固:密钥登录、防火墙收口、面板走隧道、2FA。 关联:06-01 防火墙与端口、06-10 零信任网络、06-09 VPN。
一、先分清:加固管理通道,不碰数据通道
关键结论
安全加固(SSH、防火墙、面板、2FA)全在管理通道上,和你科学上网的数据通道(节点端口)是两回事。防火墙是放行节点端口的,所以加固不会让翻墙变慢。
二、主流加固清单(按性价比排)
第一梯队(必做)
- SSH 密钥登录 + 关闭密码登录:生成 ed25519 密钥,服务器只认密钥(
PasswordAuthentication no)。这样暴力破解直接归零——密码登录是被爆破的主要风险点。 - 防火墙只开必要端口(06-01 防火墙与端口):用 ufw「默认拒绝入站」,只放行节点端口(如 443/80)、订阅端口、SSH 端口,其余全关。扫描器扫过来只看到一个像正常 HTTPS 的端口,机器「不像」代理机。
- 保持系统/内核更新。
第二梯队(推荐)
- 限制 root:
PermitRootLogin prohibit-password(root 仅密钥)。 - 管理面板别裸奔:把面板端口从公网撤掉,只通过 SSH 隧道访问(见下)。
- 面板开 2FA(两步验证,TOTP 动态码)。
改 SSH 端口的真相
「改 SSH 端口」在主流里属于最次要的一项,只是减少扫描噪音,不是真正的安全边界。把上面密钥登录 + 防火墙做好,远比改端口重要。
三、面板走 SSH 隧道(端口转发)
把面板端口(如 34567)对公网封掉后,怎么访问?用 SSH 本地端口转发:
ssh -i 私钥 -L 34567:localhost:34567 root@服务器IP
-L 本地端口:localhost:远程端口= 借已有的加密 SSH 连接,开一条「专线」,把你电脑的 34567 接到服务器内部的 34567。- SSH 连着,隧道就通;浏览器开
https://localhost:34567/...就能进面板。SSH 一断,隧道就没(显示「拒绝连接」是正常的,不是故障)。 - 这样面板永不暴露公网,只有登录了 SSH 的你能进。这正是 06-10 零信任网络 的思路:不默认信任公网,访问要先过身份关。
安全改造的铁律
任何可能把自己锁在外面的操作(关密码、改防火墙),都要先确认新方式能连上,再关旧的。比如先验证密钥能登录,再禁用密码;并留好救命通道(服务商面板的浏览器 Root shell 仍可用 root 密码进系统)。
四、3x-ui 面板要点
节点常用 3x-ui 网页面板管理(建/改入站、看流量、出订阅)。几个易忘点:
- 面板登录账号 ≠ 服务器 root 账号,是两套。
- 面板常设密码路径(webBasePath),访问要带上这串路径,否则根目录返回 404。
- 忘记面板密码可在服务器上用
x-ui命令重置;密码是 bcrypt 加密存的,别直接改数据库。
一句话总结
加固只动管理通道、不影响翻墙速度。核心四件套:密钥登录、关密码、防火墙只开必要端口、面板撤进 SSH 隧道 + 2FA。原则:先验证新路再断旧路,永远留救命通道。