首页 > 开发 > Apache > 正文

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

2020-04-16 19:27:34
字体:
来源:转载
供稿:网友

一、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 ,在最后一行加入
复制代码 代码如下:
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表