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的设置,你可以根据你的日志访问来进行统计。

然后再设置这个值。

 

 

===========================全文完===========================

你可能感兴趣的:(apache,mod_evasive)