`

Apache防DDOS模块mod_evasive安装和配置方法详解

 
阅读更多

一、mod_evasive 介绍
mod_evasive 是Apache(httpd)服务器的防DDOS的一个模块。对于WEB服务器来说,是目前比较好的一个防护DDOS攻击的扩展模块。虽然并不能完全防御DDOS攻击,但在一定条件下,还是起到缓服Apache(httpd)服务器的压力。如配合iptables、硬件防火墙等防火墙设备配合使用,可能有更好的效果。
mod_evasive 的官方地址: http://www.zdziarski.com/
二、mod_evasive 工作原理
Apache模块mod_evasive利用Hash表储存相应的HTTP请求,利用设定规则判断是否拒绝对方的请求。
三、mod_evasive 安装

复制代码代码如下:

wget http://www.zdziarski.com/blog/wp-content/uploads/2010/02/mod_evasive_1.10.1.tar.gz
tar zxvf mod_evasive_1.10.1.tar.gz 
cd mod_evasive/
apxs -i -a -c mod_evasive20.c
#编译、安装、并加载模块
#注:apxs 用于编译模块工具;如果是用系统自带的软件包,一般位于/usr/sbin目录。如果您是自己编译安装Apache(httpd)的,你应该自己来指定路径;

 

在编译安装完成后,会自动插入一行到Apache 配置文件中,对于Apache 2.x 版本中,应该在其配置文件中有类似下面的一行;

复制代码代码如下:
LoadModule evasive20_module   lib/httpd/modules/mod_evasive20.so


四、配置mod_evasive

复制代码代码如下:

[root@localhost ~]# vi /etc/httpd/conf/httpd.conf
#加入以下配置
<IfModule mod_evasive20.c>
    DOSHashTableSize    3097 #表大小
    DOSPageCount        2 #限制单位时间内同一IP请求同一网页次数
    DOSSiteCount        10 #限制单位时间内同一IP请求网站次数
    DOSPageInterval     1 #网页存取间隔
    DOSSiteInterval     1 #网站存取间隔
    DOSBlockingPeriod   10 #限制访问时间
    DOSEmailNotify     #疑似攻击时邮件通知
    DOSSystemCommand "su - onovps -c iptables -I INPUT -s %s --dport 80 -j DROP" 
    #疑似攻击时用防火墙限制IP访问80端口
    DOSLogDir  "/var/log/    #日志目录
    DOSWhiteList 127.0.0.1 #添加白名单
</IfModule>


如果您不知道把这些插入到哪,用下面的办法做也是可以的;
在/etc目录中创建一个文件,比如mod_evasive.conf;

复制代码代码如下:
[root@localhost ~]#touch /etc/mod_evasive.conf


然后把根据自己的Apache版本来加入相应的内容;
接着我们再修改 httpd.conf ,在最后一行加入

复制代码代码如下:
Include /etc/mod_evasive.conf

 

修改完成后,我们要重启Apache服务器使配置生效:

复制代码代码如下:
/etc/init.d/httpd restart


五、测试mod_evasive
防DDOS的模块做好后,我们可以要验证,可以用Apache 自带的ab工具,系统默认安装在/usr/sbin目录中;比如;

复制代码代码如下:
[root@localhost ~]/usr/sbin/ab -n 1000 -c 50 http://www.baidu.com:80/


注:上面的例子的意思是,如果您的服务器是百度的WEB服务器,我们要发送数据请求包,总共1000个,每次并发50个;
另外一个测试工具就是mod_evasive的解压包的目录中,有个test.pl ,你可以修改IP地址,然后用

复制代码代码如下:
[root@localhost ~]perl test.pl 
HTTP/1.1 200 OK
HTTP/1.1 403 Forbidden


是不是有效果,请根据 ab工具或 测试脚本出来的结果来查看;
注:因为我们编译mod_evasive时,用的是默认配置,所以日志被存放在/tmp目录中。如果有DDOS攻击,会在/tmp产生日志。日志的文件是以 dos-开头的;
六、配置参数详解
DOSHashTableSize 3097:定义哈希表大小。   
DOSSiteCount 50:允许客户机的最大并发连接。   
DOSPageCount 2:允许客户机访问同一页的间隔。   
DOSPageInterval 1:网页访问计数器间隔。   
DOSSiteInterval 1:全站访问计数器间隔。   
DOSSiteInterval 60:加入黑名单后拒绝访问时间。   
DOSEmailNotify xxxx@gmail.com:有IP加入黑名单后通知管理员。   
DOSSystemCommand "sudo iptables -A INPUT -s %s -j DROP":IP加入黑名单后执行的系统命令。   
DOSLogDir "/tmp":锁定机制临时目录,日志目录。   
DOSWhiteList 127.0.0.1:防范白名单,不阻止白名单IP。
七、mod_evasive 的高级配置
如果想更改一些适合自己的参数,有些必要的参数,并不是通过配置文件修改就一下起作用的,我们要修改源码包中的 mod_evasive.c(Apache 1.x用之) 或 mod_evasive20.c (Apache 2.x用之);

复制代码代码如下:
#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


比如我们改改其中的数字,根据英文很容易理解。比如修改日志存放目录,就把/tmp改成别的目录。如果您不知道放在哪好,还是用默认的吧;
如果您在这里更改了参数,不要忘记修改Apache 配置文件中关于mod_evasive 的参数;
如果您想加入一些其它的参数,请查阅源码包中的README,里面有详细说明,大多来说没太大的必要……
这个文件相当重要,如果您想更改某些设置,就要修改这个文件……

 

八、总结
mod_evasive 还是有点用的,对于apache服务器来说,是目前比较好的一个防护DDOS攻击的扩展模块。虽然并不能完全防御 DDOS攻击,但在一定条件下,还是起到缓服Apache(httpd)服务器的压力。如果配合iptables、硬件防火墙等防火墙设备配合使用,可能有更好的效果。安装也不费力气。如果你需要的时候,会想到这个模块的。

分享到:
评论

相关推荐

    mod_evasive_1.10.1.tar.gz

    mod_evasive是Apache的一个开源模块,专门设计用于防止DDoS攻击和防止恶意用户进行快速重复请求,从而保护服务器的稳定性。它通过监控HTTP请求速率和模式,一旦检测到异常行为,就会对请求者采取限制措施,如暂停...

    mod_evasive/mod_dosevasive22

    `mod_evasive` 和 `mod_dosevasive22` 是Apache Web服务器上的安全模块,主要用于防止DDoS(分布式拒绝服务)攻击和CSRF(跨站请求伪造)攻击。这两个模块通过智能监控和限制来自同一IP地址的过多请求来保护服务器,...

    win版apache防ddos mod_dosevasive22

    博客文章《win版apache防ddos mod_dosevasive22》详细介绍了如何在Windows环境下安装和配置mod_dosevasive22模块,包括下载、编译、配置Apache以及启用模块等步骤。通过阅读该文章,用户可以获取具体的操作指南和...

    mod_evasive2-1.10.2-win64-VC15.zip

    Windows版本的mod_evasive,适用于DDOS Helps to prevent HTTP DoS (DDoS) attacks or server brute force attacks 本版本是64位 需要 VC15 其他版本或者详细资料详见:https://www.apachelounge.com/download/

    ddos专防工具 apache wamp

    在提供的文件列表中,我们看到了多个mod_evasive的不同版本,如mod evasive.txt可能是模块的安装和配置指南,而mod_evasive2-1.10.x-2.2/2.4-x64.zip则是适用于64位系统的mod_evasive模块软件包。这些文件为用户提供...

    mod_evasive20.so

    Apache下防DDOS攻击插件,具体配置方法请百度。 文件编译平台Centos7 X86_64

    Mod_Evasive Installer-开源

    简单的bash脚本允许您安装mod_evasive,在apache1中安装mod_evasive,在apache2中安装mod_evasive,为apache1和apache2卸载mod_evasive。

    mod_evasive:Apache 2.4的mod_evasive的分支。 Deep Logic,Inc的原始模块

    mod_evasive是Apache的回避操作模块,可以在HTTP DoS或DDoS攻击或蛮力攻击时提供回避动作。 它还被设计为一种检测工具,并且可以轻松配置为与ipchain,防火墙,路由器等通信。 通过创建IP地址和URI的内部动态哈希...

    autoevasive:为 apache2 自动安装 mod_evasive 和 mod_security

    自动回避 为 apache2 自动安装 mod_evasive 和 mod_security

    [其他类别]Apache 防盗连工具_apache_link.zip

    3. **使用防盗链模块mod_evasive**:Apache有一个名为mod_evasive的模块,专门用于防止DDoS(分布式拒绝服务)攻击和恶意扫描。它可以通过限制同一IP地址在短时间内过多的请求次数来防止盗链: ```apache ...

    evasive:为 mod_evasive 添加了一些功能

    mod_evasive_x 为 evasive_module 添加了一些功能。 目前只实现了 2.x 版本。 原始 mod_evasive 在。 使用正则表达式库 。添加...记住编译 Apache2 模块时必须包含 Trex 库: apxs2 -i -a -c mod_evas

    ddos防御 wamp apache 32位操作系统

    3. **编译和安装**:进入解压后的目录,使用`apxs -c -i mod_evasive.c`命令进行编译和安装。此步骤可能因操作系统和Apache配置的不同而略有差异。 4. **配置Apache**:编辑Apache的配置文件(通常是httpd.conf),...

    Apache 2.4 modules VS16.zip

    Apache 2.4 modules VS16模块(dbd_modules,mod_bw,mod_evasive,mod_fcgid,mod_jk,mod_log_rotate,mod_security,mod_view,mod_watch,mod_xsendfile),从官网下载的全部模块,包含X86和X64,仅做搬运工!

    Apache_HTTP_Server_2.4.12_JiSuXia.rar

    9. **模块化设计**:Apache的模块化设计允许用户根据需要选择和安装额外的模块,以扩展服务器功能,如mod_security用于Web应用防火墙,mod_evasive用于防止DDoS攻击。 10. **文档与社区**:Apache项目拥有丰富的...

    apache优化和模块安装

    Apache 是一个广泛应用的开源HTTP服务器,它的性能可以通过调整配置参数和安装特定模块来显著提高。在这个过程中,我们将关注两个主要方面:Apache 的最大连接优化和 MPM(多进程模块)的选择与配置。 首先,Apache...

    mod_qos:Apache Web Server的服务质量模块-开源

    mod_qos可以与其他Apache模块结合使用,如mod_evasive(DDoS防护)、mod_security(应用防火墙)等,以提供更全面的安全和性能保障。通过合理的配置,这些模块可以互相补充,构建强大的服务器防护体系。 **5. mod_...

    apache2.2_安装,优化、模块配置

    ### Apache 2.2 安装、优化与模块配置详解 #### 一、Apache 2.2 安装过程 1. **解压文件** 使用 `tar jxvf httpd-2.2.2.tar.bz2` 命令来解压下载的Apache 2.2安装包。接下来进入解压后的目录 `httpd-2.2.0`。 2...

    apache 相关工具模块

    2. **模块化设计**:Apache的模块化设计使得我们可以根据需求安装和卸载各种模块,如mod_rewrite用于URL重写,mod_security用于Web应用防火墙,mod_deflate用于内容压缩,mod_proxy用于代理服务等。 3. **Apache...

    linux系统下安装Apache服务server_apache_linux.rar

    为了增强安全性,建议安装和启用`mod_security`模块,这是一个用于防止Web应用攻击的模块。此外,还可以使用`mod_evasive`来防止DDoS攻击。同时,定期更新Apache到最新版本以修复潜在的安全漏洞。 八、性能监控与...

Global site tag (gtag.js) - Google Analytics