您的位置:首页 > 运维架构 > Linux

centos Apcache 防DDOS攻击mod_evasive安装配置

2016-07-20 16:57 435 查看
今天服务器受到严重的DDOS攻击,导致远程控制几乎都无法进去,系统基本死机,从网络上找到关于APACHE的防DDOS工具,参考之后发现无法安装,转载过来后做了一些实验和修改。

下面给出使用了Apache的防模块mod_evasive,具体安装配置如下:

一、下载模块

--------需要提前安装apxs - Apache 扩展工具

yum  install httpd-devel
------进入自己的安装盘位置

cd /usr/local/src
wget http://www.zdziarski.com/blog/wp-content/uploads/2010/02/mod_evasive_1.10.1.tar.gz 

tar xzvf mod_evasive_1.10.1.tar.gz 

cd mod_evasive
二、安装模块

1、对于Apache 1.x 请用下面的编译方法;
apxs -iac mod_evasive.c
2、对于Apache 2.x 可以用下面的办法;

apxs -cia mod_evasive20.c
    最后出现

    #############################################################

    Libraries have been installed in:

    /usr/local/apache/modules
    If you ever happen to want to link against installed libraries in a given directory, LIBDIR, you must either use libtool,
and specify the full pathname of the library, or use the `-LLIBDIR' flag during linking and do at least one of the following:
    - add LIBDIR to the `LD_LIBRARY_PATH' environment variable during execution
    - add LIBDIR to the `LD_RUN_PATH' environment variable  during linking

    - use the `-Wl,-rpath -Wl,LIBDIR' linker flag

    - have your system administrator add LIBDIR to `/etc/ld.so.conf'
    See any operating system documentation about shared libraries for  more information, such as the ld(1) and ld.so(8) manual
pages.

    ----------------------------------------------------------------------

    chmod 755 /usr/local/apache/modules/mod_evasive20.so

    [activating module `evasive20' in /usr/local/apache/conf/httpd.conf]

    [root@localhost mod_evasive]#
    ##############################################################

    表示已经编译写入了apache模块, 查看httpd.conf文件中已经自动添加了计算机

    LoadModule evasive20_module modules/mod_evasive20.so
    至此,完成了mod_evasive的安装,重启apache服务后,它就开始工作了,这个时候您如果不作任何别的设置,它也可以使用默认配置为您提
供良好的防攻击能力,当然,您也可以自己进行一些参数的定制配置,添加如下参数:
    <IfModule mod_evasive20.c>

    DOSHashTableSize 3097

    DOSPageCount 5

    DOSSiteCount 50

    DOSPageInterval 2

    DOSSiteInterval 2

    DOSBlockingPeriod 10

    </IfModule>
    参数简单说明:

    DOSHashTableSize 3097 记录和存放黑名单的哈西表大小,如果服务器访问量很大,可以加大该值

    DOSPageCount 5 同一个页面在同一时间内可以被统一个用户访问的次数,超过该数字就会被列为攻击,同一时间的数值可以在
DosPageInterval参数中设置。

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

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

    DOSSiteInterval 2 设置DOSSiteCount中时间长度标准。
    DOSBlockingPeriod 10 被封时间间隔秒,这中间会收到 403 (Forbidden) 的返回。
    其他可选参数:

    DOSEmailNotify  abc@qq.com 设置受到攻击时接收攻击信息提示的邮箱地址。
    DOSSystemCommand “su – someuser -c ‘/sbin/… %s …’” 受到攻击时Apache运行用户执行的系统命令

    DOSLogDir “/var/lock/mod_dosevasive” 攻击日志存放目录/var/lock/mod_dosevasive 一般就可以存放到/tmp目录


三、测试

在mod_evasive_1.10.1.tar.gz解压目录下面有个测试脚本,是用perl写的,如果可以看下一下结果,就表示该模块安装成功。
[root@Centos6 ~] # chmod 755 test.pl
./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 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
HTTP/1.1 403 Forbidden


这个时候,可以到你的/var/log/mod_evasive目录下面发现有一个日志文件,同时你的邮箱也会收到该报警信息。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: