经常有群友抱怨:我搭的 VLESS-Reality 或者 Hysteria 刚刚搞好,用得好好的,怎么没过两周就被封锁了端口,甚至整段 IP 被墙了?
大家往往只盯着代理协议的隐蔽性是不是被突破了,却很少关注运行 Sing-box 的 VPS 全局安全机制。互联网上存在着数百万只 24 小时不间断扫描(Scanner)各个 IP 漏洞的僵尸网络自动发包机。今天我们重点探讨,在部署好代理节点以后,如何对 VPS 本身做加固和隐身。
致命弱点 1:默认的 SSH 端口 (22) 是活靶子
百分之九十的主机商给你的默认远程连接工具都是 22 端口。大量黑客软件会每天对你这个公网 IP 的 22 端口进行疯狂的密码爆破试探。有些服务商如果检测到你的 IP 常年被海外大量的黑产攻击,甚至会拔你的网线!
解决方案:修改默认 SSH 端口
# 编辑 ssh 配置文件
nano /etc/ssh/sshd_config
找到 #Port 22 这一行。去掉井号,把 22 换成极高位的端口,比如:
Port 45678
保存并重启 SSH 服务(千万记得先在服务商的面板防火墙也放行这个新端口!):
systemctl restart ssh
这一个小动作,就能过滤掉全球 99% 毫无意义的自动扫描攻击。
致命弱点 2:针对代理端口的高频刺探
当你把 Sing-box 的某一个入站(inbounds)比如开了 443 或高位端口 18443,某些深度包侦测的防火墙和主动扫描探测节点可能会对该端口疯狂发送一些不可理喻的假包,看服务端的反馈。如果你的服务回应有特征性数据包,直接拉入黑名单!
解决方案 A:使用防探测能力强的底层协议(Reality 和 Hysteria2)
- VLESS Reality 的革命性意义在于:如果客户端的发起的握手没有携带正确的
short_id匹配密码,Sing-box 内核甚至都不会返回普通的“解密失败”,而是直接完全伪装成指向一个大型真网站(如微软官网),把非法试探者欺骗去浏览正规内容。 - Hysteria 2 协议 提供了
obfs(混淆) 字段要求。只有密语对上的客户端才能建立连接;对不上的那些僵尸探测机,包丢过去直接全被默默吃掉(Drop),仿佛这个端口根本没开,达到“隐形的护盾”效果。
解决方案 B:装上 Fail2ban 系统大黑板
利用 Fail2ban 实时分析 Linux 上的访问日志,连续输错密码或向未开放端口做多连接试探的非法 IP,直接交给操作系统的 iptables 切断甚至拉黑 24 小时。
# Ubuntu/Debian 上安装 Fail2ban
apt update && apt install fail2ban -y
# 启动并设置自启
systemctl enable --now fail2ban
这样再也没人可以肆无忌惮地拿着字典爆破你的小机子了。
致命弱点 3:开启了 ICMP 响应(防止被 Ping 出来)
其实很多时候大范围封锁就是通过群发 Ping(ICMP 请求)来检测哪些服务器还活着活着延迟是多少。既然咱们只是安安静静自己翻墙用,就不必告诉世界:“我在这儿”。
你可以通过直接在本地使用内核参数关闭 Ping 响应:
echo "net.ipv4.icmp_echo_ignore_all=1" >> /etc/sysctl.conf
sysctl -p
从此,从外界任何地方 Ping 你的 IP(包括你自己的电脑终端),全部会显示 Request timeout(请求超时)。别人会以为这是一个死了的 IP 或者是空路由,但你的 Sing-box 在特定设置的代理端口上依然悄悄平稳运行。
结语
在如今复杂的网络博弈中,仅依靠优秀的代理核心远远不够。“最高效的防守就是隐藏自己。”
通过上述:更改 SSH 端口、使用强力丢弃机制的加密算法(Reality)、安装防爆破插件以及禁 Ping。你的 VPS 服务器将成为互联网上一座暗中的“幽灵基站”,安全运行长长久久。