Linux服务器安全加固教程:SSH安全、防火墙、fail2ban 防暴力破解全攻略


VPS 服务器买回来的第一件事是什么?不是急着搭网站,而是先做安全加固。很多站长只重功能、轻安全,结果服务器被暴力破解、被植挖矿木马、被当跳板打别人,最后整台机器沦陷。据统计,公网上暴露 22 端口的服务器平均每几分钟就会收到一次暴力破解尝试。本篇文章从 SSH 安全、防火墙、fail2ban 防暴力破解 三个层面,手把手教你给 Linux VPS 做一套完整的服务器安全加固方案,把风险降到最低。

一、为什么要给 Linux 服务器做安全加固

服务器一旦上线公网,就会被扫描器自动扫描。默认的 Linux 环境往往存在几个常见弱项:密码登录容易被爆破、root 直接登录暴露管理权限、22 端口裸奔没有访问限制、缺少失败封禁机制可以无限重试。安全加固的目的,就是用最小成本把这些弱项全部堵上,让攻击者无从下手。

二、SSH 安全加固

SSH(22 端口)是暴力破解的头号目标,加固思路可以概括为:密钥登录、禁用 root 登录、修改默认端口、限制失败次数。

1. 用密钥登录替代密码登录

先在本地电脑生成密钥对:

ssh-keygen -t ed25519 -C "your_email@example.com"

然后把公钥上传到服务器:

ssh-copy-id user@your_server_ip

编辑 /etc/ssh/sshd_config,关闭密码登录:

PasswordAuthentication no
PubkeyAuthentication yes

重启 SSH 服务使配置生效:

systemctl restart sshd

关闭密码登录前,务必确认密钥已经能正常登录,否则会把自己锁在门外。

2. 禁止 root 直接登录

在 sshd_config 中追加:

PermitRootLogin no

日常用一个普通权限的用户登录,需要提权时再使用 sudo,这样即使被入侵,也很难直接拿到 root 权限。

3. 修改默认 SSH 端口

把 22 换成其他高位端口,能显著减少被随机扫描命中的概率:

Port 2222

修改后记得同步放行防火墙新端口,并 systemctl restart sshd。

三、防火墙配置

这里以 CentOS 默认的 firewalld 为例,Ubuntu 用户用 ufw 原理相同。防火墙的核心思想是默认拒绝、按需放行。

启动并设置开机自启:

systemctl start firewalld
systemctl enable firewalld

只放行真正需要的端口(HTTP 80、HTTPS 443):

firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=443/tcp
firewall-cmd --reload

这样除放行端口外,其他入站请求一律丢弃,攻击面直接缩小一大截。

四、fail2ban 防暴力破解

fail2ban 通过监控系统日志,能自动识别短时间内多次登录失败的 IP 并封禁。安装命令:

# CentOS/RHEL
yum install -y fail2ban
# Debian/Ubuntu
apt install -y fail2ban

新建配置文件 /etc/fail2ban/jail.local:

[DEFAULT]
bantime = 600
maxretry = 5
findtime = 600

[sshd]
enabled = true
backend = systemd

启动并开机自启:

systemctl enable --now fail2ban

查看封禁情况:

fail2ban-client status sshd

到这里,服务器已经具备了自动封禁暴力破解 IP 的能力,99% 的密码爆破会在几次重试后被直接拉黑。

五、其他必须养成的安全习惯

除了上述三板斧,还有几件小事同样重要:

  1. 及时更新系统补丁:yum update -y 或 apt update && apt upgrade -y,堵住已知 CVE 漏洞。
  2. 关闭不必要服务:用 systemctl list-unit-files | grep enabled 检查,能关的尽量关。
  3. 定期备份:网站文件 + 数据库做定时异地备份,出问题随时可回滚。
  4. 不要用弱密码:无论是面板、数据库还是 FTP,一律使用高强度随机密码。

六、总结

服务器安全不是一劳永逸,而是一个持续的过程。先把 SSH 密钥登录、防火墙默认拒绝、fail2ban 自动封禁这三板斧做好,再养成及时更新、定期备份的习惯,你的 VPS 就能规避掉绝大多数常见安全风险。安全不仅是技术问题,更是习惯问题,早加固早安心。


手机扫码阅读

微信或手机浏览器扫一扫,随时随地随心阅读与分享

Let's Encrypt 免费 SSL 证书申请与自动续期全攻略:ACME 协议 + certbot 一键让网站挂上 HTTPS

DNS 域名解析配置详解:A记录、CNAME、MX、NS 全搞懂,域名解析不再求人

评 论
更换验证码