fail2ban与iptables整合实战:构建自动防护机制
在Linux系统安全防护中,fail2ban作为一款优秀的入侵检测工具,能够有效识别并阻止恶意登录尝试。本文将详细介绍如何将其与iptables结合,实现自动化的安全防护。
基础环境准备
首先确保系统已安装相关组件:
# CentOS/RHEL系统
yum install fail2ban iptables-services -y
# Ubuntu/Debian系统
apt-get install fail2ban iptables -y
核心配置步骤
- 配置fail2ban监听规则 编辑
/etc/fail2ban/jail.local文件:
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 3600
findtime = 600
ignoreip = 127.0.0.1/8
- 创建iptables自动封禁规则 在
/etc/fail2ban/action.d/iptables.conf中添加:
[Definition]
actionstart = iptables -N fail2ban-<name>
iptables -A fail2ban-<name> -j ACCEPT
iptables -I INPUT -p <protocol> --dport <port> -j fail2ban-<name>
actionban = iptables -I fail2ban-<name> -s <ip> -j DROP
actionunban = iptables -D fail2ban-<name> -s <ip> -j DROP
- 重启服务
systemctl restart fail2ban
systemctl enable fail2ban
systemctl status fail2ban
验证机制
通过模拟登录失败测试:
# 查看fail2ban日志
journalctl -u fail2ban | grep -i "fail2ban"
# 检查iptables规则
iptables -L -n -v
当检测到连续3次失败登录时,系统将自动在iptables中添加DROP规则,并在1小时内阻止该IP访问。此方案有效降低SSH暴力破解风险。

讨论