Apache引入mod_evasive模块防止ddos攻击

我的环境是appserv-win32-2.5.10集成环境

网站的图片被大量恶意IP访问

百度良久找到这个模块

引入这个模块配置之后的确是有作用的

但作用不是很大,最后曲线救国解决了这个问题,解决的方法有很大局限性 我就不说了;

具体配置如下 conf/httpd.conf

LoadModule dosevasive22_module modules/mod_dosevasive22.so	#引入模块


<IfModule dosevasive22_module>
 DOSHashTableSize 3097 	#记录黑名单的尺寸 
 DOSPageCount 6         #每个页面被判断为dos攻击的读取次数  一旦超过,用户ip将被列入黑名单
 DOSSiteCount 100 	#每个站点被判断为dos攻击的读取部件(object)的个数  一旦超过,用户ip将被列入黑名单
 DOSPageInterval 1 	#读取页面间隔秒  同一页面的规定间隔时间
 DOSSiteInterval 1 	#读取站点间隔秒 
 DOSBlockingPeriod 200 	#被封时间间隔秒  规定列入黑名单内ip的禁止时限,在时限内,用户继续访问将收到403 (Forbidden)的错误提示,并且计时器将重置。
由于列入黑名单后每次访问都会重新计时,所以不必将时限设置太大。在Dos攻击下,计时器也会保持 重置 
</ifmodule>

我们还可以做防盗链设置,禁止直接访问图片:

<VirtualHost *:80>
	DocumentRoot "C:\AppServ\www"
	ServerName  www1.X.cn
	ServerAlias www1.X.cn
	<Directory "C:\AppServ\www">
	    Options Indexes FollowSymLinks
	    AllowOverride all
	    Order allow,deny
	    Allow from all
	    Deny From 195.94.144.210
	</Directory>
	# 防盗链配置 
	<IfModule mod_rewrite.c>
	RewriteEngine On
	RewriteCond %{HTTP_REFERER} !^http://www1.X.cn/.*$ [NC]
	RewriteCond %{HTTP_REFERER} !^http://www1.X.cn$ [NC]
	RewriteRule .*\.(png|jpg|mp3)$ http://www.baidu.com [R,NC]
	</IfModule>
	ErrorLog "C:\AppServ\Apache2.2\logs\gerinn-errorsB.log"
	CustomLog "C:\boshi.log" common
</VirtualHost>

修改的是conf\extra\httpd-vhosts.conf

语句解释:

RewriteCond就像我们程序中的if语句一样,表示如果符合某个或某几个条件则执行RewriteCond下面紧邻的RewriteRule语句;

%{HTTP_REFERER}   引用服务器变量 ,方法是:%{NAME_OF_VARIABLE}  NAME_OF_VARIABLE即为服务器变量【HTTP_USER_AGENT,HTTP_REFERER,HTTP_COOKIE,HTTP_FORWARDED,HTTP_HOST,HTTP_PROXY_CONNECTION,HTTP_ACCEPT】

!^http://www1.X.cn/.*$ [NC]     !即为不匹配后面的正则表达式 NC意味不区分大小写

以上的语句大概意思就是如果用户访问的http_referer不是www1.x.cn则执行下面的RewriteRule

RewriteRule .*\.(png|jpg|mp3)$ http://www.baidu.com [R,NC]  如果后缀是png jpg这些则跳转到百度

下载:http://download.csdn.net/detail/tianhuimin/4412296



猜你喜欢

转载自blog.csdn.net/slyjit/article/details/76209210
今日推荐