很多刚买好 VPS 准备搭节点或者建站的小伙伴,都遇到过下面这些惊心动魄的真实场景:
“刚拿到 VPS 才用了两天,登录后台发现日志里有几万次来自全球各地的密码爆破记录!”
“主机商突然发来邮件:您的 VPS 涉及恶意攻击/对外发送垃圾邮件,已为您强制关机封禁!”
“连上 SSH 用top命令一查,CPU 占用率飙到了 100%,进程里跑着一个叫kdevtmpf或xmrig的恶意挖矿程序!”
在 2026 年,IPv4 公网上分布着成千上万个 24 小时不停歇运行的自动化扫描木马机器人(Botnet)。任何一台新建的 VPS,从上线那一刻起,最快 10 分钟内就会被黑客的扫描器盯上。
如果你依然保留着默认的 22 端口、允许 root 密码登录、不装防火墙,你的服务器就跟裸奔没有任何区别。
本文用大白话总结了自建代理 VPS 安全防护的 15 条黄金铁律,手把手教你打造金汤城池!
一、一句话搞懂:黑客是怎么抓走你的 VPS 的?
我们先用一个生动的防盗比喻看懂攻防本质:
PLAINTEXT
裸奔 VPS (默认配置):相当于你把家安在繁华的大马路边,门牌号写着“22号”,
门锁是旧式弹簧锁,且门上贴着“欢迎尝试密码:123456”。
黑客每天拿几百万把钥匙去试(暴力破解),试出来就把你家洗劫一空。
安全加固后的 VPS:相当于你把门牌号改成了无人知晓的“49152号”,去掉了钥匙孔,
只允许持有一把经过加密的“物理金钥匙(SSH 密钥)”的人开门,
门外还聘请了保安(Fail2ban),谁连续试错 3 次钥匙就当场戴上手铐封锁 24 小时!裸奔 VPS (默认配置):相当于你把家安在繁华的大马路边,门牌号写着“22号”,
门锁是旧式弹簧锁,且门上贴着“欢迎尝试密码:123456”。
黑客每天拿几百万把钥匙去试(暴力破解),试出来就把你家洗劫一空。
安全加固后的 VPS:相当于你把门牌号改成了无人知晓的“49152号”,去掉了钥匙孔,
只允许持有一把经过加密的“物理金钥匙(SSH 密钥)”的人开门,
门外还聘请了保安(Fail2ban),谁连续试错 3 次钥匙就当场戴上手铐封锁 24 小时!
二、自建代理 VPS 安全加固十五条铁律
我们将 15 条铁律按重要程度分为四大层级:
🛡️ 核心层:身份验证加固 (1-4)
- 铁律一:彻底禁用 root 密码登录:使用 SSH 密钥(Public Key)登录。黑客无法爆破 4096 位的 RSA / Ed25519 密钥。
- 铁律二:修改默认 22 SSH 端口:将默认 SSH 端口修改为
1024 - 65535之间的随机高位端口(如49152),防范 99% 的全网自动扫描器。 - 铁律三:新建普通 sudo 运维账号:禁止直接使用
root账号日常操作,新建一个普通用户并赋予 sudo 权限。 - 铁律四:开启 Fail2ban 自动防爆破:配置 Fail2ban,凡是 10 分钟内输错密码 3 次的 IP,直接用防火墙封禁该 IP 24 小时。
🧱 网络层:防火墙与访问控制 (5-8)
- 铁律五:默认关闭所有入站端口 (UFW / iptables):开启 UFW 防火墙,默认规则设置为
deny incoming,只开放必要的 SSH 端口和代理端口。 - 铁律六:禁用 Docker 自动绕过 UFW 行为:修改 Docker
daemon.json或配置ufw-docker,防止 Docker 映射端口直接暴露在公网。 - 铁律七:严禁暴露裸露的 2375 端口与未加密数据库:Redis/MongoDB/MySQL 千万不要绑定
0.0.0.0且不设密码。 - 铁律八:禁用 ICMP Ping 隐身(可选):通过防火墙拒绝外网 Ping 请求,让扫描器误以为该 IP 处于关机状态。
⚙️ 系统层:漏洞补丁与运行隔离 (9-12)
- 铁律九:开启系统无感安全更新 (unattended-upgrades):让 Ubuntu / Debian 自动安装 Linux 内核与 OpenSSL 的紧急安全补丁。
- 铁律十:开启 Swap 虚拟内存防 OOM:给 512M / 1G 的低配 VPS 配置 1GB 到 2GB 的 Swap 空间,防止内存溢出死机。
- 铁律十一:容器服务使用非 root 运行:在 Docker 配置中加入
user: "1000:1000"与no-new-privileges:true,防止容器逃逸。 - 铁律十二:定期清理无用临时文件与僵尸进程:使用 Cron 任务定期删除
/tmp积压文件。
🆘 应急层:备份与被黑自救 (13-15)
- 铁律十三:配置远程离线备份 (Rclone / Snapshots):定期将重要的代理配置、证书与数据库加密备份到 Cloudflare R2 或 Google Drive。
- 铁律十四:保存一份干净的最初 Snapshot 快照:系统装好并完成加固后,立即在 VPS 控制台打一份初始快照。
- 铁律十五:学会使用
kill -9与netstat紧急自救:被黑后第一动作是断开网络或修改防火墙,而非盲目重启!
三、小白实操:三分钟部署 SSH 密钥与 Fail2ban
1. 生成并安装 SSH 密钥
在本地电脑终端执行:
BASH
# 生成高强度 Ed25519 密钥
ssh-keygen -t ed25519 -C "your_email@example.com"
# 将公钥上传到 VPS
ssh-copy-id -p 49152 user@your-vps-ip# 生成高强度 Ed25519 密钥
ssh-keygen -t ed25519 -C "your_email@example.com"
# 将公钥上传到 VPS
ssh-copy-id -p 49152 user@your-vps-ip
2. 修改 /etc/ssh/sshd_config
TEXT
Port 49152 # 修改默认端口
PermitRootLogin no # 禁止 root 登录
PasswordAuthentication no # 禁用密码登录,只许密钥Port 49152 # 修改默认端口
PermitRootLogin no # 禁止 root 登录
PasswordAuthentication no # 禁用密码登录,只许密钥
运行 systemctl restart ssh 使其生效。
3. 一键安装 Fail2ban
BASH
sudo apt update && sudo apt install fail2ban -y
sudo systemctl enable fail2ban && sudo systemctl start fail2bansudo apt update && sudo apt install fail2ban -y
sudo systemctl enable fail2ban && sudo systemctl start fail2ban
四、被黑应急处理速查表(自救流程)
一旦发现服务器 CPU 占用 100% 飙升或收到主机商滥用通知,请按以下步骤自救:
| 自救步骤 | 详细操作命令 | 目的 |
|---|---|---|
| 步骤 1:封锁异常外网连接 | iptables -P OUTPUT DROP | 截断木马向控制端 (C2) 发送数据与对外攻击。 |
| 步骤 2:排查高 CPU 恶性进程 | top -b -n 1 | head -n 20 | 找出挖矿进程名(如 xmrig、kdevtmpf)与其 PID。 |
| 步骤 3:查找木马文件位置 | ls -l /proc/<PID>/exe | 找出木马在硬盘上的真实物理藏匿路径(通常在 /tmp 或 /var/tmp)。 |
| 步骤 4:强制终止进程并删除 | kill -9 <PID> && rm -rf <木马路径> | 杀掉恶意进程并抹除文件。 |
| 步骤 5:排查定时任务后门 | crontab -l 以及 cat /etc/crontab | 删除黑客留下的定期重新下载木马的 Cron 自动恢复任务。 |
五、一句话总结
密钥登录改端口,Fail2ban 护安全! 牢记安全加固 15 条铁律,把爆破攻击挡在大门之外,让你的 VPS 运行稳定安心!
