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

 

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

 

本文测试使用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

     

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

        DOSPageCount        10

     

    秒)来自同一个IP地址对网站的访问总量,一旦超过,该IP地址就被放入黑名单,暂时使用默认

        DOSSiteCount        50

     

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

        DOSSiteInterval     1

     

    (3分钟)

        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是否被正确加载

     

     

    次访问,那么mod_evasive就会把这个地址加入黑名单,并拒绝访问,我们看一下效果:

     

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

     

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

Azure上Linux VM防DDOS攻击:使用Apache mod_evasive的更多相关文章

  1. Windows Azure 上 Linux VM 中的交换空间 – 第 2 部分

    本文章由 Azure CAT 团队的 Piyush Ranjan (MSFT) 撰写. 在前一篇文章 Windows Azure 上Linux VM 中的交换空间第 1 部分中,我介绍了在默认情况下, ...

  2. Azure上Linux VM DDOS攻击预防: 慢速攻击

    在上篇博客(http://www.cnblogs.com/cloudapps/p/4996046.html)中,介绍了如何使用Apache的模块mod_evasive进行反DDOS攻击的设置,在这种模 ...

  3. Azure上Linux VM误配防火墙的恢复方法

    在实际运维中,防火墙把自己挡在机器外面的情况会时有发生.如何快速的恢复对运维人员是很重要的. 本文将介绍如何用Azure Extension实现不通过ssh对VM进行操作的方法. 之前写过一遍Blog ...

  4. linux中防CC攻击两种实现方法(转)

    CC攻击就是说攻击者利用服务器或代理服务器指向被攻击的主机,然后模仿DDOS,和伪装方法网站,这种CC主要是用来攻击页面的,导致系统性能用完而主机挂掉了,下面我们来看linux中防CC攻击方法. 什么 ...

  5. 转:nginx防DDOS攻击的简单配置

    文章来自于: 近期由于工作需要,做了些防DDOS攻击的研究,发现nginx本身就有这方面的模块ngx_http_limit_req_module和ngx_http_limit_conn_module. ...

  6. 在Windows Azure上配置VM主备切换(1)——Linux篇

    对任何一个上线系统来说,高可用设计是不可或缺的一个环节,这样才可以确保应用可以持续.稳定的运行,而不是频繁的掉线.停机.高可用设计的核心思路很简单,就是消除一切单点故障,将单点链路或者节点升级为多点. ...

  7. Linux下防御DDOS攻击的操作梳理

    DDOS的全称是Distributed Denial of Service,即"分布式拒绝服务攻击",是指击者利用大量“肉鸡”对攻击目标发动大量的正常或非正常请求.耗尽目标主机资源 ...

  8. 简单配置vps,防ddos攻击

    防人之心不可无. 网上总有些无聊或者有意的人.不多说了.上干货,配置vps apf防小流量ddos攻击. 对于大流量的ddos攻击, 需要机房的硬件防火墙,vps内部可能也扛不住. 1. 安装 DDo ...

  9. iptables防DDOS攻击和CC攻击设置

    防范DDOS攻击脚本 #防止SYN攻击 轻量级预防 iptables -N syn-flood iptables -A INPUT -p tcp --syn -j syn-flood iptables ...

随机推荐

  1. html中的特殊符号表示法

    html中的特殊符号 符号 说明 编码   符号 说明 编码   符号 说明 编码 " 双引号 " × 乘号 × ← 向左箭头 ← & AND符号 & ÷ 除号 ÷ ...

  2. JS函数的属性

    1.arguments.callee //经典的阶乘(递归)函数 function factorial(num) { if (num <= 1) { return 1; } else { ret ...

  3. 外贸中MFQ

    MFQ = Mask Fee Quantity 退掩膜费量Masking charge USD 2000. MFQ 100k in the first year

  4. samba(转)

    配置虚拟机和主机之间的文件共享之所以配置虚拟机和主机之间的文件共享,是因为我们用惯了WINDOWS操作系统下的很多工具,比如编辑工具UltraEdit,souce insight等.我们可以在wind ...

  5. css案例学习之ul li dl dt dd实现二级菜单

    效果 代码实现 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www ...

  6. Best Time to Buy and Sell Stock 解答

    Question Say you have an array for which the ith element is the price of a given stock on day i. If ...

  7. error LNK2001

    error LNK2001: 无法解析的外部符号 "public: virtual void __cdecl Observer::update(float,float,float)" ...

  8. AutoResetEvent与ManualResetEvent区别

    本文来自:http://www.360doc.com/content/10/1126/10/3267996_72536817.shtml 在.Net多线程编程中,AutoResetEvent和Manu ...

  9. pt-table-checksum解读

    pt-table-checksum是目前可以说是最好的查看主从一致性的工具 先来个使用例子,有助快速上手使用 在主库执行: mysql>GRANT SELECT, PROCESS, SUPER, ...

  10. 【中途相遇+二进制】【NEERC 2003】Jurassic Remains

    例题25  侏罗纪(Jurassic Remains, NEERC 2003, LA 2965) 给定n个大写字母组成的字符串.选择尽量多的串,使得每个大写字母都能出现偶数次. [输入格式] 输入包含 ...