作者:北南南北
来自:LinuxSir.Org
摘要:在服务器管理中,经常遇到DDOS攻击WWW服务器。对于Apache(httpd)服务器来说,防御DDOS是通过mod_evasive来实现的。本文将介绍mod_evasive模块的安装、配置;


1、 mod_evasive 介绍; 2、 mod_evasive 的安装和配置; 2.1 mod_evasive 的下载地址; 2.2 mod_evasive 的安装; 2.3 mod_evasive 的配置; 2.4 对mod_evasive测试验证 ; 3、mod_evasive 的高级配置; 4、关于本文; 5、参考文档; 6、相关文档;


+++++++++++++++++++++++++++++++++++++++++++
正文
+++++++++++++++++++++++++++++++++++++++++++


1、 mod_evasive 介绍;

mod_evasive 是Apache(httpd)服务器的防DDOS的一个模块。对于WEB服务器来说,是目前比较好的一个防护DDOS攻击的扩展模块。虽然并不能完全防御DDOS攻击,但在一定条件下,还是起到缓服Apache(httpd)服务器的压力。如果配合iptables、硬件防火墙等防火墙设备配合使用,可能有更好的效果。可惜LinuxSir.Org 并没有硬件防火墙,所以是否这种组合效果有更好的效果,我没办法验证。

mod_evasive 的官方地址: http://www.zdziarski.com/projects/mod_evasive


2、 mod_evasive 的安装和配置;


2.1 mod_evasive 的下载地址;

mod_evasive_1.10.1.tar.gz


2.2 mod_evasive 的安装;

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

对于Apache 1.x 请用下面的编译方法;

#/usr/sbin/apxs -iac mod_evasive.c

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

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

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

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

#echo "/usr/lib/httpd/modules" >> /etc/ld.so.conf
#ldconfig

注: 具体要与你的系统环境为准,不要照搬照抄,如果你对Linux不太熟的话;


2.3 mod_evasive 的配置;

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

LoadModule evasive20_module   lib/httpd/modules/mod_evasive20.so

对于Apache 1.x来说,也应该差不多,大体只是路径不同罢了;

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

在Apache v1.x 版本中,要加入;

<IfModule mod_evasive.c>
    DOSHashTableSize    3097
    DOSPageCount        2
    DOSSiteCount        50
    DOSPageInterval     1
    DOSSiteInterval     1
    DOSBlockingPeriod   10
</IfModule>

在Apache v2.x加入;

<IfModule mod_evasive20.c>
    DOSHashTableSize    3097
    DOSPageCount        2
    DOSSiteCount        50
    DOSPageInterval     1
    DOSSiteInterval     1
    DOSBlockingPeriod   10
</IfModule>

如果您不知道把这些插入到哪,用下面的办法做也是可以的;

在/etc目录中创建一个文件,比如mod_evasive.conf;

#touch /etc/mod_evasive.conf

然后把根据自己的Apache版本来加入相应的内容;

接着我们再修改 httpd.conf ,在最后一行加入

Include /etc/mod_evasive.conf

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

比如在Slackware 12.0中,Apache 2.x的重启,我们要用到

#/etc/rc.d/rc.httpd restart

在Redhat、Fededora、Debian、Ubuntu、CentOS中的Apache,可以用;

#/etc/init.d/httpd restart

#/etc/init.d/apache restart

大体上差不多是这样的……


2.4 对mod_evasive测试验证 ;

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

#/usr/sbin/ab -n 1000 -c 50 http://www.google.com:80/

注:上面的例子的意思是,如果您的服务器是google的WEB服务器,我们要发送数据请求包,总共1000个,每次并发50个;

另外一个测试工具就是mod_evasive的解压包的目录中,有个test.pl ,你可以修改IP地址,然后用

#perl test.pl

是不是有效果,请根据 ab工具或 测试脚本出来的结果来查看;

因为我们编译mod_evasive时,用的是默认配置,所以日志被存放在/tmp目录中。如果有DDOS攻击,会在/tmp产生日志。日志的文件是以 dos-开头的;


3、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,里面有详细说明,大多来说没太大的必要……

这个文件相当重要,如果您想更改某些设置,就要修改这个文件…… 


4、关于本文;

mod_evasive 还是有点用的,安装也不费力气。如果你需要的时候,会想到这个模块的 …… mod_evasive 是否有更高级的用法,也不是在这篇文章里能说的清楚的。如果不懂怎么办?请查看源码包中的README。

本文权当做软件说明 ……

北南 记之

From LinuxSir.Org


5、参考文档;

参考 mod_evasive 源码包中的README ……


6、相关文档;

《PHP加速器 eaccelerator 介绍》

转载于:https://www.cnblogs.com/licheng/archive/2008/01/23/1050085.html

Web服务器 之 关于Apache (httpd)服务器防DDOS模块mod_evasive的使用说明相关推荐

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

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

  2. apache的防DDOS模块-mod_evasive

    1. mod_evasive 介绍: mod_evasive 是Apache(httpd)服务器的防DDOS的一个模块.对于WEB服务器来说,是目前比较好的一个防护DDOS***的扩展模块.虽然并不能 ...

  3. linux怎么开启httpd服务公钥,在Apache httpd服务器上部署SSL证书

    Apache是一款时下最主流.被广泛使用的web服务器.本文详细描述如何在Apache httpd服务器上部署并使用SSL(Secure Sockets Layer)证书. 前提条件 Apache 2 ...

  4. httpd +jk_虚拟主机+ Apache httpd服务器+ Tomcat + mod_jk连接器

    httpd +jk 在上一篇文章( Tomcat中的虚拟主机 )中,我们讨论了如何在Tomcat中设置虚拟主机. 它具有成本效益,因为仅一个公共IP即可托管多个域. 如果我们有大型组织,并且每个部门都 ...

  5. 红帽启动apache服务器_CentOS6.5环境下搭建Apache httpd服务器

    前期准备 1.CentOS6.5虚拟系统: 2.CentOS6.5 IP地址:192.168.1.101(局域网) 3.虚拟系统能链接外网 4.Centos6.5能通过SSH链接 设置iptables ...

  6. Apache httpd服务器下载及安装

    原文地址:Apache httpd服务器下载及安装 - BIGTREE Apache httpd下载地址: Windows版: Apache Haus Downloads Linux版本(建议npm方 ...

  7. linux apache 404配置文件,apache httpd服务器404错误跳转配置教程

    apache httpd服务器404配置是至关重要的,实现404错误页面跳转非常重要,通常情况下我喜欢在项目根目录下新建一个".htaccess"重定向配置文件,这种方式是最简单的 ...

  8. apache httpd服务器403 forbidden的问题

    一.问题描述 在apache2的httpd配置中,很多情况都会出现403. 刚安装好httpd服务,当然是不会有403的问题了.主要是修改了一些配置后出现,问题描述如下: 修改了DocumentRoo ...

  9. apache httpd 服务器申请免费CA证书

    https 逐步被强制,如何申请免费的证书? Let's Encrypt - Free SSL/TLS Certificates linux下的配置方法: 下载: wget https://dl.ef ...

  10. 阿里云服务器centos系统部署httpd服务器(新手向网页搭建教程)

    为什么要整个自己的服务器呢?因为,在往老师的服务器里放项目的时候,把人家的项目文件给误删了.求爷爷告奶奶了好久,最后还是学长人好,给弄回来了.但是,实在是不敢骚操作了,正好宽容的老师没有追究我的责任, ...

最新文章

  1. C/C++实现sleep函数
  2. Machine Learning学习计划
  3. ios请求php接口,php – 确保http(s)请求来自我的iOS应用程序
  4. 解决mendeley不能输入中文的情况
  5. java for mat,在Java绑定中通过OpenCV Mat进行循环
  6. webpack基础教程:(二)
  7. 【持续更新】总结国内外图形学物理模拟相关学者和网站
  8. Linux-4.x_x _64 内核配置选项简介
  9. C语言 简单实现计算器功能 ·函数指针数组实现计算器
  10. 惠普打印机WiFi连接使用
  11. 摄影知识——光圈和快门的组合
  12. 数据库应用之关系代数(relational algebra)
  13. 我国大部地区遭罕见寒潮 23省区应急响应
  14. python飞机大战实训报告200_飞机大战实训报告方案.doc
  15. 【干货】如何有效地提问
  16. 喵星史话(一)——猫的起源
  17. 4g物联网卡赋能智能设备 加快社会智能化进程
  18. 电源上的sense什么意思_开关电源基本术语
  19. 吐血分类整理 Windows 11的170个快捷键
  20. Altium Designer中导出bxl文件

热门文章

  1. zabbix监控之邮件报警通知
  2. Centos7.x 装机优化
  3. ActiveMQ下载与安装(Linux环境下进行)
  4. ubuntu 上的python不能解析jpeg,png?
  5. 基于STEP7 V5.xWinCC V7.x快速开发项目
  6. Hadoop 2.2.0 在centos6.2 64位下的安装--分布式模式
  7. 23 android多线程
  8. struts2配置中因为包名问题遇到的No result defined for action错误
  9. jquery捕捉ctrl+enter(回车)事件
  10. 提升网络销售转化率的10种方法