首页 > Web开发 > 详细

Azure上Linux VM防DDOS攻击:使用Apache mod_evasive

时间:2015-11-25 23:16:10      阅读:395      评论:0      收藏:0      [点我收藏+]

部署在云端的虚拟机和web服务,很容易受到DoS护着DDoS的服务攻击,让一些新上线的业务苦不堪言,当然各个云服务提供商也有不同层面DDOS的防护,然而由于防护粒度,攻击复杂度的关系,未必可以满足你的需求,本文介绍如何对使用了Apache httpd的用户做一些简单的配置,从而有效防护一些简单的DDOS攻击。

?

mod_evasive模块是httpdweb服务器的一个DoSDDoS防护模块,针对单个IP地址客户端对单个页面,访问总量等参数,对疑似DDOSIP地址进行屏蔽,配置简单而且简单有效,具体步骤将会在以下步骤中详述。

?

本文测试使用Azure作为公有云平台,采用CentOS 6.5和自带的Apache httpd 2.2作为demo环境。

?

  1. 安装apache httpd

    ?

    技术分享

    技术分享

    2. 安装mod_evasive

    ?

    技术分享

    3. 检查配置文件,并对mod_evasive进行配置:

    ?

    技术分享

    ?

    3.1 在配置文件的首行,可以看到加载了mod_evasive模块:

    # mod_evasive configuration
    LoadModule evasive20_module modules/mod_evasive20.so

    ?

    3.2?DOSHashTableSize是存放DOS数据的表,如果你的用户访问数量比较高,建议设置高一写,本测试中使用默认值:


    ??? DOSHashTableSize??? 3097

    ?

    3.3 DOSPageCount,该参数定义了在指定时间内(默认1秒)来自同一个IP地址对同一个页面的访问次数,如果超过这个次数,那么这个IP地址就会被放到黑名单,禁止掉,默认为2,可能有点太低了,在本次测试中,调整为10(不排除一个某个公司的员工都是通过一个代理地址出来,而非DDOS的情况,这个需要综合考虑)

    ? ? DOSPageCount??????? 10

    ?

    3.4 DOSSiteCount指定了在特定间隔内(默认1秒)来自同一个IP地址对网站的访问总量,一旦超过,该IP地址就被放入黑名单,暂时使用默认

    ? ? DOSSiteCount??????? 50

    ?

    3.5 ?DOSPageInterval DOSSiteInterval分别是3.33.4提到的时间间隔,默认是1

    ??? # The interval for the page count threshhold; defaults to 1 second
    ??? # intervals.
    ??? DOSPageInterval???? 1

    ? ? DOSSiteInterval???? 1

    ?

    3.6?DOSBlockingPeriod就是被你加到黑名单的IP地址,你希望他多长时间无法访问你的网站,以秒计,测试中设置为1803分钟)

    ? ? DOSBlockingPeriod?? 180

    ?

    3.7 其他的是是否需要邮件提示,一旦发现DDOS需要执行的命令,日志文件地址等,大家可以自行配置

    ? ? #DOSEmailNotify????? you@yourdomain.com

    ?

    4. 重新启动httpd服务,并进行验证:

    [azureuser@centostest ~]$ sudo service httpd restart

    Stopping httpd: ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?[ ?OK ?]

    Starting httpd: ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?[ ?OK ?]

    技术分享

    5. 验证下mod_evasive是否被正确加载

    ?

    技术分享

    ?

    6.那么最后一步是验证我们的配置是否工作,mod_evasive自带了一个非常简单的测试工具,其目的是模拟DDOS,使用同一个IP地址向同一个页面发起100次访问,那么mod_evasive就会把这个地址加入黑名单,并拒绝访问,我们看一下效果:

    技术分享

    ?

    7. 如何知道该地址被加入了黑名单昵?事实上mod_evasive也会将该信息写入syslog

    技术分享

    ?

    到此为止所有的测试和验证结束,可以看到mod_evasive是一个简单易用的DDOS工具:)

Azure上Linux VM防DDOS攻击:使用Apache mod_evasive

原文:http://www.cnblogs.com/cloudapps/p/4996046.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!