时不时的就有客户会被DDoS一下。很多时候攻击很简单也容易封堵,但是攻击的目标是应用的时候就更难防御。在这里云端卫士介绍一下使用Nginx作为代理过滤器来封堵一些这种攻击。

Apache DDoS攻击

攻击Apache或者任何其他的HTTP服务器并不需要大量流量。有些服务器可能1 Mbit流量就宕机了。正确页面上的正确请求会生成巨大的负载,导致服务器过载。应用设计、阿帕奇配置和其他的因素都会对这种相对较低水平的流量宕机作出贡献。当然也有办法能够对抗DDoS攻击。比如使用Nginx,作为HTTP服务器的替代品用来处理流量。

用Nginx对抗DDoS

在这里不再介绍怎么设置Nginx作为反向代理系统,从而起到对抗DDoS攻击的作用。如果想自己做做看的,有很多在线的教程可以参考。这里要分享的是使用Nginx的结果,以及一些高级的技巧。

Nginx作为反向代理

由于一些技术内部组件,Nginx通常比Apache更擅长处理高并发。在很多案例中,我们在Apache系统的前端部署Nginx作为反向代理服务器。通过在Nginx中调整变量,通常可以抵抗住更小的攻击。如果攻击更大的话,可能就需要在Nginx中采用IP之地、用户代理、国籍或者其他的数据过滤流量。也可以将这些流量彻底丢掉,就永远不会到达web服务器了。

服务器静态页面

如果攻击的目标是脚本或者数据库驱动页面,服务器或者数据库可能很快就过载。首先可以做的就是创建这个页面的静态版本:1.在安全的地方做一个镜像2.将真正的脚本转移到一个替代命名3.设置一个副本用来使用wgetcurl,从而在需要间隔创建该页面的静态版本。

就算你的副本每分钟都在运行,这样也比运行脚本导致的数据库受到的攻击少得多。这也是一种快速且更易于实现的方式来显著提升页面可扩展性的方法。

来自Nginx的服务器目标页面

还有一些案例中,几个页面的Apache每秒收到了2000多个请求。即便采用静态页面的技巧以及用Nginx作为反向代理,系统仍旧处于困境。

这种案例中,攻击者攻击具体的页面,可以将这些页面的静态副本转移到Nginx代理。使用位置定向,可以设置Nginx来处理这些文件,好处就是现在的Nginx代理正在处理大多数的负载,而Apache服务器则在做该做的。

采用RAM磁盘

还可以使用/dev/shm (RAM) 作为静态文件的位置。通过将目标文件从主服务器转移到Nginx反向代理,从RAM服务他们,就能够在最低限度的硬件上处理每秒1000个请求,这样做减少了磁盘的IO问题,可以快速服务正常业务。

用户代理封堵

我们发现超过60%的攻击都有具体的用户代理。这个用户代理大部分都独一无二。这个用户代理可以识别极少的合法流量。

Nginx的过滤技术发送500 error到任何使用用户代理的客户端。就可以选择性的减少流量或者重定向流量。这样做的确会有一些攻击变化。

IP封堵

别忘了IP信息报过滤系统或者防火墙。在一些案例中,需要更为严厉的举措。比如,我们可以锁定具体的国家,将其流量过滤掉。这样做就能够减少75%的攻击,剩下的就更易于处理,并且保证网站的正常运行。

这些仅仅是一些雕虫小技,想必每一位抗战在DDoS一线的战士都有自己的一些心得体会。在一些出租设备上,对于HTTP的DDoS攻击很难封堵,也难以部署自己的过滤设备。现在也有很多新的DDoS防护服务出现,可以供选择。

如何使用Nginx对抗DDoS攻击?的更多相关文章

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

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

  2. Nginx阻止DDoS攻击的教程收集(转)(待实践)

    DDoS估计是一个非常头痛的问题. 分布式拒绝服务攻击(DDoS)指的是通过多台机器向一个服务或者网站发送大量看似合法的数据包使其网络阻塞.资源耗尽从而不能为正常用户提供正常服务的攻击手段.随着互联网 ...

  3. 知物由学 | 如何利用人工智能来对抗DDoS攻击?

    欢迎访问网易云社区,了解更多网易技术产品运营经验. "知物由学"是网易云易盾打造的一个品牌栏目,词语出自汉·王充<论衡·实知>.人,能力有高下之分,学习才知道事物的道理 ...

  4. nginx防止DDOS攻击配置

    转自:http://www.escorm.com/archives/452 防御DDOS是一个系统工程,攻击花样多,防御的成本高瓶颈多,防御起来即被动又无奈.DDOS的特点是分布式,针对带宽和服务攻击 ...

  5. nginx防止DDOS攻击

    防御DDOS是一个系统工程,攻击花样多,防御的成本高瓶颈多,防御起来即被动又无奈.DDOS的特点是分布式,针对带宽和服务攻击,也就是四层流量攻击和七层应用攻击,相应的防御瓶颈四层在带宽,七层的多在架构 ...

  6. 【趣事】用 JavaScript 对抗 DDOS 攻击 (下)

    上一篇:http://www.cnblogs.com/index-html/p/js-network-firewall.html 对抗 v2 之前的那些奇技淫巧,纯属娱乐而已,并不能撑多久. 但简单. ...

  7. 【趣事】用 JavaScript 对抗 DDOS 攻击

    继续趣事分享. 上回聊到了大学里用一根网线发起攻击,今天接着往后讲. 不过这次讲的正好相反 -- 不是攻击,而是防御.一个奇葩防火墙的开发经历. 第二学期大家都带了电脑,于是可以用更高端的方法断网了. ...

  8. nginx预防常见攻击

    目录 nginx防止DDOS攻击 概述 攻击手段 配置 限制请求率 限制连接的数量 关闭慢连接 设置 IP 黑名单 设置IP白名单 小站点解决方案 nginx防止CC攻击 概述 主动抑制方法 应用举例 ...

  9. DDos攻击解决办法

    (1).DDos概念 分布式拒绝服务攻击(英文意思是Distributed Denial of Service,简称DDoS)是指处于不同位置的多个攻击者同时向一个或数个目标发动攻击,或者一个攻击者控 ...

随机推荐

  1. Processing与Java混编初探

    Processing其实是由Java开发出的轻量级JAVA开发语言,主要用于做原型,有setup.draw两个主接口和几个消息相应接口 Processing和Java混编很简单...在Java中引入外 ...

  2. 移动端touch事件影响click事件以及在touchmove添加preventDefault导致页面无法滚动的解决方法

    这两天自己在写一个手机网页,用到了触屏滑动的特效,就是往右滑动的时候左侧隐藏的菜单从左边划出来. 做完之后在手机原生浏览器中运行正常,但在QQ和微信中打开,发现touchmove只会触发一次,而且to ...

  3. log4j配置说明

    log4j appender :用于指定使用的append类 logger:定义logger的名称和其对应的appender LoggerFactory.getLogger("counter ...

  4. PHP+Mysql+jQuery实现文件下载次数统计

    数据表 CREATE TABLE IF NOT EXISTS `downloads` (   `id` int(6) unsigned NOT NULL AUTO_INCREMENT,   `file ...

  5. ASP.NET泛型List的各种用法Skip、Take等

    List在.NET里面使用得非常频繁,但有好多人不了解它各种小用法.我就一直记不大住... asp.net中List的简单用法,例如: 1 2 3 4 5 6 7 List<int> li ...

  6. highchart 动态刷新(可用于制作股票时时走势)

    最近项目中要求获取时时的cpu动态图,利用 highchart 可以轻松实现该功能,效果可在此地址查看:动态效果 代码如下: 页面 js 引用: <script src="你项目js的 ...

  7. 写了cookie阻止通过输入地址直接访问下一个html,但是直接输入地址访问时,会闪一下下一个页面,怎么回事啊????、

    描述:做了两个页面login.html   index.html  在index的body加了onload事件,调用一个js,js中有cookie的判断,防止没有登录就打开index.html,如果没 ...

  8. C#窗体文件的操作

    文件的创建使用File类下的AppendAllText("要保存的数据","文件完整路径")方法. string fileMove = @"C:\te ...

  9. PPTP-VPN第三章——用户流量与并发数限制

    在前面两篇文章中详细介绍了pptp vpn的安装与使用,以及如何配置用户认证存入mysql数据库.本文将在前面两篇文章的基础上介绍如何对用户的流量做限制,同时限制相同账号的用户,同一时刻的在线数为1. ...

  10. 从零构建一个简单的 Python Web框架

    为什么你想要自己构建一个 web 框架呢?我想,原因有以下几点: 你有一个新奇的想法,觉得将会取代其他的框架 你想要获得一些名气 你遇到的问题很独特,以至于现有的框架不太合适 你对 web 框架是如何 ...