简介
fail2ban
是一个开源的入侵防御软件,主要用于保护 Linux 服务器和其他 Unix 系统免受暴力破解和其他恶意攻击。它通过监视日志文件来检测可疑活动,并自动采取措施(通常是禁止 IP 地址)来防止进一步的攻击。
主要功能
- 自动禁止 IP 地址: 当检测到特定服务(如 SSH、FTP、HTTP 等)中的多次失败登录尝试时,
fail2ban
会自动使用防火墙(如iptables
)禁止这些 IP 地址。 - 日志监控:
fail2ban
监控系统日志(如/var/log/auth.log
或/var/log/secure
),并根据预定义的规则(过滤器)分析日志内容。 - 可配置性: 用户可以根据需求自定义配置文件,设置不同的监控规则、禁止时间、允许的失败尝试次数等。
- 多种服务支持:
fail2ban
支持多种服务的保护,包括 SSH、HTTP、FTP、SMTP 等。 - 邮件通知: 可以配置邮件通知功能,当 IP 被禁止时,系统会自动发送通知邮件给管理员。
- 可扩展性: 用户可以创建自定义过滤器和动作,以适应特定的需求。
工作原理
- 配置: 用户设置
fail2ban
的配置文件,定义需要监控的服务、日志文件路径、过滤规则等。 - 监控:
fail2ban
定期扫描指定的日志文件,查找符合过滤器条件的日志条目。 - 触发: 如果在设定的时间窗口内,某个 IP 地址的失败尝试次数超过了允许的最大值,
fail2ban
会执行相应的动作(如禁止该 IP)。 - 解除禁止: 被禁止的 IP 地址在设定的时间后会自动解除禁止,或者管理员可以手动解除。
安装
Debian / Ubuntu
|
|
配置
配置文件所在的位置:
|
|
以下配置参考了:
新建 jail.local
|
|
|
|
启动
启动服务
|
|
常见语法
如果自己忘记了密码,被 fail2ban 阻止了,解除命令
|
|
例如
|
|