VPS安全加固三步走:SSH密钥、防火墙与fail2ban

工具官方入口:OpenSSH(openssh.com)fail2ban(GitHub)|UFW 为 Ubuntu 官方仓库自带(apt install ufw

昨天写完新 VPS 四步实测教程,有读者问:测完之后呢?答案是加固。一台裸奔的 VPS 挂上公网,SSH 端口 22 平均几分钟就会开始被扫描爆破,日志里全是各国 IP 在试密码。主机评测网实测用的每台机器都做这三步,十分钟的事,做完安心睡觉。

第一步:SSH 换密钥登录,禁掉密码

密码再复杂也扛不住字典爆破,密钥直接让爆破失去意义。本机生成密钥对(一路回车,或加口令更稳):

ssh-keygen -t ed25519

把公钥推到服务器:

ssh-copy-id root@服务器IP

推完先开个新终端测试密钥能登录(别关现有窗口),再改配置 /etc/ssh/sshd_config

PasswordAuthentication no
PermitRootLogin prohibit-password
Port 22222

然后 systemctl restart sshd。端口顺手从 22 改成一个五位数,扫描器瞬间少 90%。改端口的坑见第二步——顺序错了会把自己锁在门外。

第二步:UFW 防火墙,只放行你要的口

Ubuntu 系直接用自带的 UFW。先放行新 SSH 端口再开防火墙,这个顺序是保命的:

ufw allow 22222/tcp
ufw allow 80,443/tcp
ufw default deny incoming
ufw enable

跑网站的放 80/443,其他端口按需加。开了 default deny incoming 之后,没放行的口全部对公网关闭,端口扫描直接抓瞎。CentOS 系用 firewalld,思路一样:先 add-port 再 reload。

第三步:fail2ban 自动封爆破 IP

防火墙管端口,fail2ban 管「谁在反复试密码」。安装并启动:

apt install fail2ban
systemctl enable --now fail2ban

新建规则 /etc/fail2ban/jail.local(端口记得和第一步改的一致):

[sshd]
enabled = true
port = 22222
maxretry = 5
bantime = 1h

systemctl restart fail2ban 生效。之后 fail2ban-client status sshd 随时能看到已经封了多少个不怕死的 IP。5 次失败封 1 小时是温和起点,激进点可以封一天。

收尾:快照兜底,别裸奔更新

三步做完,再拍一张快照当后悔药——选商家时就该把这个算进成本,比如 CloudCone 免费快照+自动备份就是同价位里少见的厚道配置。另外 SSH 端口、防火墙、fail2ban 三件事都建议在机器刚开出来、还没跑业务时做,线上老机器改动前务必先拍快照——顺序错了锁死自己,就只能靠商家控制台救场了。

一句话总结:密钥登录堵住爆破、防火墙收窄入口、fail2ban 自动反击,三件事各管一段,缺一不可。机器怎么选看独立服务器和 VPS 的区别,买回来先测(6732)再加固,这套流程走完,你的小鸡就比八成裸奔的机器安全了。

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享
评论 抢沙发
头像-主机测评网
欢迎您留下宝贵的见解!
提交
头像-主机测评网

昵称

取消
昵称表情代码图片快捷回复

    暂无评论内容