fail2Ban ssh防爆破解

Fail2Ban是服务器安全的基础工具,通过动态IP封禁有效抵御暴力破解。其轻量、灵活的特性适合各类环境,但需配合系统级加固(如防火墙、密钥登录)才能发挥最大效果。建议定期审计规则并关注社区更新,以应对新型攻击手法。

一、核心功能与特点

 

入侵防御

   - 

实时监控系统日志(如 

"/var/log/secure"、

"/var/log/auth.log"),通过正则表达式匹配恶意行为(如多次登录失败)。

   - 

自动封禁攻击者IP:调用防火墙(如 

"iptables"、

"firewalld"、

"UFW")动态封锁IP,支持自定义封禁时长。

多服务支持

   - 

默认防护SSH、FTP、Apache、Nginx等常见服务,可通过配置扩展至Web应用(如WordPress)、邮件服务等。

通知机制

   - 

支持邮件告警(需配置SMTP服务),推送封禁详情及攻击者IP的WHOIS信息。

灵活性

   - 

允许自定义过滤规则(

"filter.d"目录)、封禁动作(

"action.d"目录)和封禁策略(如动态调整封禁时长)。

 

二、性能特点

 

低资源占用:基于Python开发,日志分析效率高,对系统负载影响小。

高效正则匹配:优化日志解析算法,但复杂正则可能增加CPU开销(需合理设计规则)。

扩展性:支持分布式部署,可通过Docker容器化运行(如 

"crazy-max/docker-fail2ban" 镜像)。

 

三、下载与安装

 

官方资源

 

官网:"fail2ban.org" (http://www.fail2ban.org)

GitHub仓库:"github.com/fail2ban/fail2ban" (https://github.com/fail2ban/fail2ban)

Windows版:"Fail2Ban4Win" (https://github.com/Aldaviva/Fail2Ban4Win)(第三方移植)

 

安装方式

 

Linux安装步骤

 

包管理器安装(推荐):

系统 命令

Debian/Ubuntu 

"sudo apt update && sudo apt install fail2ban"

CentOS/RHEL 

"sudo yum install epel-release && sudo yum install fail2ban"

Fedora 

"sudo dnf install fail2ban"                                         

源码安装:

wget https://github.com/fail2ban/fail2ban/archive/refs/tags/1.0.2.tar.gz

tar -xzvf fail2ban-1.0.2.tar.gz

cd fail2ban-1.0.2

python setup.py install

启动服务:

sudo systemctl enable --now fail2ban # 启用并立即启动

sudo systemctl status fail2ban # 检查状态

 

Windows安装步骤

 

下载 "Fail2Ban4Win" (https://github.com/Aldaviva/Fail2Ban4Win/releases) 的ZIP包。

解压至 

"C:\Program Files (x86)\Fail2Ban4Win"。

以管理员身份运行PowerShell:

Set-ExecutionPolicy RemoteSigned -Scope Process -Force

& 'C:\Program Files (x86)\Fail2Ban4Win\Install Service.ps1'

服务安装后,通过 服务管理器 启动 

"Fail2Ban4Win"。

 

四、核心参数说明(

"jail.conf" 或 

"jail.local")

 

参数 说明 示例值

 

"ignoreip" 信任IP白名单(不封禁) 

"127.0.0.1/8 192.168.1.0/24"

 

"bantime" 封禁时长(单位:

"s"秒、

"m"分钟、

"h"小时、

"d"天、

"-1"永久) 

"3600"(1小时)

 

"findtime" 检测时间窗口(此时间内失败达到阈值则封禁) 

"600"(10分钟)

 

"maxretry" 最大失败尝试次数 

"3"

 

"logpath" 监控的日志路径(SSH默认为 

"/var/log/secure" 或 

"/var/log/auth.log") 

"/var/log/nginx/error.log"

 

"action" 封禁动作(

"iptables"、

"ufw"、

"mail"通知组合等) 

"%(action_mwl)s"(封禁+邮件+日志)

 

"port" 监控的端口(SSH默认为22) 

"2222"(自定义端口)

 

配置示例(SSH防护) :

[sshd]

enabled = true

port = ssh

filter = sshd

logpath = /var/log/secure

maxretry = 3

bantime = 1d

 

五、附加建议

 

强化SSH安全

   - 

修改默认端口(如 

"Port 2222")。

   - 

禁用密码登录,改用SSH密钥认证 。

防火墙协同

   - 

云服务器需同步配置安全组规则,避免Fail2Ban与云防火墙冲突。

日志优化

   - 

使用 

"fail2ban-regex" 测试自定义规则,避免误封。

   - 

定期清理日志(如 

"logrotate"),防止磁盘占满。

高可用设计

   - 

针对高频攻击场景,可结合 Cloudflare IP黑名单 或 分布式防火墙 。

定期维护

   - 

检查封禁记录:

"sudo fail2ban-client status sshd" 。

 

Fail2Ban是服务器安全的基础工具,通过动态IP封禁有效抵御暴力破解。其轻量、灵活的特性适合各类环境,但需配合系统级加固(如防火墙、密钥登录)才能发挥最大效果。建议定期审计规则并关注社区更新,以应对新型攻击手法。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT摆渡者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值