安装(需要安装python) :
tar xf fail2ban-0.8.14.tar.gz
cd fail2ban-0.8.14
./setup.py install
cp files/redhat-initd /etc/init.d/fail2ban
chkconfig --add fail2ban
服务配置目录为:/etc/fail2ban
/etc/fail2ban/action.d #动作文件夹,内含默认文件。iptables以及mail等动作配置
/etc/fail2ban/fail2ban.conf #定义了fail2ban日志级别、日志位置及sock文件位置
/etc/fail2ban/filter.d #条件文件夹,内含默认文件。过滤日志关键内容设置
/etc/fail2ban/jail.conf #主要配置文件,模块化。主要设置启用ban动作的服务及动作阀值
/etc/rc.d/init.d/fail2ban #启动脚本文件
安装后配置:
cat /etc/fail2ban/fail2ban.conf |grep -v ^#
cat /etc/fail2ban/jail.conf |grep -v ^#|more
[DEFAULT] #全局设置
ignoreip = 127.0.0.1/8 #忽略的IP列表,不受设置限制(白名单)
ignoreip = 192.168.200.157
bantime = 600 #屏蔽时间,单位:秒
findtime = 600 #这个时间段内超过规定次数会被ban掉
maxretry = 3 #最大尝试次数
backend = auto #日志修改检测机制(gamin、polling和auto这三种)
[ssh-iptables] #针对各服务的检查配置,如设置bantime、findtime、maxretry和全局冲突,服务优先级大于全局设置
enabled = true #是否激活此项(true/false)
filter = sshd #过滤规则filter的名字,对应filter.d目录下的sshd.conf
action = iptables[name=SSH, port=ssh, protocol=tcp] #动作的相关参数
sendmail-whois[name=SSH,dest=***@***.com,sender=root,sendername="Fail2Ban"] #触发报警的收件人
logpath = /var/log/secure #检测的系统的登陆日志文件
maxretry = 5 #最大尝试次数
启动:
service fail2ban start #启动服务即可(就用默认的主配置文件里定义的)
service iptables start #fail2ban依赖预iptables
查看状态:
fail2ban-client status
查看被阻止的ip:
iptables -L