配备 mod_dosevasive 让你的 Apache 拒绝 DDOS

配置 mod_dosevasive 让你的 Apache 拒绝 DDOS

DDoS攻击概念

  DoS的攻击方式有很多种,最基本的DoS攻击就是利用合理的服务请求来占用过多的服务资源,从而使服务器无法处理合法用户的指令。

  DDoS攻击手段是在传统的DoS攻击基础之上产生的一类攻击方式。单一的DoS攻击一般是采用一对一方式的,当被攻击目标CPU速度低、内存小或者网络带宽小等等各项性能指标不高,它的效果是明显的。随着计算机与网络技术的发展,计算机的处理能力迅速增长,内存大大增加,同时也出现了千兆级别的网络,这使得DoS攻击的困难程度加大了 - 目标对恶意攻击包的"消化能力"加强了不少,例如你的攻击软件每秒钟可以发送3,000个攻击包,但我的主机与网络带宽每秒钟可以处理10,000个攻击包,这样一来攻击就不会产生什么效果。

  这时候分布式的拒绝服务攻击手段(DDoS)就应运而生了。你理解了DoS攻击的话,它的原理就很简单。如果说计算机与网络的处理能力加大了10倍,用一台攻击机来攻击不再能起作用的话,攻击者使用10台攻击机同时攻击呢?用100台呢?DDoS就是利用更多的傀儡机来发起进攻,以比从前更大的规模来进攻受害者。

  高速广泛连接的网络给大家带来了方便,也为DDoS攻击创造了极为有利的条件。在低速网络时代时,黑客占领攻击用的傀儡机时,总是会优先考虑离目标网络距离近的机器,因为经过路由器的跳数少,效果好。而现在电信骨干节点之间的连接都是以G为级别的,大城市之间更可以达到2.5G的连接,这使得攻击可以从更远的地方或者其他城市发起,攻击者的傀儡机位置可以在分布在更大的范围,选择起来更灵活了。

 

   配置办法:

        根据不同的版本调整 dosevasive 后面的数字

LoadModule dosevasive_module Modules/mod_dosevasive22.so 
<IfModule mod_dosevasive.c> 
    DOSHashTableSize 3097 
    DOSPageCount 5
    DOSSiteCount 90 
    DOSPageInterval 1 
    DOSSiteInterval 1 
    DOSBlockingPeriod 60 
</IfModule> 

 

    DOSHashTableSize : 黑名单长度

    DOSPageCount : 在 DOSPageInterval 后的秒值内访问 相同的URI 达到DOSPageCount 次后 被封锁

    DOSSiteCount : 在 DOSSiteInterval 后的秒值内访问 相同的站点 达到DOSSiteCount 次后 被封锁

    DOSBlockingPeriod :攻击者 被封锁的时间 s

 

 

    废话少说上附件: