安全

10 分钟内加固 VPS:fail2ban、ufw、SSH 加固

完整 VPS 安全清单:SSH 仅密钥登录、禁用 root、fail2ban、ufw 防火墙、自动安全更新。

发布于 2026-07-15· 6 分钟阅读· Hostiger 编辑部

新装 VPS 每天收到来自僵尸网络的 1000+ 次 SSH 暴力破解尝试。此 10 分钟设置全部阻挡。已在 Ubuntu 22.04/24.04(Hostiger VPS 主机的默认 OS)上测试。

1. 创建非 root 用户(2 分钟)

adduser deploy
usermod -aG sudo deploy
mkdir -p /home/deploy/.ssh
chmod 700 /home/deploy/.ssh
# 复制您的公钥
echo "ssh-ed25519 AAAA... you@laptop" > /home/deploy/.ssh/authorized_keys
chmod 600 /home/deploy/.ssh/authorized_keys
chown -R deploy:deploy /home/deploy/.ssh

2. 禁用密码登录与 root SSH(2 分钟)

编辑 /etc/ssh/sshd_config

PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
X11Forwarding no
ClientAliveInterval 300

然后重启 SSH — 但在另一个终端保持当前会话开启,以防被锁在外面:

systemctl restart ssh

3. 启用 ufw 防火墙(1 分钟)

ufw default deny incoming
ufw default allow outgoing
ufw allow 22/tcp       # SSH
ufw allow 80/tcp       # HTTP
ufw allow 443/tcp      # HTTPS
ufw enable
ufw status verbose

4. 安装 fail2ban(2 分钟)

Fail2ban 监视认证日志,登录失败后自动封 IP。

apt install fail2ban -y

cat > /etc/fail2ban/jail.local << EOF
[DEFAULT]
bantime = 24h
findtime = 10m
maxretry = 5

[sshd]
enabled = true
EOF

systemctl restart fail2ban
fail2ban-client status sshd

5. 自动安全更新(2 分钟)

apt install unattended-upgrades -y
dpkg-reconfigure --priority=low unattended-upgrades

回答"是"启用。只有安全更新自动安装 — 主版本升级不动。

6. 更改默认 SSH 端口(可选,1 分钟)

不增加真正的安全性但减少日志噪声。在 sshd_config

Port 2222

然后更新 ufw:ufw allow 2222/tcp && ufw delete allow 22/tcp

验证一切正常

如果安全是最高优先级,请考虑 Hostiger 独立服务器 — 完整硬件隔离,无共享 hypervisor。

想试用 Hostiger?60 秒内部署 VPS。

查看 VPS 方案