Apache 防 ddos 攻击
        DoS是Denial of Service的简称,即拒绝服务,造成DoS的攻击行为被称为DoS攻击,其目的是使计算机或网络无法提供正常的服务,是一种对网络危害巨大的恶意攻击。
        DDOS全名是Distributed Denial of service (分布式拒绝服务),很DOS攻击源一起攻击某台服务器就组成了DDOS攻击。
        为apache服务编译mod_dosevasive20.so模块,可以防止Ddos攻击。

下载必要安装插件:
mod_dosevasive.1.8.tar.gz 

使用apache的apxs工具编译:
$APACHE_ROOT/bin/apxs -i -a -c mod_dosevasive20.c
(命令中$APACHE_ROOT为apache的安装目录,如/usr/local/apache2)

产生的功能模块 -> /usr/local/apache2/modules/mod_dosevasive20.so


主配置文件使用模块:
vim    httpd.conf
LoadModule dosevasive20_module modules/mod_dosevasive20.so        //加载编译的模块模块
Include conf/extra/httpd-dos.conf         //加载为模块定义的配置文件

定义新新建配置:/usr/local/apache2/conf/extra/httpd-dos.conf
<IfModule mod_dosevasive20.c>
    DOSHashTableSize    3097     记录和存放黑名单的哈希表大小,如果服务器访问量很大,可以加大该值
    DOSPageCount        2    同一个页面在”单位时间“内可以被同一个用户访问的次数,超过该数被列为攻击
    DOSSiteCount        50    同一个用户在“单位时间”内可以对同一个网站的访问数,超过该数被列为攻击
    DOSPageInterval     1    设置DOSPageCount中“单位时间”长度标准,默认值为1
    DOSSiteInterval     1      设置DOSSiteCount中“单位时间”的长度标准,默认值为1
    DOSBlockingPeriod   10   被封时间间隔秒,这中间会收到 403 (Forbidden) 的返回
</IfModule>