Linux系统安全策略:配置 Fail2ban 防止 SSH 暴力破解攻击

陌芳同学_6903

陌芳同学_6903

2026-09-03

438人浏览

原创

fail2ban是linux系统中防御ssh暴力破解最实用、部署成本最低的守门人,通过分析/var/log/auth.log或/var/log/secure中的失败登录记录,自动调用iptables或nftables封禁异常ip,封禁时长可配且到期自动解封。

linux系统安全策略:配置 fail2ban 防止 ssh 暴力破解攻击

Fail2ban 是 Linux 系统中防御 SSH 暴力破解最实用、部署成本最低的守门人——它不替代防火墙,而是通过分析 /var/log/auth.log(Debian/Ubuntu)或 /var/log/secure(RHEL/CentOS)中的失败登录记录,自动调用 iptables 或 nftables 封禁异常 IP,封禁时长可配,到期自动解封。

安装与服务启用

一行命令完成安装并开机自启:

  • Ubuntu/Debian:sudo apt update && sudo apt install -y fail2ban
  • CentOS/RHEL 8+:sudo dnf install -y fail2ban(EPEL 已内置)

安装后服务默认启用,运行 sudo systemctl status fail2ban 应显示 active (running)。若未启动,执行 sudo systemctl enable --now fail2ban

配置关键参数(务必修改 jail.local)

切勿直接编辑 /etc/fail2ban/jail.conf,先生成本地配置:

Linux Journey
Linux Journey

当用户想学习Linux基础、命令行、文件系统等时,在LabEx查找并推荐免费的Linux Journey课程。

下载
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

然后编辑 /etc/fail2ban/jail.local,重点调整以下两处:

  • [DEFAULT] 区块:设置全局白名单和基础策略
    ignoreip = 127.0.0.1/8 ::1 192.168.1.0/24 203.0.113.5(填入你常用运维 IP)
    bantime = 1h(建议 30 分钟至 24 小时,慎用永久封禁 -1)
    findtime = 600(10 分钟内累计失败次数才计数)
    maxretry = 3(3 次失败即触发,兼顾安全与误操作容忍)
  • [sshd] 区块:启用并确认路径适配
    enabled = true
    logpath = /var/log/auth.log(Ubuntu/Debian)
    logpath = /var/log/secure(RHEL/CentOS)
    backend = auto(自动适配 iptables/nftables,新系统推荐)

验证是否真正生效

配置保存后必须验证,避免“静默失效”:

  • 重启服务:sudo systemctl restart fail2ban
  • 查当前封禁状态:sudo fail2ban-client status sshd(输出应含 “Currently banned: X”)
  • 实时观察动作:sudo tail -f /var/log/fail2ban.log,尝试用错误密码 SSH 登录一次,几秒内应看到 Found xxx.xxx.xxx.xxxBan xxx.xxx.xxx.xxx 日志
  • 确认日志在写入:sudo tail -n 3 /var/log/auth.log,需有最新 Failed password 记录,否则 Fail2ban 无数据可分析

日常管理与避坑要点

几个高频问题点直接影响防护效果:

  • 若使用密码登录,必须设强密码;更推荐提前启用 SSH 密钥认证,并在 /etc/ssh/sshd_config 中设 PasswordAuthentication no 后重启 SSH
  • 误封自己?解封命令:sudo fail2ban-client set sshd unbanip 1.2.3.4
  • 封禁规则未生效?检查 sudo iptables -L -n | grep f2b-(iptables)或 sudo nft list chain inet fail2ban filter_input(nftables)
  • 日志轮转(logrotate)后路径不变,Fail2ban 默认兼容;但若自定义了日志路径,需同步更新 logpath

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

397

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

820

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

2372

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

796

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

689

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

354

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

2116

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

3892

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

627

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习

CLion 远程开发实战
CLion 远程开发实战

共0课时 | 0人学习