服务器遭受到DDOS***,可以说防不胜防,

但是作为apache服务器,可以安装一些模块一定程度上减缓DDOS的***

至于想了解DDOS详细信息的朋友,可以到网上搜索一下

=================================

首先要下载 mod_evasive_1.10.1.tar.gz

现在我登陆到服务器,准备把 mod_evasive_1.10.1.tar.gz 传送到服务器上

进行解压:

# tar zxvf mod_evasive_1.10.1.tar.gz

mod_evasive/
mod_evasive/.cvsignore
mod_evasive/LICENSE
mod_evasive/Makefile.tmpl
mod_evasive/README
mod_evasive/mod_evasive.c
mod_evasive/mod_evasive20.c
mod_evasive/mod_evasiveNSAPI.c
mod_evasive/test.pl
mod_evasive/CHANGELOG
我们先不进行安装, 解压出来 有一个文件 test.pl ,是用Perl语言写的,
是测试服务器用的, 我们先来测试一下服务器(在没有安装减缓DDOS的情况)

进入到目录

# cd mod_evasive

# chmod 755 test.pl

下面进行测试
[root@localhost mod_evasive]# ./test.pl
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
......................下面省略,太多了,都可以正常访问,没有任何防御DDOS***

===============================================

好了,下面开始 安装,安装后 我们还会进行测试 , 前后进行对比。

2.安装 (我这里使用apache是 2.2.8的版本)

# cd mod_evasive

注意你自己服务器apache的安装目录和位置,路径可能和我的不一样

# /usr/local/apache2/bin/apxs -i -a -c mod_evasive20.c

编译成功。

模块就自动编译安装进 /usr/local/apache2/modules,

自动在httpd.conf里添加

LoadModule evasive20_module modules/mod_evasive20.so
3.配置

# vi /etc/httpd.conf

在配置文件最后面, 添加下面内容


DOSHashTableSize 3097
DOSPageCount 5
DOSSiteCount 100
DOSPageInterval 2
DOSSiteInterval 2
DOSBlockingPeriod 3600
DOSEmailNotify [email protected]
DOSLogDir "/var/log/mod_evasive"

保存退出,

新建目录:
mkdir /var/log/mod_evasive
重新启动apache2,配置完毕。

[root@localhost mod_evasive]# /usr/local/apache2/bin/apachectl stop
[root@localhost mod_evasive]# /usr/local/apache2/bin/apachectl start
4.再次测试

./test.pl

HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden

可以看到已经有一些访问出现 403 Forbidden, 说明配置成功,

一定情况下抵挡防御DDOS的***, 当然如果是服务器机器承受不了,或者

带宽不够, DDOS还是比较难防的,不过我们抵挡一部分算一部分。呵呵

===========================================
最后说明配置文件的一些参数代表意思,这里我就不多说了,自己看

这个也是我网上复制下来的。

说明:

DOSHashTableSize 3097
#记录和存放黑名单表大小,如果服务器访问量很大,可以加大该值.
   
DOSPageCount 5       
#同一个页面在同一时间内可以被同一个用户访问的次数,超过该数字就会被列为***,同一时间的数值可以在DosPageInterval参数中设置.

DOSSiteCount 100
#同一个用户在同一个网站内可以同时打开的访问数,同一个时间的数值在DOSSiteInterval中设置。

DOSPageInterval 2
#设置DOSPageCount中时间长度标准,默认值为1。

DOSSiteInterval 2
设置DOSSiteCount中时间长度标准,默认值为1。

DOSBlockingPeriod 3600
#被封时间间隔秒,这中间会收到 403 (Forbidden) 的返回。

DOSEmailNotify [email protected]
#设置受到***时接收***信息提示的邮箱地址。

DOSLogDir "/var/log/mod_evasive"
#***日志存放目录,注意这个目录的权限,是运行apache程序的用户。