....<IfModule mod_rpaf-2.0.c>RPAFenable OnRPAFproxy_ips 127.0.0.1 192.168.12.201 192.168.12.202 192.168.12.203RPAFsethostname OnRPAFheader X-Forwarded-For</IfModule><IfModule mod_evasive20.c> DOSHashTableSize 3097 DOSPageCount 10 DOSSiteCount 100 DOSPageInterval 2 DOSSiteInterval 2 DOSBlockingPeriod 360 DOSEmailNotify ***@qq.com DOSLogDir "/usr/local/webserver/apache2/logs/mod_evasive" DOSWhiteList 192.168.12.*</IfModule> <IfModule mod_evasive20.c> DOSHashTableSize 3097#记录和存放黑名单表大小,如果服务器访问量很大,可以加大该值.DOSPageCount 5 #同一个页面在同一时间内可以被同一个用户访问的次数,超过该数字就会被列为攻击,同一时间的数值可以在DosPageInterval参数中设置.DOSSiteCount 100#同一个用户在同一个网站内可以同时打开的访问数,同一个时间的数值在DOSSiteInterval中设置。DOSPageInterval 2#设置DOSPageCount中时间长度标准,默认值为1。DOSSiteInterval 2设置DOSSiteCount中时间长度标准,默认值为1。DOSBlockingPeriod 3600#被封时间间隔秒,这中间会收到 403 (Forbidden) 的返回。DOSEmailNotify **.@qq.com#设置受到攻击时接收攻击信息提示的邮箱地址。有IP加入黑名单后通知管理员。DOSSystemCommand "sudo iptables -A INPUT -s %s -j DROP":#IP加入黑名单后执行的系统命令。 DOSLogDir "/usr/local/webserver/apache2/logs/mod_evasive"#手动创建目录mod_evasive,攻击日志存放目录,注意这个目录的权限,是运行apache程序的用户。锁定机制临时目录#白名单 DOSWhiteList 127.0.0.1 DOSWhiteList 192.168.12.*</IfModule> 如果您不知道把这些插入到哪,用下面的办法做也是可以的;在/etc目录中创建一个文件,比如mod_evasive.conf;
#touch /etc/mod_evasive.conf然后把根据自己的Apache版本来加入相应的内容;接着我们再修改 httpd.conf ,在最后一行加入
Include /etc/mod_evasive.conf修改完成后,我们要重启Apache服务器;service apachectl restart--------------------------------对mod_evasive测试验证 ;1 防DDOS的模块做好后,我们可以要验证,可以用Apache 自带的ab工具,系统默认安装在/usr/sbin目录中;比如;
/usr/local/webserver/apache2/bin/ab -n 1000 -c 50 http://****注:上面的例子的意思是,如果您的服务器是google的WEB服务器,我们要发送数据请求包,总共1000个,每次并发50个; 2 另外一个测试工具就是mod_evasive的解压包的目录中test.pl, 修改test.pl IP地址 chmod 755 test.pl./test.plHTTP/1.1 200 OKHTTP/1.1 200 OKHTTP/1.1 200 OKHTTP/1.1 200 OKHTTP/1.1 200 OKHTTP/1.1 200 OKHTTP/1.1 200 OKHTTP/1.1 403 ForbiddenHTTP/1.1 403 ForbiddenHTTP/1.1 403 ForbiddenHTTP/1.1 403 ForbiddenHTTP/1.1 403 ForbiddenHTTP/1.1 403 ForbiddenHTTP/1.1 403 ForbiddenHTTP/1.1 403 Forbidden
测试结果这个时候,你可以到你的/usr/local/webserver/apache2/logs/mod_evasive目录下面发现有日志文件类似文件:dos-192.168.12.201 ,192.168.12.201 表示记录了攻击的ip 邮件内容:To: ***@qq.comSubject: HTTP BLACKLIST 192.168.12.202mod_evasive HTTP Blacklisted 192.168.12.202 ================为apache安装rpaf模块,该模块用于apache做后端时获取访客真实的IP wget http://stderr.net/apache/rpaf/download/mod_rpaf-0.6.tar.gz
为apache安装rpaf模块,该模块用于apache做后端时获取访客真实的IP.1.使用apxs安装模块.这里要使用此前apache编译安装后的apxscd /tmptar -zxf mod_rpaf-0.6.tar.gzcd mod_rpaf-0.6/usr/local/webserver/apache2/bin/apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c
2.编辑/usr/local/apache/conf/httpd.conf,添加模块参数,查找LoadModule php5_module modules/libphp5.so,在下方添加:LoadModule rpaf_module modules/mod_rpaf-2.0.so <IfModule mod_rpaf-2.0.c>RPAFenable OnRPAFproxy_ips 127.0.0.1 192.168.12.201 192.168.12.202 192.168.12.203RPAFsethostname OnRPAFheader X-Forwarded-For</IfModule>
此区块应该在<IfModule mod_evasive20.c>之上上面出现的请修改为你本机所监听web服务的ip.# 填写Nginx所在的内网IP。多个IP用空格空开.
=====================================================================================
mod_evasive 的前身就是mod_dosevasive
下载mod_evasive
http://www.nuclearelephant.com/projects/mod_evasive
# tar zxvf mod_evasive_1.10.1.tar.gz
# cd mod_evasive_1.10.1
# /usr/local/apache/bin/apxs -i -a -c mod_evasive20.c
打开 httpd.conf文件
查看是否有
LoadModule evasive20_module modules/mod_evasive20.so
如没有则加上去
并加入
<IfModule mod_evasive20.c>
DOSHashTableSize 3097
DOSPageCount 2
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 10
</IfModule>
------------------------------------------------------------------------------------------------
ispcp 添加mod_evasive apache 防DDOS攻击
#/usr/sbin/apxs -iac mod_evasive.c
#tar zxvf mod_evasive_1.10.1.tar.gz
#cd mod_evasive
#/usr/sbin/apxs -i -a -c mod_evasive20.c
#echo "/usr/lib/httpd/modules" >> /etc/ld.so.conf
#ldconfig
LoadModule evasive20_module lib/httpd/modules/mod_evasive20.so
<IfModule mod_evasive.c>
DOSHashTableSize 3097
DOSPageCount 2
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 10
</IfModule>
<IfModule mod_evasive20.c>
DOSHashTableSize 3097
DOSPageCount 2
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 10
</IfModule>
#touch /etc/mod_evasive.conf
Include /etc/mod_evasive.conf
#/etc/rc.d/rc.httpd restart
#/etc/init.d/httpd restart
或
#/etc/init.d/apache restart
#/usr/sbin/ab -n 1000 -c 50 http://www.google.com:80/
#perl test.pl
#define DEFAULT_HASH_TBL_SIZE 3097ul // Default hash table size
#define DEFAULT_PAGE_COUNT 2 // Default maximum page hit count per interval
#define DEFAULT_SITE_COUNT 50 // Default maximum site hit count per interval
#define DEFAULT_PAGE_INTERVAL 1 // Default 1 Second page interval
#define DEFAULT_SITE_INTERVAL 1 // Default 1 Second site interval
#define DEFAULT_BLOCKING_PERIOD 10 // Default for Detected IPs; blocked for 10 seconds
#define DEFAULT_LOG_DIR "/tmp" // Default temp directory