中级⏱ 约 25 分钟

VPS 防火墙与安全加固指南

购买 VPS 后 10 分钟内就会被全球扫描器盯上。本指南教你用 UFW、fail2ban 和 SSH 强化三件套,把暴力破解和端口扫描挡在门外。

为什么必须立刻加固?

公网 VPS 平均在上线后 5-10 分钟就会被自动化扫描器探测。Shodan、Censys 这类搜索引擎 24 小时不间断抓取全网开放端口,如果你的 SSH 仍用 22 端口 + 密码登录,等于把钥匙挂在门把手上。

⚠️ 真实数据:一台未加固的 Ubuntu VPS,24 小时内平均会遭遇 2,000+ 次 SSH 暴力破解尝试,其中 80% 来自中国 IP 段的自动化僵尸网络。

第一层:UFW 防火墙

UFW(Uncomplicated Firewall)是 Ubuntu/Debian 默认的防火墙前端,底层调用 iptables,语法极简。

# 安装并启用
sudo apt install ufw -y
sudo ufw default deny incoming
sudo ufw default allow outgoing
# 放行业务端口(按需)
sudo ufw allow 22/tcp    # SSH(建议改成自定义端口)
sudo ufw allow 80/tcp    # HTTP
sudo ufw allow 443/tcp   # HTTPS
# 启用(输入 y 确认,避免 SSH 断开)
sudo ufw enable
sudo ufw status verbose
⚠️ 坑点:启用 UFW 前必须先放行 SSH 端口,否则会把自己锁在外面。如果是云厂商(如 AWS/腾讯云),还要在控制台安全组同步放行。

第二层:fail2ban 防暴力破解

fail2ban 通过监控日志,对多次失败登录的 IP 自动封禁。是防 SSH 暴力破解最有效的工具。

sudo apt install fail2ban -y
# 本地配置(不覆盖默认)
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local
# 关键配置([sshd] 段)
[sshd]
enabled = true
port = 22    # 改端口后同步改这里
maxretry = 3    # 3 次失败即封
findtime = 600  # 10 分钟窗口
bantime = 86400 # 封 24 小时
sudo systemctl restart fail2ban
sudo fail2ban-client status sshd  # 查看封禁状态

第三层:SSH 端口与登录强化

三招组合拳:改端口 + 禁密码 + 限用户。

sudo nano /etc/ssh/sshd_config
Port 22022            # 改成非标准端口
PasswordAuthentication no # 强制密钥登录
PermitRootLogin no # 禁止 root 直接登录
AllowUsers deploy # 只允许指定用户
MaxAuthTries 3 # 单次连接最多 3 次尝试
sudo systemctl restart sshd
💡 顺序很重要:禁用密码登录前,先用密钥登录测试一次。改端口后,UFW 和 fail2ban 都要同步更新端口配置。

进阶:DDOS 与端口扫描防护

  • Cloudflare 前置:把域名解析到 Cloudflare,启用 Under Attack 模式,让 CF 拦截 L3/L4 DDOS,源站只放行 CF IP 段。
  • SYN Cookie:`sudo sysctl -w net.ipv4.tcp_syncookies=1` 防 SYN Flood。
  • 端口敲门(Port Knocking):用 knockd 让 SSH 端口只在正确敲门序列后才开放,扫描器根本看不到端口。
  • 自动安全更新:`sudo apt install unattended-upgrades` 让系统自动打安全补丁。

加固检查清单

  • ✅ UFW 已启用,仅放行业务端口
  • ✅ fail2ban 运行中,sshd jail 已激活
  • ✅ SSH 端口已改为非 22
  • ✅ 密码登录已禁用,仅密钥登录
  • ✅ root 直接登录已禁用
  • ✅ unattended-upgrades 已配置自动安全更新
  • ✅ 云厂商安全组与 UFW 规则一致
  • ✅ 已备份 sshd_config,已知救援模式入口

📚 VPS 基础入门系列

掌握 VPS 全套基础技能,从选购到运维一站搞定。

🛒

首次购买攻略

从注册到开通全流程实操

🔑

SSH 基础教程

远程连接、密钥登录与安全加固

🐧

Linux 发行版选择

Ubuntu/Debian/CentOS 区别与选型

🔒

防火墙与安全加固

UFW/fail2ban/SSH 强化三件套

📖

VPS 术语表

KVM/带宽/IOPS 等常见名词释义

🛠️

售后维护指南

续费、备份、监控与故障排查

💡 掌握 VPS 基础后,看看这些实测资源:

🌐 查看主机推荐 →🧰 浏览工具合集 →
← 上一篇:Linux 发行版选择下一篇:VPS 术语表 →

我们使用 cookie 来改善体验和分析流量。点击"接受"即表示您同意我们使用 cookie。