当前位置: > Linux安全 >

防帐号密码穷举工具:Fail2Ban

时间:2014-02-22 02:53来源:www.it.net.cn 作者:IT网

常在江湖飘哪能不挨刀。互联网似乎危机重重,不管是机器还是人工的“帐号密码穷举机”不胜其数。这时可以使用修改服务端口的方式,如—《Linux下SSH端口修改》。但这招总是治标不治本的。为此我们要给服务器在加一道防线,使用Fail2Ban这个工具自动封锁“穷举密码机”。

注意:以下方法适用于CentOS,并需要配合iptables才能运行-《iptables防火墙的基本应用


一、下载并解压Fail2Ban


wget http://soft.kwx.gd/security/fail2ban-0.8.4.tar.bz2

SSH执行以上命令,下载Fail2Ban 0.8.4版本。


tar -xjvf fail2ban-0.8.4.tar.bz2

SSH执行以上命令,解压fail2ban-0.8.4.tar.bz2。


cd fail2ban-0.8.4

SSH执行以上命令,进入fail2ban-0.8.4文件夹。


二、安装Fail2Ban


python setup.py install                 #运行安装脚本
cd files         #进入files文件夹
cp ./redhat-initd /etc/init.d/fail2ban  #复制文件到启动列表
chkconfig --add fail2ban                #创建启动项
service fail2ban start                  #测试运行

SSH执行以上逐行命令,安装Fail2Ban并添加到开机启动项中。黄色文字无需复制。

fail2ban-1.jpg上图,Fail2Ban能够启动则表示安装成功。


三、修改配置文件


1、进入目录


cd /etc/fail2ban

2、修改总体配置文件 jail.conf


(1)总体配置

#此ip或者ip段为例外,不受以下条件影响
ignoreip = 127.0.0.1
# 封锁时间(如一天为:86400)
bantime  = 600
# 在多长时间以内达到条件则开始执行封锁,如600秒达到3次则执行。 # 单位:秒
findtime  = 600
# 在以上条件的出错次数,如600秒达到3次则执行。
# 单位:次
maxretry = 3


(2)SSH设置

[ssh-iptables]

enabled  = false   #是否开启,开启则为true
filter   = sshd
action   = iptables[name=SSH, port=ssh, protocol=tcp]  #post为端口号
   sendmail-whois[name=SSH, dest=you@mail.com, sender=fail2ban@mail.com]
#上方红色字-you@mail.com,则为您的邮箱地址和发送人地址(建议一样)
#发信需要sendmail服务的支持,如果没有此服务或不需要发信可在sendmail前加#号注释掉。
logpath  = /var/log/sshd.log   #相应错误日志,一般为:/var/log/secure
maxretry = 5                  #尝试错误次数

(3)proftpd设置

[proftpd-iptables]

enabled  = false  #是否开启,开启则为true
filter   = proftpd
action   = iptables[name=ProFTPD, port=ftp, protocol=tcp]
           sendmail-whois[name=ProFTPD, dest=you@mail.com]
#上方红色字同上SSH设置一样。
logpath  = /var/log/proftpd/proftpd.log #相应错误日志
maxretry = 6            #尝试错误次数

注意,以上“相应错误日志”文件必须于实际相匹配,否则Fail2Ban也无法正常工作。


四、保存并重启Fail2Ban


service fail2ban restart    #重启fail2ban
chkconfig fail2ban on      #设置为开机自动启动

五、验证Fail2Ban是否正常运行


fail2ban-client status

SSH执行以上命令,查看fail2ban开启的监控状态是否运行,但不能看到实际效果。

fail2ban-2.jpg

如上图,表示在第三步演示的SSH和proftpd设置已经生效。当然您也可以通过iptables -L -n 查看已经被封锁的IP。

(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容