暴力破解FTP服务器技术探讨与防范措施

时间:2023-03-08 17:36:24
暴力破解FTP服务器技术探讨与防范措施

暴力破解FTP服务器技术探讨与防范措施

随着Internet的发展出现了由于大量傻瓜化黑客工具任何一种黑客攻击手段的门槛都降低了很多但是暴力破解法的工具制作都已经非常容易大家通常会认为暴力破解攻击只是针对某一种FTP服务器发起的攻击能具有代表性吗可以拓展到其他的网络或服务器上吗答案当然是肯定的。暴力破解这种软件使用起来没有什么技术含量原理就是一个接一个的试直到试验出正确的密码也就是破解成功了。不过这种破解方式成功几率不高耗费时间多技术成分低不是迫不得已是不使用的。在网络的实际情况中很多FTP服务器虽说都是经过了层层的安全防护的即便是经过防护的FTP服务器同样可以在攻击者简单地调整攻击方式以后运用暴力破解快速突破。本文谈谈各种攻击技术对服务器的影响仅供网络管理人员在平时工作中制定安全防范策略时参考使用。

一、网络本身的负载能力与高速网络

所有的网络攻击都是基于网络而发起的这就决定了网络是一切网络攻击、安全防护技术的根本。如果攻击者处于一个网络资源极度缺乏的环境之中想要发起高级的网络攻击也是力不从心的。同时如果防御者处于一个并非优秀的网络中网络正常服务本身都很难为正常用户提供更不用说进行网络安全防护了。

1 网络带宽的束缚

从国内刚刚出现互联网开始到今天网络的普及网龄比较长的网民都经历了使用调制解调器拨号上网的举步维艰也都经历了1Mb/s、2Mb/s甚至10Mb/s的高速网络而网络安全同样经历了这样的一个由慢到快、从低速到高速的过程在这个过程之中很多原本看起来根本不可能的攻击技术也已经可以很顺畅地发起了。很多攻击者在进行这样的攻击的时候都会发现一个很奇特的现象刚刚对目标发起了分布式的暴力破解攻击10分钟后目标服务器因为带宽拥堵竟然瘫痪了……

对攻击者来说这是很让人啼笑皆非的事情因为攻击者的目标原本是为了通过暴力破解获得某些机密的、内部的FTP资料但是无意间却造成了目标服器的整体瘫痪这显然是攻击者不愿意看到的结果。这也是攻击者和网络安全工程师因为网络带宽造成的困扰之一。

另一方面暴力破解因为自身特性所有的验证过程都是通过向服务器据提交信息、获得服务器返回信息并进行判断而进行的。在这个过程中不管是服务器的网络带宽质量还是攻击者使用的僵尸计算机本身的网络带宽速度都在很大程度上决定了暴力破解整个完成时间的长短。就目前的网络带宽来说要顺畅、高速地发起FTP的暴力破解攻击还是有一定难度的。一般情况下攻击者动用上百台僵尸计算机进行攻击就已经是暴力破解的极限因为即使再增加僵尸计算机网络带宽的限制也不允许更多的数据收发的进行。所以第二个限制暴力破解攻击整体效率提高的因素就是僵尸计算机本身的网络带宽质量。

从现阶段国内四处都在进行的轰轰烈烈的网络速度提升来看不难预见不久后的将来整体网络速度将有非常大的提高。就像今天国际公认的平均个人网速最快的国家韩国一样人均网速达到10Mb/s20Mb/s甚至更多。

虽然网络速度的提升正在飞速的发展着但是对攻击者来说不可能恰好子就遇到拥有高速网络的僵尸计算机或者目标服务器。于是就有读者提问现阶段的攻击者是如何解决网络带宽的问题的呢以后如果出现网络整体速度都得到很大提升的时候攻击者的暴力破解攻又将有怎么样的发展呢

2内部高速网络和分布式破解解决带宽难题

先解决第一个问题现阶段的攻击者是如何解决网络带宽的问题的呢举例来说一个攻击者妄图获得某会员制网站的FTP账户权限因为里面有很多内部付费使用的资料。但是这个会员制网站服务器的网络带宽质量并不高如果采用分布式的暴力破解攻击可能十几台僵尸计算机就足以让这个服务器瘫痪了攻击者显然是不愿意看到这样情况的发生的。

在实际的网络攻击案例中很多攻击者都遇到了这样的问题他们的解决方法也很巧妙也非常实用利用内部网络通信的高速来解决暴力破解的网络带宽难题。有一定网络经验的网民都知道中国现在的服务器一般都是托管在IDC或者机房的而正常情况下IDC或者机房会进行很多的网络带宽限制在机房的入口路由或者机柜的防火墙上限制带宽让由外对内的网络带宽变得很窄-毕竟机房很多情况下都是通过带宽来进行托管收费的。

现在的服务器配置一般都是千兆网卡但是对外的网络带宽不可能做到千兆全开。一般中小站点能购买510Mb/s的独立带宽就很不错了也就是说这样的服务器在提供对外的访问的时候即使网络堵塞了用户打不开网站了FTP无法提供正常服务了。实际上就服务器本身的硬件性能来说还有极大的容余可以用来提供网络服务只是出入口网络带宽不足而已。就目前国内的整体网络安全意识来看对资深的攻击者来说在一个存放着几百台服务器的机房中找寻一台"肉鸡"并不是很难的技术问题。找到这样的内部服务器有什么用呢攻击者当然可以选择用来发起暴力破解攻击。对一个千兆网卡来说如果是在内部网络中进行访问数据的中转和网络损耗本是可以忽视的。这就好比由一个1Mb/s的ADSL猫连接的两个家用计算机虽然从网络上下载文件大概只有150Mb/s的速度但是如果两个计算机之间传送文件的话8Mb/s的内网速度还是很容易实现的。所以现阶段的攻击者如果想要发起效率非常高的FTP暴力破解在目标服务器的网络带宽存在束缚的时候-机柜中的服务器并利用内部网络高速的特点发起超快的FTP暴力破解。

再说说另一个问题以后如果出现网络整体速度都得到很大提升的情况攻击者的暴力破解攻击又将有怎么样的发展呢  其实同第一个问题相比这个问题已经在大范围内得到了解决而且很多攻击者现在就是这样发起攻击的那就是分布式暴力破解。在之所有有些攻击者因为网络带宽的问题无法发起大范围的分布式暴力破解攻击原因更多的还是目标服务器的网络带宽限制而不是僵尸计算机本身的网络带宽。因为僵尸计算机的网络带宽就算不足就算很慢攻击者完全可以使用数量代替质量的方式利用很多网络带宽不好的僵尸计算机发起大规模的暴力破解毕竟因为网络安全意识低下僵尸计算机还是很容易捕获的。当目标服务器的带宽在不久后的未来得到大力提升的时候攻击者完全可以利用成千上万的僵尸计算机发起大规模的分布式暴力破解攻击只要目标计算机的网络带宽足以承受这样的攻击那么攻击者在极短的时间内就可以完成看似非常庞大的密码集的暴力破解攻击。

二、CPU运算、处理能力低下的解决方法

同几年前的硬件性能相比现在的计算机、服务器的运算处理能力已经得到了飞速的发展。正如计算机专家普遍认为的一样可以预见的是硬件处理能力的提高将在很长一段时间内持续而稳定地高速进步。

1. 运算处理能力的束缚

单就暴力破解来说运算处理能力包括两方面的束缚一方面是目标服务器的处理能力另一方面是发起攻击的计算机的处理能力。目标服务器的处理能力决定了攻击者可以运用多大量级的攻击规模。

比如针对一个普通的小型FTP服务器典型的配置是4GB左右的CPU速度24GB的内存容量。针对这样的小型FTP服务器在不考虑网络带宽的理论状态情况下攻击者使用每秒1000020000次左右的暴力破解攻击效率就基本达到了极限就算攻击者发起更高效率的暴力破解也无法获得更快的结果。在实际情况中攻击者要发起这样效率的攻击是比较简单的甚至不用使用到大规模的僵尸计算机群就可以做到。

随着计算机硬件的发展如果服务器在处理包含了数个指令的FTP暴力破解信息的时候能够做到每秒理论上数十万、数百万次的请求和应答运算那攻击者完全就可以放开手脚进行暴力破解攻击了。

现在的网络中有些攻击者动用庞大的僵尸计算机群发起每秒上十万次的FTP暴力破解请求因为FTP暴力破解的过程是通过连接服务器→获得连接信息→发送账户→获得需求密码信息→发送可能的密码→获得反馈信息→再次发起服务器连接这样的过程循环进行的所以看似快速的服务器处理能力并不能满足不断堆积的攻击者计算机连接请求。这就导致了很多攻击计算机发送的密码验证信息被丢弃攻击计算机无法获得正常的服务器返回信息最终导致暴力破解失败。发起攻击的计算机的处理能力决定了攻击者是否需要动用分布式的暴力破解攻击。同被攻击目标服务器不同的是被攻击者控制的僵尸计算机的运算能力并不直接决定暴力破解的成败而是对暴力破解的整个时间和成功率有非常重要的影响。

在理论极限中不考虑网络带宽只考虑硬件处理能力的情况下假使FTP服务器每次处理一个完整的FTP连接请求需要万分之一秒而同时能处理的请求数目是10000个。那么最完美的暴力破解模型是使用10000个僵尸计算机完成万分之一秒内的暴力破解攻击。也就是说在最小的目标服务器的处理能力下使用目标服务器最大的处理能力来进行暴力破解。这样的暴力破解攻击成功率理论是100%而在保证了成功率的基础上时间是最短的。那么现在的攻击者是如何解决服务器和僵尸计算机运算处理能力的呢

2 分布式暴力破解提高成功率

分布式暴力破解在很多时候是提高成功率的保障。对攻击者来说目标服务器的处理能力是不可控的攻击者是无法提高目标服务器的处理能力的所以必须适应目标服务器的处理能力由此才采用了分布式的暴力破解技术。

采用分布式穷举的好处是在攻击者不知道目标服务器的负载能力的时候可以通过灵活的调整僵尸计算机的数量来逐渐摸索目标服务器的负载能力以便达到在目标服务器不丢包、不误报的情况下在保证最高成功率的前提下尽量提升暴力破解的时间。举例来说如果目标服务器的负载能力是每秒处理1000次FTP连接、账户密码验证、信息发送攻击者如果使用每秒可以完成10次上述过程的僵尸计算机进行暴力破解如果攻击者使用了10000台僵尸计算机那目标服务器的运算能力显然是跟不上的也就可能出现误报或者错误的情况最佳的情况是使用100台僵尸计算机满足目标服务器的运算处理能力最大化并且也能够在保证100%成功的基础上最大化地缩小暴力破解时间。

总的来说分布式暴力破解是对攻击者的攻击经验的一种考验。如果分布的僵尸计算机数量太多结果可能是很快完成了暴力破解但是因为误报和丢弃的存在而无法获得正确的密码如果分布的僵尸计算机数量太少虽然可以很稳妥地进行完全部的暴力破解攻击获得想要的密码但是时间可能极长。

3.根据僵尸计算机的性能编写高效率的暴力破解程序

另外一个能在保证成功率的前提下同时大大缩短暴力破解的时间的方法是调整暴力破解程序的运行速度。一个适合僵尸计算机处理能力的暴力破解程序在攻击过程中是非常重要的。

如果暴力破解程序在僵尸计算机上运行很吃力已经超出了僵尸计算机的处理能力结果可能是原本正确的密码也得不到相应的正确结果因为僵尸计算机已经无法完成各种信息的收发和处理了。

如果暴力破解程序在僵尸计算机上运行得很轻松系统性能有很多的容余这样的情况下整个暴力破解的时间将会很长。所以要发起一个在保证成功率的前提下还要尽量缩短暴力破解时间的攻击需要攻击者根据自己的僵尸计算机的情况选择不同的暴力破解程序消耗以尽量达到成功率和时间两者的平衡。

三、 安全策略的突破

如果苛刻地说网络带宽和运算处理能力都是非技术因素无法可控地进行优化的话那么安全策略就是最直接也是最有效的防御措施了。对暴力破解来说安全策略在很大程度上对暴力破解的成功率、时间甚至是否能发起攻击都存在着很大的影响。不过之所以说暴力破解是一种放之四海而皆准的攻击方式就在于它可以经过攻击者简单的变化而达到突破安全策略的目的。需要指出的是本节的安全策略是单独的和暴力破解相关的安全策略并没有涉及诸如密码期限、密码长度、通信加密等与暴力破解无关的安全策略。

1  连接频率限制及其突破

随着网络安全意识的逐渐提高重视安全的管理员一般会限制FTP服务器的连接频率。所谓的连接频率是指管理员定义了在特定时间段内的同一用户的连接次数在这个次数限制之内可以任意连接如果超出这个次数限制则拒绝连接。

网络安全工程师或管理员通过对连接频率的限制一方面可以合理地分配FTP服务器的处理运算能力避免出现某一个用户因为使用了超快的连接而大量占用服务器资源的情况另一方面可以对普通的基于账户密码的暴力破解攻击进生行之有效地限制。

大家注意实际网络中也存在其他时间和连连接频率限制的规则不一定是5秒一次连接也不一定是10秒后才允许下一次连接。如果是默认的高效率的FTP暴力破解一般情况下都是一秒发起上百次连接尝试大大地超出了服务器允许的范围所以这样的暴力破解显然是不能成功的会被服务器一直拒绝连接。针对这样的情况有经验的攻击者在发现目标服务器存在这样的连接频率限制以后会适当地修改暴力破解程序的连接频率让攻击程序在满足安全策略的前提下进行暴力破解。

比如攻击者完全可以定义攻击程序每5.1秒进行一次FTP暴力破解尝试以达到躲开安全策略限制的目的。这样的频率限制策略看似在效率上大大地阻碍了暴力破解的进行 但是如果只有这一种安全策略的话是无法阻挡攻击者发起高效的暴力破解的实际上攻击者可以通过其他攻击策略的改变来变相提高整个暴力破解的效率。

2 尝试错误次数限制及其突破

同连接频率相比错误次数限制更常见一些网络上很多FTP服务器的管理员或者工程师都使用了这个安全策略。尝试错误次数限制是指某FTP用户的错误发生次数当该用户的密码尝试次数超过规定的次数以后则短期拒绝该用户的连接。举例来说网络安全工程师可以设定这样的安全策略从某用户尝试登录开始连续5次输入密码错误则返回错误信息并在FTP系统中拒绝该用户的下一次密码验证直到超过设定的限制时间结束。

这样做的好处可以在很大程度上限制普通暴力破解攻击的发起因为很多暴力破解攻击都是在无数的错误中找寻一个正确的密码。如果遇到这样的策略暴力破解就几乎没有成功率可言了。不过错误次数限制实际上也是可以突破的而且突破的方法也并不难。

对有经验的攻击者来说一旦发现目标系统存在错误次数限制则会通过手工验证的方式彻底摸清究竟允许几次密码错误后续的拒绝连接时间究竟是多少一旦弄明白这两点攻击者会很容易地调整暴力破解策略突破次数限制。举例来说如果管理员限制了5次连续错误后30秒不允许连接则攻击者可以定义暴力破解程序以5次为一个循环每发起5次攻击就暂停30秒然后再继续尝试。  另外一种方式是每5次尝试一个新账户在服务器开始拒绝当前账户连接的时候使用新的账户进行暴力破解尝试直到所有的用户名都尝试过一遍再重头开始。还有一个大多数攻击者采用的方式就是利用分布式的攻击来解决错误次数的限制每个僵尸计算机都使用独立秒然后再进行后续的尝试。

3. IP锁定及其突破

同上面的两种安全策略相比IP锁定比较难解决一些不过只要目标FTP考虑让正常用户使用那暴力破解就肯定可以发起。IP锁定策略一般是和连接频率、错误次数策略配合使用也就是说当某账户进行连接以后如果连接频率过高或者错误次数超过限制则开始运用IP锁定策略。

在实际网络中IP锁定策略有两个典型的应用方式一种是当某账户出现异常以后FTP服务器记录这个账户的IP地址然后加入自己的黑名单从此以后均拒绝此IP的连接除非该用户联系管理员解除黑名单限制另一种方式是IP限制是暂时的过一段时间会自动解除。针对自动解除限制的情况攻击者可以制一样的方法调整暴力破解的循环时间在限制时间过后继续发起暴力破解攻击。针对永久*IP的情况有四种方法可以突破

1.使用代理突破IP*

单纯地使用代理来进行FTP暴力破解是无法突破IP锁定的只有暴力破解程序可以自动读取代理列表然后在目标系统允许的情况下发起几次暴力破解然后再更换代理继续发起攻击。这个方法实现起来虽然简单但是实际效果并不好因为就算是网络攻击者也不能够保证构建一个拥有足够多代理并且连接速度稳定、不产生意外数据接收错误的代理群如何获得更多的代理呢我们可以去网页上搜索也可以自己用代理猎手来找代理他最大的特点是搜索速度快最快可以在十几分钟内搜完一个B类地址。如果单纯的代理无法满足需要的话我们还可以换用Muti Proxy实现IP动态*切换功能通过使用Sockscap+Sksockserver实现完美组合以达到组合代理的需求。如下图1、2所示。

暴力破解FTP服务器技术探讨与防范措施650) this.width=650;" style="border-bottom:0px;text-align:center;border-left:0px;border-top:0px;border-right:0px;" class="fit-image" border="0" alt="图1" src="http://images.51cto.com/files/uploadimg/20110704/0936290.jpg" width="314" height="282" />

图1

暴力破解FTP服务器技术探讨与防范措施650) this.width=650;" style="border-bottom:0px;text-align:center;border-left:0px;border-top:0px;border-right:0px;" class="fit-image" border="0" alt="图2" src="http://images.51cto.com/files/uploadimg/20110704/0936291.jpg" width="374" height="251" />

图2

2 .使用ADSL类的动态IP机制突破IP*

很多人都知道ADSL每次重新拨号以后都会分配一个新的IP而且网络中也已经存在很多不断自动拨号的程序如果攻击者愿意自己编写一个类似的程序和暴力破解程序相配合完全可以做到无差别的暴力破解。当然使用网络上己有的自动拨号程序也可以满足要求。

这个方法总的来说是比较好的但是对攻击者的僵尸计算机有一定的要求。

3 .使用SteganosIntemet Anonym Pro和Hide Ip Easy之类的程序突破IP*

暴力破解FTP服务器技术探讨与防范措施650) this.width=650;" style="border-bottom:0px;text-align:center;border-left:0px;border-top:0px;border-right:0px;" class="fit-image" border="0" alt="图3" src="http://images.51cto.com/files/uploadimg/20110704/0936292.jpg" width="360" height="278" />

图3

Steganos Internet Anonym Pro是国外*黑客研究出的自动变化IP的程序是一套功能强大的网络身份隐藏工具软件用户可以通过该软件很简单地隐藏自已的IP、更换自己的IP。一般情况下Steganos Internet Anonym Pro的IP变化是1秒钟变一次而IP地址的位置一会儿在英国一会儿在加拿大变换频率非常快。从原理上讲Steganos Intemet Anonym Pro是通过代理方式实现IP地址不停变化目的的因此在IP地址变换之前需要先测试该程序内置代理服务器的工作是否正常并根据测试结果筛选出工作性能最稳定的代理服务器如图4所示。使用Steganos Intemet Anonym Pro发起暴力破解攻击的话攻击者如果适当地调整了暴力破解程序和循环间隔以适应SteganosIntemet Anonym Pro的IP变换间隔完全可以做到无视IP限制策略。

暴力破解FTP服务器技术探讨与防范措施650) this.width=650;" style="border-bottom:0px;text-align:center;border-left:0px;border-top:0px;border-right:0px;" class="fit-image" border="0" alt="图4" src="http://images.51cto.com/files/uploadimg/20110704/0936293.jpg" width="299" height="301" />

图4

4. 计算机标识限制及其突破

最烦琐的FTP安全策略就是使用用户计算机的标识来进行限制了。所谓用户计算机的标识是指在FTP服务器和用户计算机的交互中服务器通过某种途径记录了用户计算机的某些标识如MAC地址、cookies信息、硬件编号等。当管理员设置的连接频率、错误次数限制达到的时候FTP服务器就会根据计算机标识来识别用户计算机进而进行连接限制。

这样的限制方法在网络上出现的不多不过国外的某些营利性组织经常使用这样的方法来进行安全保障比如投资公司、股票顾问、非法博彩等站点。从技术上说这样的策略是比较狠的要对这样策略下的FTP服务器进行暴力破解攻击比较难--但不是说毫无办法。举例来说常见的这种限制是通过网卡的MAC地址识别来实现的而MAC地址是可以更改的攻击者完全可以自己编写程序每次暴力破解发起的时候都改变一次MAC地址。当然网络中到处都是MAC地址的改变程序甚至很多硬件信息也是可以随意生成的如Mac MakeUp等如图5

暴力破解FTP服务器技术探讨与防范措施650) this.width=650;" style="border-bottom:0px;text-align:center;border-left:0px;border-top:0px;border-right:0px;" class="fit-image" border="0" alt="图5" src="http://images.51cto.com/files/uploadimg/20110704/0936294.jpg" width="356" height="270" />

图5

如果目标FTP服务器是通过cookies等信息来辅助验证的话突破方法就更为简单了。攻击者可以自己编程实现每次暴力破解前都清空一次cookies也可以使用SteganosIntemet Anonym Pro等工具实现cookies自动删除、浏览记录自动删除等。

四、应对措施第三方软件Fail2ban加固方法

魔高一尺道高一丈总的来说只要FTP服务器妄图让正常用户使用要彻底地杜绝FTP的暴力破解攻击就非常困难至少目前没有办法实现下面我们用第三方软件来进行加固经过笔者长期对比发现Fail2ban对于解决暴力破解、非法扫描能起到比较好的效果它是一个基于防火墙链添加新规则构成并发送e-mail通知系统管理员。Fail2ban不仅可以使用自动识别可能的暴力入侵而且可按照快速且简易的用户自定义规则去分析因为fail2ban 的原理是调用iptables 实时阻挡外界的攻击按照你的要求在一段时间内找出符合条件的日志然后动作所以你的系统里必选装有iptables以及Python的支持。

1.下载安装

在基于debian系统下安装fail2ban是非常畅快的。以root用户执行下列命令

# apt-get install fail2ban

在GNU/Linux 系统上源码安装为了编译Fail2ban你需要下载最新的源码http://sourceforge.net/projects/fail2ban 。当获取后你可以该改变你的源码目录并执行下列命令

#tar xvjf fail2ban-x.x.x.tar.bz2

你会在当前工作目录下得到一个Fail2ban的解压后的源码目录。你须CD到新的目录中。现在以root用户执行安装

#./setup.py install

Fail2ban 会安装在 /usr/share/fail2ban/ 和 /usr/bin/目录中装好后稍微根据自己的情况改一下配置就可以使用了。

2.系统配置

一个典型的配置文件如下

/etc/fail2ban/
├── action.d
│ ├── dummy.conf
│ ├── hostsdeny.conf
│ ├── iptables.conf
│ ├── mail-whois.conf
│ ├── mail.conf
│ └── shorewall.conf
├── fail2ban.conf
├── fail2ban.local
├── filter.d
│ ├── apache-auth.conf
│ ├── apache-noscript.conf
│ ├── couriersmtp.conf
│ ├── postfix.conf
│ ├── proftpd.conf
│ ├── qmail.conf
│ ├── sasl.conf
│ ├── sshd.conf
│ └── vsftpd.conf
├── jail.conf
└── jail.local

每个.conf文件都会被名为 .local的文件覆盖。.conf首先被读取其次是.local。新的配置会覆盖早先的。因此,.local 文件不必包含每个相应于.conf中的选项,只是填写你想要覆盖的设置。

首先编辑fail2ban.conf

#vi /etc/fail2ban.conf                         #以 daemon 方式启动 fail2ban
background = true #允许尝试次数
maxfailures = 3 #触发 maxfailures 之後的*时间(秒); 设为 -1 表示永远*
bantime = 3600 #以 findtime (秒) 时间内的错误记录作为 maxfailures 的计数基准
findtime = 600 #排除 IP 范围, 以空白隔开
ignoreip = 127.0.0.1 192.168.0.0/24 #不启用 mail 通知
[MAIL]enabled = false #修改自 VSFTPD, 未提及的部份保持原设定
[PROFTPD]enabled = true
logfile = /var/log/proftpd/proftpd.log
failregex = no such user|Incorrect password #未提及的部份保持原设定
[SSH]enabled = true
logfile = /var/log/secureservice fail2ban

开始启动这个服务启动以后每天都能在 /var/log/fail2ban.log 中看到有攻击的肉鸡被 ban 了。

下面一步就复制初始化脚本到系统的 /etc/init.d 目录下执行chkconfig 和update-rc.d或手工创建一个符号链接设置权限


# chmod 755 /etc/init.d/fail2ban
#chkconfig -a fail2ban
#ln -s /etc/init.d/fail2ban /etc/rc2.d/S20fail2ban

最后整合fail2ban到日志循环中


创建文件"/etc/logrotate.d/fail2ban": 
/var/log/fail2ban.log {
    weekly
    rotate 7
    missingok
    compress
    postrotate
      /usr/local/bin/fail2ban-client reload 1>/dev/null || true
    endscript

最后是Iptables微调只允许每组IP同时5个21端口转发 类似功能大家可以去发挥。

#iptables -A FORWARD -p tcp --syn --dport 21 -m connlimit --connlimit-above 5 --connlimit-mask 24 -j DROP

好了经过安装、配置下面我们看看使用它的效果吧先浏览一下iptables

#iptables -L -nv
pkts bytes target protopt in out source destination
301 12740 fail2ban-ftp tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:21
3354 253K fail2ban-SSH tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
438 33979 fail2ban-httpdtcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 5703 packets, 829K bytes)
pkts bytes target prot opt in out source destination
Chain fail2ban-SSH (1 references)
pkts bytes target prot opt in out source destination
3354 253K RETURN all -- * * 0.0.0.0/0 0.0.0.0/0
Chain fail2ban-ftp (1 references)
pkts bytes target prot opt in out source destination
301 12740 RETURN all -- * * 0.0.0.0/0 0.0.0.0/0
Chain fail2ban-httpd (1 references)
pkts bytes target prot opt in out source destination
438 33979 RETURN all -- * * 0.0.0.0/0 0.0.0.0/0

查看fail2ban的日志

通过以下命令就能方便的查看到被记录的非法暴力破解IP

# cat fail2ban.log | grep '] Ban ' 

最后我们要注意fail2ban是一个日志分析器在写入日志前不会做任何事情。大多数系统日志守护进程都会缓冲他们的输出。这可能会和fail2ban性能有所冲突。因此最好能禁止缓冲你的系统日志守护进程以提高性能。目前来看只要FTP服务器希望让正常用户使用要完全杜绝FTP暴力破解攻击就会很难因此要从细微之处入手尽量降低被暴力破解的概率。

本文出自 “李晨光原创技术博客” 博客,谢绝转载!