candy 发表于 2017-1-3 11:54:29

Apache的mod_evasive模块

  mod_evasive 模块的目的在于防止HTTP DoS或者DDoS。
  一般的设置项如下:

#place this code in the httpd.conf
<IfModule evasive_module>
#optional directive (default value equals to 1024)
DOSHashTableSize    1024
#obligatory directives (if even one of them is not set, malfunctioning is possible)
DOSPageCount      10
DOSSiteCount      150
DOSPageInterval   1
DOSSiteInterval   1
DOSBlockingPeriod   10
</IfModule>
  里面可用的指令如下:

Name                  Description
DOSHashTableSize    定义HashTable的大小
DOSPageCount    定义对同一个页面的访问次数(或者URI)
DOSSiteCount            定义同一个Client对同网站访问的总次数
DOSPageInterval    页面访问统计的间隔,为1时的意思是1秒钟重置一次PageCount的计数器
DOSSiteInterval    对网站访问的统计间隔
DOSBlockingPeriod    一个Client被禁止访问本站的时间
DOSSystemCommand当一个Client被列入黑名单之后,系统会使用的命令,你可以用iptables把该IP封掉
DOSCloseSocket   关闭Socket链接,发送403 forbidden状态码
   还有一个白名单。
  凡是此名单的IP,统统不进行统计。

DOSWhiteList 127.0.0.1 10.0.0.*
  至于DOSPageCount和DOSSiteCount的设置,你可以根据你的日志访问来进行统计。
  然后再设置这个值。
  ===========================全文完===========================
页: [1]
查看完整版本: Apache的mod_evasive模块