Fail2ban 是一款用于保护 Linux 服务器免受恶意登录尝试的开源工具。它通过监视服务器上的日志文件,检测到恶意行为后会自动采取预先配置的响应措施,例如阻止 IP 地址,以防止攻击者继续尝试登录或发起攻击。
以下是 Fail2ban 的一些关键特性和工作原理:
- 日志监视: Fail2ban 通过分析日志文件来监视系统上的活动。它支持监视各种服务的日志,如 SSH、FTP、Apache、Nginx 等。
- 检测规则: 用户可以定义自定义的检测规则,用于识别恶意行为。这些规则通常基于正则表达式,可以匹配登录失败、密码尝试等事件。
- 封禁机制: 一旦 Fail2ban 检测到恶意行为,它会自动执行预定义的动作,例如在防火墙中添加规则以阻止特定 IP 地址的访问。
- 灵活配置: Fail2ban 的配置非常灵活,用户可以根据自己的需求定义封禁的持续时间、尝试次数等参数。
- 邮件通知: 可以配置 Fail2ban 发送电子邮件通知,通知管理员有关被封禁的 IP 地址以及相关的活动。
- 日志记录: Fail2ban 会记录封禁的 IP 地址和封禁的原因,以便管理员进行审查和分析。
- 自动解封: 可以配置 Fail2ban 在一段时间后自动解封被封禁的 IP 地址,以防止误封或暂时的恶意行为。
Fail2ban 是一个强大的安全工具,可以帮助管理员保护他们的服务器免受暴力攻击和恶意登录的威胁。通过及时识别和封禁恶意行为,它有助于提高服务器的安全性和稳定性。
自動檢測環境安裝:
wget https://blog.xueli.lol/Script/install_fail2ban.sh -O install_fail2ban.sh && chmod +x install_fail2ban.sh && bash install_fail2ban.sh
CentOS:
yum install -y epel-release && yum install -y fail2ban && systemctl start fail2ban && systemctl enable fail2ban && systemctl status fail2ban
Debian/Ubuntu:
sudo apt-get install fail2ban && sudo apt-get install rsyslog && sudo systemctl start fail2ban && sudo systemctl enable fail2ban && sudo systemctl status fail2ban