Repolode
fail2ban

fail2ban/fail2ban

Python 守护进程,扫描日志中的多次登录失败记录,并通过系统防火墙封禁对应 IP 地址。

Star
18,840
Fork
1,510
未关闭 Issue
281
最近提交
11天前

这是什么?

Fail2Ban 持续监控 /var/log/auth.log 等日志文件,对认证失败次数过多的 IP 地址进行封禁。封禁通过更新系统防火墙规则实现,在设定的时间内拒绝这些地址的新连接。

项目内置了 sshd、Apache 等常见服务的日志规则,也可以通过自定义规则读取任意日志文件。自 0.10 版本起支持 IPv6 地址匹配。

Fail2Ban 能降低错误登录尝试的频率,但无法替代强认证。对需要保护的服务,建议同时启用双因素认证或公私钥认证。

核心功能

  • 01扫描日志文件,在多次登录失败后封禁对应 IP
  • 02通过更新系统防火墙规则,在设定时长内阻止恶意地址
  • 03内置 sshd、Apache 等标准日志的过滤规则
  • 04支持自定义日志匹配规则,检测任意错误
  • 05支持 IPv6 地址匹配

适用场景

  • 防止 SSH 服务器遭受暴力破解密码
  • 限制针对 Web 应用或 Apache 服务器的反复登录失败
  • 封禁在自定义服务日志中产生大量错误的恶意客户端

快速上手

  1. 1

    通过 Linux 发行版的包管理器安装(参见 wiki 指南)

  2. 2

    从 GitHub 克隆源代码

    git clone https://github.com/fail2ban/fail2ban.git
  3. 3

    进入源码目录并使用 setuptools 安装

    sudo python setup.py install
  4. 4

    查看版本以验证安装是否成功

    fail2ban-client version

使用前须知

  • 安装和修改防火墙规则需要通过 sudo 获取 root 权限。
  • 它只能降低错误登录尝试的频率,无法替代双因素或密钥等强认证方式。

标签

常见问题

fail2ban 是什么?
Python 守护进程,扫描日志中的多次登录失败记录,并通过系统防火墙封禁对应 IP 地址。 Fail2Ban 持续监控 /var/log/auth.log 等日志文件,对认证失败次数过多的 IP 地址进行封禁。封禁通过更新系统防火墙规则实现,在设定的时间内拒绝这些地址的新连接。
fail2ban 可以免费使用吗?用的什么许可证?
fail2ban 以 Other 许可证开源。用于商业产品前,请先确认许可证条款。
fail2ban 还在维护吗?
活跃维护中。fail2ban 最近一次提交是在 2026年10月10日。
fail2ban 适合用来做什么?
防止 SSH 服务器遭受暴力破解密码 限制针对 Web 应用或 Apache 服务器的反复登录失败 封禁在自定义服务日志中产生大量错误的恶意客户端
fail2ban 怎么安装和运行?
通过 Linux 发行版的包管理器安装(参见 wiki 指南) 从 GitHub 克隆源代码: git clone https://github.com/fail2ban/fail2ban.git 进入源码目录并使用 setuptools 安装: sudo python setup.py install 查看版本以验证安装是否成功: fail2ban-client version
在哪里获取 fail2ban?
源代码和安装说明在 GitHub 上:https://github.com/fail2ban/fail2ban

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目