1、 mod_evasive 介绍;

mod_evasive 是Apache(httpd)服务器的防DDOS的一个模块。对于WEB服务器来说,是目前比较好的一个防护DDOS***的扩展模块。虽然并不能完全防御 DDOS***,但在一定条件下,还是起到缓服Apache(httpd)服务器的压力。如果配合iptables、硬件防火墙等防火墙设备配合使用,可能 有更好的效果。

mod_evasive 的官方地址:http://www.zdziarski.com/blog/wp-content/uploads/2010/02/mod_evasive_1.10.1.tar.gz

2、 mod_evasive 的安装和配置;

因为现在基本上都用apache2.X的版本了,就不介绍apache1.X版本的安装方法了。

安装 mod_evasive 之前,你要用安装Apache(httpd)服务器软件包,还要安装httpd-devel或 apache-dev。在Slackware 12.0中,安装httpd软件即可;

对于Apache 2.x 可以用下面的办法;

  1. #tar zxvf mod_evasive_1.10.1.tar.gz
  2. #cd mod_evasive
  3. #/usr/sbin/apxs -i -a -c mod_evasive20.c

注:apxs 用于编译模块工具;如果是用系统自带的软件包,一般位于/usr/sbin目录。如果您是自己编译安装Apache(httpd)的,你应该自己来指定路径;

便已完成后会提示这个模块的位置等一些信息,如下:

  1. Libraries have been installed in:
  2. /usr/lib64/httpd/modules
  3. If you ever happen to want to link against installed libraries
  4. in a given directory, LIBDIR, you must either use libtool, and
  5. specify the full pathname of the library, or use the `-LLIBDIR'
  6. flag during linking and do at least one of the following:
  7. - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
  8. during execution
  9. - add LIBDIR to the `LD_RUN_PATH' environment variable
  10. during linking
  11. - use the `-Wl,--rpath -Wl,LIBDIR' linker flag
  12. - have your system administrator add LIBDIR to `/etc/ld.so.conf'
  13. See any operating system documentation about shared libraries for
  14. more information, such as the ld(1) and ld.so(8) manual pages.
  15. ----------------------------------------------------------------------
  16. chmod 755 /usr/lib64/httpd/modules/mod_evasive20.so
  17. [activating module `evasive20' in /etc/httpd/conf/httpd.conf]

我们然后修改/etc/ld.so.conf 文件,把编译出来的动态模块的所在位置指定在 ld.so.conf中;比如我用的是Aapche 2.x ,编译完成后,模块mod_evasive20.so 安装到了 /usr/lib64/httpd/modules 目录中;那我们就要把这个目录写入到ld.so.conf中。

  1. #echo "/usr/lib64/httpd/modules" >> /etc/ld.so.conf

2.3 mod_evasive 的配置;

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

LoadModule evasive20_module   lib/httpd/modules/mod_evasive20.so

然后我们再修改 Apache 的配置文件,配置文件名为httpd.conf;

  1. <IfModule mod_evasive20.c>
  2. DOSHashTableSize    3097   //记录和存放黑名单的哈西表大小,如果服务器访问量很大,可以加大该值
  3. DOSPageCount        2     //同一个页面在同一时间内可以被统一个用户访问的次数,超过该数字就会被列为***,同一时间的数值可以在DosPageInterval参数中设置。
  4. DOSSiteCount        50     //同一个用户在同一个网站内可以同时打开的访问数,同一个时间的数值在DOSSiteInterval中设置。
  5. DOSPageInterval     1     //设置DOSPageCount中时间长度标准,默认值为1。
  6. DOSSiteInterval     1      //设置DOSSiteCount中时间长度标准, 默认值为1。
  7. DOSBlockingPeriod   10    //被封时间间隔秒,这中间会收到 403 (Forbidden) 的返回。
  8. </IfModule>

修改完成后,我们要重启Apache服务器;

2.4 对mod_evasive测试验证 ;

防DDOS的模块做好后,我们可以要验证,可以用Apache 自带的ab工具,系统默认安装在/usr/sbin目录中;比如;
#/usr/sbin/ab -n 1000 -c 50 http://127.0.0.1/

发送数据请求包,总共1000个,每次并发50个;

另外一个测试工具就是mod_evasive的解压包的目录中,有个test.pl ,你可以修改IP地址,然后用
#perl test.pl
是不是有效果,请根据 ab工具或 测试脚本出来的结果来查看;
因为我们编译mod_evasive时,用的是默认配置,所以日志被存放在/tmp目录中。如果有DDOS***,会在/tmp产生日志。日志的文件是以 dos-开头的;

3、mod_evasive 的高级配置;

如果想更改一些适合自己的参数,有些必要的参数,并不是通过配置文件修改就一下起作用的,我们要修改源码包中的mod_evasive20.c

  1. #define DEFAULT_HASH_TBL_SIZE   3097ul  // Default hash table size
  2. #define DEFAULT_PAGE_COUNT      2       // Default maximum page hit count per interval
  3. #define DEFAULT_SITE_COUNT      50      // Default maximum site hit count per interval
  4. #define DEFAULT_PAGE_INTERVAL   1       // Default 1 Second page interval
  5. #define DEFAULT_SITE_INTERVAL   1       // Default 1 Second site interval
  6. #define DEFAULT_BLOCKING_PERIOD 10      // Default for Detected IPs; blocked for 10 seconds
  7. #define DEFAULT_LOG_DIR         "/tmp"  // Default temp directory

比如我们改改其中的数字,根据英文很容易理解。比如修改日志存放目录,就把/tmp改成别的目录。如果您不知道放在哪好,还是用默认的吧;
如果您在这里更改了参数,不要忘记修改Apache 配置文件中关于mod_evasive 的参数

转载于:https://blog.51cto.com/loveyan/758396

apache的防DDOS模块-mod_evasive相关推荐

  1. Apache防DDOS模块mod_evasive的安装配置和使用

    Apache防DDOS模块mod_evasive的安装配置和使用 前些天,朋友的网站访问很慢,查服务器的连接数也不多,资源占用也少.怀疑有***,便想装上mod_evasive试试,试后一切正常,很爽 ...

  2. Apache防止DDOS***的模块--mod_evasive

    1.下载mod_evasive_1.10.1.tar.gz wget http://www.sfr-fresh.com/unix/privat/mod_evasive_1.10.1.tar.gz ta ...

  3. linux下防DDOS***软件及使用方法详解

    互联网如同现实社会一样充满钩心斗角,网站被DDOS也成为站长最头疼的事.在没有硬防的情况下,寻找软件代替是最直接的方法,比如用 iptables,但是iptables不能在自动屏蔽,只能手动屏蔽. 一 ...

  4. linux下防DDOS攻击软件及使用方法详解

    互联网如同现实社会一样充满钩心斗角,网站被DDOS也成为站长最头疼的事.在没有硬防的情况下,寻找软件代替是最直接的方法,比如用 iptables,但是iptables不能在自动屏蔽,只能手动屏蔽. 一 ...

  5. 为CentOS安装防DDOS攻击软件DDoS-Deflate

    DDoS-Deflate是一款非常小巧的防御和减轻DDoS攻击的工具,它可以通过监测netstat来跟踪来创建大量互联网连接的IP地址信息,通过APF或IPTABLES禁止或阻档这些非常IP地址. 我 ...

  6. wordpress国内网速慢加速及防DDOS攻击快速CF切换教程

    wordpress国内网速慢加速及防DDOS攻击快速CF切换教程标题 一.现网站的情况分析 二.网站搬迁 1.操作系统选择 2.命令行 第一步:安装nginx 第二步:开启防火墙 第三步:安装mysq ...

  7. Spring Cloud Zuul防DDOS攻击

    前一段时间,公司的短信服务经常收到预警,当时初步猜测我们的短信服务受到了攻击,于是想到了两种实现方案. 方案一: 采用nginx防止DDOS(网上有很多案例可以借鉴) 方案二: 采用Spring Cl ...

  8. 谈谈中小创业型网站防DDOS及CC,我的草根站长经历。

    做程序员5年,在博客园也潜了N年,我知道,打工不是长计之计.特别是在中国特色下.代码写到35岁以上,很难再有公司招去写代码了.通过身边不少朋友的实践证明,互联网商机无限,缺少的是勇于实践和坚持.更何况 ...

  9. Apache动态编译安装模块mod_rewrite

    转自:http://hi.baidu.com/manmoon/blog/item/40a0b5fd4714851509244d94.html 如果你的服务器apache还没有安装,那很简单,在编译ap ...

最新文章

  1. python pyOpenGL安装
  2. 搭建SVN版本控制服务器
  3. Windos消息驱动
  4. Jedis连接Redis集群
  5. gpu无法调用解决方案记录
  6. 数据结构的简单理解(3)
  7. jmeter负载测试测试_Apache JMeter:随心所欲进行负载测试
  8. 前端学习(1527):过渡---文档分析
  9. 20以内分数化小数表_如何使用标准正态分布表?
  10. Vue2.0+ElementUI+PageHelper实现的表格分页
  11. Python 字符串语法,for
  12. 做深度学习需要知道哪些linux指令?
  13. 《信息存储与管理(第二版):数字信息的存储、管理和保护》—— 2.1 应用...
  14. 我找到一个价值5.5万美元的 Facebook OAuth账户劫持漏洞
  15. 如何对第一个值相同的列表中的元组求和
  16. springboot+1、图片上传到本地路径信息保存在数据库2、根据id删除本地图片
  17. spring注解开发实例
  18. 十二星座----射手
  19. (全)Docker安装+人脸比对算法服务(win10)
  20. Excel从身份证提取出生年月的几种方法

热门文章

  1. 3ds Max绘制青花瓷茶壶
  2. [译]BEAST还是一个威胁吗?
  3. 一个指针的引用引发的血案
  4. 掌握 PHP 中的正则表达式 二
  5. Asp.net(C#)面试100+题陆续添加中……
  6. 关于Office中对%20的转义问题,请知道的大侠帮忙一起想想招儿!
  7. C# winform 捕获全局异常
  8. 如何在基于Bytom开发过程中集成IPFS
  9. vue 路由传参 params 与 query两种方式的区别(转载)
  10. crontab 定时任务配置