fail2ban 是一个开源的入侵防御工具,用于保护 Linux 服务器免受暴力破解攻击。它通过监控系统日志文件(如 /var/log/auth.log)来检测恶意行为,如多次失败的 SSH 登录尝试,然后自动更新防火墙规则来阻止这些攻击者的 IP 地址。
fail2ban 持续监控指定的日志文件,寻找预定义模式的恶意行为。
当检测到来自同一 IP 的多次失败尝试(可配置阈值),fail2ban 会自动将该 IP 添加到防火墙阻止列表中。
管理员可以设置初始封禁时间和多次违规后的递增封禁时间。
不仅支持 SSH,还支持 Apache、Nginx、FTP、邮件服务等多种服务的防护。
可配置在封禁 IP 时发送邮件通知给管理员。
在基于 Debian/Ubuntu 的系统上:
在基于 RHEL/CentOS 的系统上:
fail2ban 的主要配置文件位于:
/etc/fail2ban/jail.conf
/etc/fail2ban/jail.local
创建自定义配置文件:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo systemctl status fail2ban
sudo fail2ban-client status sshd
sudo fail2ban-client set sshd unbanip 192.168.1.100
sudo fail2ban-client set sshd banip 192.168.1.100
过滤器定义在
/etc/fail2ban/filter.d/
复制默认 SSH 过滤器:
sudo cp /etc/fail2ban/filter.d/sshd.conf /etc/fail2ban/filter.d/sshd-custom.conf
编辑自定义过滤器,修改正则表达式以匹配特定的失败模式。
编辑 jail.local 文件:
sudo nano /etc/fail2ban/jail.local
添加或修改以下内容:
[sshd] enabled = true port = ssh filter = sshd logpath = /var/log/auth.log maxretry = 3 bantime = 3600 findtime = 600
重启 fail2ban 服务:
sudo systemctl restart fail2ban
确保 jail.local 中包含以下内容:
[apache] enabled = true port = http,https filter = apache-auth logpath = /var/log/apache2/error.log maxretry = 3 bantime = 86400
重启服务使配置生效。
创建自定义过滤器文件:
sudo nano /etc/fail2ban/filter.d/myapp.conf
添加过滤规则(示例):
[Definition] failregex = ^.* .* "POST /login.php.* 401 ignoreregex =
在 jail.local 中添加对应的 jail:
enabled = true port = http,https filter = myapp logpath = /var/log/myapp/access.log maxretry = 5 bantime = 3600
编辑 jail.local 文件:
[DEFAULT] destemail = admin@example.com sender = fail2ban@example.com mta = sendmail action = %(action_mwl)s
确保系统已安装并配置了邮件发送工具(如 sendmail 或 postfix)。
sudo tail -f /var/log/fail2ban.log
sudo systemctl status fail2ban
sudo journalctl -u fail2ban
loglevel = DEBUG
定期更新:保持 fail2ban 更新以获取最新的安全修复和功能改进。
合理配置:
监控与审查:
多层防护:
备份配置:
fail2ban 是 Linux 系统安全的重要工具,通过自动检测和阻止恶意行为,有效防止暴力破解攻击。正确配置和使用 fail2ban 可以显著提高服务器的安全性,同时减少管理员手动干预的工作量。通过本文的介绍,您应该已经掌握了 fail2ban 的基本用法和高级配置技巧,能够根据实际需求定制自己的安全防护策略。
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号