搬瓦工 VPS 安全设置:SSH Key、防火墙、Fail2ban

搬瓦工 VPS 安全设置:SSH Key、防火墙、Fail2ban

拿到一台新的搬瓦工 VPS,很多人第一时间会去装环境、上传站点、部署服务,但真正决定后面省不省心的,往往是最前面的几步基础安全设置。尤其是 SSH Key、防火墙 和 Fail2ban,这三项看起来都不复杂,可只要顺序错了、细节漏了,就很容易把自己锁在门外,或者把不该暴露的端口长期挂在公网。

这篇文章不追求一次堆很多“高阶安全技巧”,而是把最常用、最值得先做的三件事讲清楚:为什么要先做 SSH Key、为什么防火墙规则不能乱收、Fail2ban 适合解决什么问题,以及新手最容易踩的坑。你也可以结合 搬瓦工 KiwiVM 控制面板完整使用教程、搬瓦工 SSH 连接不上怎么办?完整排查方法 和 搬瓦工 VPS 如何修改 root 密码、SSH 端口和 SSH Key 一起看,思路会更完整。

一、开始前别急着改,先把回退方案准备好

搬瓦工 VPS 安全设置前检查清单

安全配置最怕的不是“没配到最好”,而是“刚改完就失联”。所以动手前建议先做四件事:

  • 先确认现在的 SSH 端口、登录用户和登录方式;
  • 确认 KiwiVM 的 Emergency Console 能用,必要时可走控制台救回;
  • 重大调整前先做一次快照或备份;
  • 把公钥、常用命令和要开放的端口先整理好,再一步步执行。

如果你之前已经部署过站点或服务,建议先补一份快照或配置备份,再继续往下改。关于这部分可以参考 搬瓦工快照与自动备份教程。

二、为什么优先做 SSH Key

和“换一个更复杂的 root 密码”相比,SSH Key 带来的提升更直接,也更稳定。密码登录的问题在于:只要 SSH 暴露在公网,就不可避免会遇到探测和暴力尝试;而 Key 登录的门槛高很多,至少能把绝大多数粗暴爆破挡在门外。

更现实的一点是,很多后续措施其实都是围绕 SSH 在做收口:改端口也好,Fail2ban 也好,本质上都是在降低暴露面和错误尝试。而如果你连 Key 登录都还没稳定用起来,后面再收别的口,风险就会大很多。

三、SSH Key 推荐这样做

SSH Key 设置思路

比较稳妥的顺序是:

  1. 先在本地生成密钥对;
  2. 把公钥上传到服务器;
  3. 先开一个新终端测试 Key 登录;
  4. 确认能正常登录后,再考虑关闭密码登录或禁止 root 直登;
  5. 修改完 sshd_config 后先检查配置,再重载服务。

这里最关键的一条,是不要在未验证公钥登录可用之前,就急着关掉密码登录。很多新手出问题,恰恰就是在这一步太快了。

ssh-keygen -t ed25519 -C "[email protected]"
mkdir -p ~/.ssh
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
sshd -t
systemctl reload sshd

如果你的系统使用的服务名是 ssh,命令里也可能是 systemctl reload ssh。不同发行版略有差异,但思路一样:先校验,再重载。

四、防火墙不是越复杂越好,先把原则想清楚

防火墙规则收口思路

对绝大多数搬瓦工 VPS 用户来说,防火墙的原则其实很朴素:默认拒绝不需要的入站,只放行真正要对外提供服务的端口。

常见情况里:

  • 做网站,通常只要 SSH 管理端口、80 和 443;
  • 数据库、缓存、后台面板端口,尽量不要直接对公网开放;
  • 如果 SSH 端口改了,先放行新端口,再启用或收紧防火墙;
  • 任何“以后可能要用”的端口,都不建议因为图省事一直开着。

Ubuntu / Debian 上,很多用户会优先用 UFW,因为规则清楚、回看方便;如果你对 nftables 或 iptables 更熟,也可以直接用更底层的方式。关键不在工具,而在“规则是不是收得住”。

ufw allow 22/tcp
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable
ufw status verbose

如果你已经把 SSH 改到了别的端口,记得把上面示例里的 22 替换成实际端口号,并在启用前确认规则已经生效。

五、哪些端口能开,哪些最好别开

常见端口与建议做法

新手最常见的问题,不是“不知道怎么开端口”,而是“该不该开这个端口”。很多服务本身没错,但一旦无鉴权暴露到公网,风险就会非常大。

经验上,像 MySQL 3306、Redis 6379 这类端口,如果没有明确的远程访问需求,就不应直接对公网放开。即便需要远程访问,也更建议先考虑来源限制、内网、隧道或跳板,而不是直接裸开。

六、Fail2ban 适合解决什么问题

Fail2ban 的作用与流程

Fail2ban 最常见的用途,是根据日志识别频繁失败的登录尝试,然后临时封禁对应来源 IP。对于 SSH 这类长期暴露在公网的服务,它很适合用来挡住重复爆破。

但也要说清楚,Fail2ban 不是“装了就万事大吉”。它更像是基础安全的补充:前面还是要有 Key 登录、防火墙和最少暴露面,后面再由 Fail2ban 去处理那些重复试探和爆破行为。

apt update
apt install fail2ban -y
systemctl enable fail2ban
systemctl start fail2ban
fail2ban-client status

启用后,建议重点看两件事:一是 SSH jail 是否真的启用了,二是日志路径是否正确。很多人以为“已经装好了”,结果实际上根本没在工作。

七、推荐的加固顺序

推荐加固顺序

如果只给一个最实用的顺序,我会建议这样做:

  1. 先确认当前登录方式、端口和控制台入口;
  2. 先把 SSH Key 登录配置好,并在新窗口测试通过;
  3. 再收紧 SSH 配置,例如限制 root 直登、按需关闭密码登录;
  4. 再配置防火墙,只放行需要的端口;
  5. 最后启用 Fail2ban,并观察是否正常封禁;
  6. 后续再定期回看日志、系统更新和规则。

这个顺序的好处是:既能尽快把真正有用的安全措施落下来,也能避免“边改边失联”的尴尬。

八、新手最容易踩的坑

VPS 安全设置常见错误
  • 公钥上传后没测,直接关掉密码登录;
  • UFW 还没放 SSH 端口,就先 enable;
  • Fail2ban 装完不验证,误以为已经在防护;
  • 数据库、缓存、面板端口全都直接暴露到公网;
  • 没有快照或备份,出问题只能现场硬修。

这些坑多数都不复杂,但一旦遇上,恢复时间反而可能比真正被攻击还长。所以安全设置不是做得多炫,而是做得稳。

九、做完这三项之后,还应该注意什么

基础安全并不只靠三项配置。做完 SSH Key、防火墙和 Fail2ban 之后,后面至少还应继续关注这些:

  • 系统和常用软件及时更新;
  • 少装来源不明的脚本和面板;
  • 定期查看登录日志和异常进程;
  • 重要服务先做快照或备份再调整;
  • 涉及 IPv6、PTR、迁移、重装等变更时,也要同步回看安全策略。

如果你还在完善整台 VPS 的配置,可以继续参考这些文章:

总结

搬瓦工 VPS 的基础安全设置,不需要一上来就做得特别复杂。对于大多数个人站点和日常用途来说,先把 SSH Key 登录用起来、再用防火墙收好端口、最后用 Fail2ban 降低爆破干扰,已经能解决相当大一部分风险。

真正重要的是顺序和细节:先测试、再收口;先备份、再调整;先留回退方案、再做更激进的限制。按这个节奏来,既能把安全基础打牢,也不容易把自己困在门外。

相关阅读

微信订阅号

VPS收割者微信公众号

QQ群(全员禁言)

VPS收割者QQ群(全员禁言)