fail2ban 可以监视你的系统日志,然后匹配日志的错误信息(正则式匹配)执行相应的屏蔽动作(一般情况下是调用防火墙屏蔽),如:当有人在试探你的SSH、 SMTP、FTP密码,只要达到你预设的次数,fail2ban就会调用防火墙屏蔽这个IP,而且可以发送e-mail通知系统管理员,是一款很实用、很 强大的软件!
[root@SeDion ~]# vim /etc/yum.repos.d/CentOS-Base.repo
最后新增:
name=Red Hat Enterprise Linux $releasever - $basearch - ATrpms baseurl=http://dl.atrpms.net/el$releasever-$basearch/atrpms/stable gpgkey=http://ATrpms.net/RPM-GPG-KEY.atrpms gpgcheck=1 enabled=1
yum装fail2ban(如果装过 就把它卸载了)
[root@SeDion ~]# yum -y install fail2ban
rpm -ql fail2ban
[root@SeDion ~]# cat /etc/fail2ban/fail2ban.conf |grep -v ^#
#我们需要做的就是把这行改成 logtarget = /var/log/fail2ban.log,方便用来记录日志信息
[root@SeDion ~]# cat /etc/fail2ban/jail.conf |grep -v ^# |less
三 应用
ssh远程登录5分钟内3次密码验证失败,禁止用户IP访问主机
动作文件(action.d/iptables.conf)以及日志匹配条件文件(filter.d/sshd.conf )是默认。
所以配置主要在jail.conf文件
[root@SeDion ~]# vi /etc/fail2ban/jail.conf
改为3.
启动服务:
[root@SeDion ~]# service fail2ban start
测试:
测试发现确实有一定的延迟。多进行几次
查看禁止ip:
[root@SeDion ~]# iptables -L |tail -4 Chain fail2ban-SSH (1 references) target prot opt source destination DROP all -- 192.168.2.5 anywhere RETURN all -- anywhere anywhere
查看fail2ban记录文件:
[root@SeDion ~]# vi /etc/fail2ban/jail.conf
2014-01-11 20:26:02,453 fail2ban.actions: WARNING [ssh-iptables] Ban 192.168.2.5 2014-01-11 20:26:20,923 fail2ban.actions: WARNING [ssh-iptables] 192.168.2.5 already banned 2014-01-11 20:26:42,946 fail2ban.actions: WARNING [ssh-iptables] 192.168.2.5 already banned