`
jsczxy2
  • 浏览: 1282798 次
  • 性别: Icon_minigender_1
  • 来自: 常州
文章分类
社区版块
存档分类
最新评论

CentOS详细安装之四:apache模块-mod_evasive 介绍

阅读更多

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

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

分享到:
评论

相关推荐

    CentOS-7-x86_64-DVD-2003镜像文件

    # CentOS-7-x86_64-DVD-1810.iso CentOS 7.6 DVD 版 4G http://mirrors.163.com/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso # CentOS-7-x86_64-Everything-1810.iso CentOS 7.6 Everything版 10G ...

    CentOS-7-x86_64-DVD-2009.part3.rar

    CentOS-7.9- x86_64版本(CentOS-7-x86_64-DVD-2009)必须集齐五个文件才能一起解压缩使用,五个文件下载地址: CentOS-7-x86_64-DVD-2009.part5.rar https://download.csdn.net/download/weixin_43800734/20388029...

    CentOS-7-x86_64-DVD-1708.part5.rar

    CentOS-7-x86_64-DVD-1708文件分割成 五个 压缩包,必须集齐 五个 文件后才能一起解压一起使用: CentOS-7-x86_64-DVD-1708.part5.rar https://download.csdn.net/download/weixin_43800734/20350438 CentOS-7-x86...

    CentOS-7-x86_64-DVD-1708.part3.rar

    CentOS-7-x86_64-DVD-1708文件分割成 五个 压缩包,必须集齐 五个 文件后才能一起解压一起使用: CentOS-7-x86_64-DVD-1708.part5.rar https://download.csdn.net/download/weixin_43800734/20350438 CentOS-7-x86...

    CentOS-6.9-x86_64-bin-DVD.part1.rar

    CentOS 6.9版本(CentOS-6.9-x86_64-bin-DVD)适用于Linux 64位,必须集齐7个文件才能一起解压缩使用,7个文件下载地址: CentOS-6.9-x86_64-bin-DVD.part7.rar ... CentOS-6.9-x86_64-bin-DVD.part6.rar ...

    mod_evasive/mod_dosevasive22

    3. 运行`make`和`make install`来编译和安装模块。 4. 在Apache的配置文件(如`httpd.conf`)中加载模块,添加`LoadModule evasive_module /path/to/mod_evasive.so`(或`mod_dosevasive22.so`)。 5. 配置模块的...

    CentOS-7-x86_64-DVD-1708.part2.rar

    CentOS-7-x86_64-DVD-1708文件分割成 五个 压缩包,必须集齐 五个 文件后才能一起解压一起使用: CentOS-7-x86_64-DVD-1708.part5.rar https://download.csdn.net/download/weixin_43800734/20350438 CentOS-7-x86...

    CentOS-7-x86_64-DVD-2009.part5.rar

    CentOS 7.9版本(CentOS-7-x86_64-DVD-2009)必须集齐五个文件才能一起解压缩使用,五个文件下载地址: CentOS-7-x86_64-DVD-2009.part5.rar https://download.csdn.net/download/weixin_43800734/20388029 CentOS...

    CentOS-7-x86_64-DVD-1708.part4.rar

    CentOS-7-x86_64-DVD-1708文件分割成 五个 压缩包,必须集齐 五个 文件后才能一起解压一起使用: CentOS-7-x86_64-DVD-1708.part5.rar https://download.csdn.net/download/weixin_43800734/20350438 CentOS-7-x86...

    Apache_OpenOffice_4.1.7_Linux_x86-64_install-rpm_zh-CN.tar.gz

    Apache OpenOffice是一款开源的办公软件套件,与微软Office类似,提供文字处理、电子表格、演示文稿、绘图和数据库管理等多种功能。这个压缩包"Apache_OpenOffice_4.1.7_Linux_x86-64_install-rpm_zh-CN.tar.gz"是专...

    CentOS-7-x86_64-DVD-2009.part1.rar

    CentOS 7.9版本(CentOS-7-x86_64-DVD-2009)必须集齐五个文件才能一起解压缩使用,五个文件下载地址: CentOS-7-x86_64-DVD-2009.part5.rar https://download.csdn.net/download/weixin_43800734/20388029 CentOS...

    CentOS-7-x86_64-Everything-1804 VMware workstation12

    CentOS-7-x86_64-Everything-1804 百度云盘资源路径!请笑纳 准备工作 1)下载VMware workstation12 百度云盘 链接:https://pan.baidu.com/s/1c6tE2cPy63y1vO1idHtAzw 提取码:duvd 2)下载CentOS7 方案一:...

    Centos7.6镜像文件:CentOS-7-x86-64-DVD-1810.iso

    标题中提到的“Centos7.6镜像文件:CentOS-7-x86_64-DVD-1810.iso”,首先需要明确几个关键词。CentOS 是一个企业级 Linux 发行版,它是基于 Red Hat Enterprise Linux (RHEL) 源代码编译而成的。CentOS 7.6 指的是 ...

    CentOS-7.6-x86_64-DVD-1810.iso.txt

    CentOS-7.6-x86_64-DVD-1810.isoCentOS-7.6-x86_64-DVD-1810.iso

    CentOS-7-x86_64-DVD-1503-01.txt

    Linux学习必备,提供CentOS-7-x86_64-DVD-1503-01.iso镜像,百度云下载地址

    CentOS-7-x86_64-DVD-2009.part4.rar

    CentOS 7.9版本(CentOS-7-x86_64-DVD-2009)必须集齐五个文件才能一起解压缩使用,五个文件下载地址: CentOS-7-x86_64-DVD-2009.part5.rar https://download.csdn.net/download/weixin_43800734/20388029 CentOS...

    CentOS-7-x86_64-Minimal-1810.iso镜像

    描述中提到的"CentOS-7-x86_64-Minimal-1810.iso镜像文件"确认了这确实是一个ISO镜像文件,通常用于创建CD或DVD安装介质,或者通过网络进行无盘安装。"1810"可能是发布日期或者版本号,表示这是2018年10月发布的...

    本地安装CentOS-7-x86_64-Vagrant-2004_01.VirtualBox 方法.zip

    输入名称(例如:CentOS-7),选择类型为“Linux”,版本为“Red Hat (64位)”。 3. **分配资源**: 分配合适的内存大小(建议2GB以上)和创建虚拟硬盘。可以选择动态分配或固定大小,动态分配会更节省磁盘空间。 4...

    Apache_OpenOffice_4.1.3_Linux_x86-64_install-rpm_zh-CN

    在Linux环境下,安装程序通常采用两种主要格式:DEB(用于Debian和Ubuntu等基于Debian的系统)和RPM(用于Red Hat、CentOS和Fedora等基于RPM的系统)。这个压缩包 "Apache_OpenOffice_4.1.3_Linux_x86-64_install-...

    CentOS-7-x86_64-DVD-1503 ISO镜像

    CentOS-7-x86_64-DVD-1503 ISO镜像,附件为百度云链接

Global site tag (gtag.js) - Google Analytics