VPS 安全加固指南:拿到服务器后的第一件事 (SSH + 防火墙 + Fail2Ban)
更新时间:2025-12-16 15:09:15

很多朋友拿到 VPS 的第一件事,就是装宝塔面板或者 Docker,然后迫不及待地跑服务。
停!先别急。
你知道你的 VPS 在公网上裸奔有多危险吗?我曾经就在刚买的机器上,看日志发现 10 分钟内有几百次 SSH 暴力破解尝试。如果你的密码设置得稍微简单点(比如 123456 或者 root),可能这会儿已经被扫成“肉鸡”去挖矿了。
作为老司机,我拿到新 VPS 的前 15 分钟,雷打不动只做一件事:安全加固。
今天分享我用了 5 年的标准操作流程(SOP),只需 4 步,让你的服务器固若金汤。
默认的 SSH 端口是 22,黑客的脚本 24 小时都在扫这个端口。
推荐做法:用密钥登录,并关闭密码认证。
- 生成密钥对(如果你还没有):
在你的电脑上打开终端(PowerShell 或 CMD):
ssh-keygen -t rsa -b 4096 - 上传公钥到 VPS:
# 替换成你的 IP ssh-copy-id [email protected] - 修改 sshd 配置文件:
登录 VPS,编辑
/etc/ssh/sshd_config:
找到并修改以下几项:vi /etc/ssh/sshd_configPort 2222 # 改个非标准端口,比如 2222 PermitRootLogin prohibit-password # 禁止 root 用密码登录(只准用密钥) PasswordAuthentication no # 彻底关闭密码认证 - 重启服务:
注意:改完别急着退出来!新开一个终端窗口测试能不能连上,别把自己关外面了。systemctl restart sshd
Linux 自带的 iptables 虽然强大但难用,推荐用 UFW (Uncomplicated Firewall)。
Debian/Ubuntu 安装:
apt update && apt install ufw -y
设置规则(顺序很重要!):
# 1. 默认拒绝所有进入连接
ufw default deny incoming
# 2. 允许所有出去的连接
ufw default allow outgoing
# 3. 放行刚才修改的 SSH 端口 (比如 2222)
ufw allow 2222/tcp
# 4. 放行 Web 服务端口 (如果你做网站的话)
ufw allow 80/tcp
ufw allow 443/tcp
# 5. 启动防火墙
ufw enable
Fail2Ban 是个神器,它会监控日志,发现有人一直在试密码,直接把它的 IP 拉黑。
安装:
apt install fail2ban -y
它默认配置就能工作,保护 SSH。你可以去 /etc/fail2ban/jail.local 里微调,比如把“输错 5 次密码”改成“3 次”就封 IP。
装完用 fail2ban-client status sshd 看看,过几天你会发现“Current Banned”列表里可能会有不少 IP,都是给你送人头的。
漏洞比黑客更可怕。为了防止忘了更新系统,我们可以开启自动安全更新。
对于 Debian/Ubuntu:
apt install unattended-upgrades -y
dpkg-reconfigure --priority=low unattended-upgrades
选“Yes”,搞定。它会自动安装安全补丁,不需要你操心。
做完这 4 步:
- 密钥登录+改端口 -> 99% 的扫描脚本失效。
- UFW防火墙 -> 关上不必要的门。
- Fail2Ban -> 自动封禁恶意 IP。
- 自动更新 -> 及时修补漏洞。
只要你的私钥不泄露,这台 VPS 基本上就是铁板一块了。安全没有绝对,但至少不要做那个“最容易被捏的软柿子”。