如何使用Nginx对抗DDoS攻击?

原创 2016年08月31日 10:31:16

时不时的就有客户会被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.设置一个副本用来使用wget或curl,从而在需要间隔创建该页面的静态版本。


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


来自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攻击

DDOS是一种通过大流量的请求对目标进行轰炸式访问,导致提供服务的服务器资源耗尽进而无法继续提供服务的攻击手段。一般情况下,攻击者通过大量请求与连接使服务器处于饱和状态,以至于无法接受新的请求或变得很...
  • feng88724
  • feng88724
  • 2016年04月13日 16:26
  • 10424

nginx防止DDOS攻击配置

防御DDOS是一个系统工程,攻击花样多,防御的成本高瓶颈多,防御起来即被动又无奈。DDOS的特点是分布式,针对带宽和服务攻击,也就 是四层流量攻击和七层应用攻击,相应的防御瓶颈四层在带宽,七层的多在架...
  • nohaoye
  • nohaoye
  • 2017年04月01日 16:47
  • 2591

利用Nignx巧妙解决我所遇到的DDOS攻击

1. 问题 自家的APP上线已经有一段时间了,突然有一天发现线上产品居然不能发送验证码。 登录第三方短信验证码服务后台,发现问题很严重。 3 youbiquan 15797 201...
  • hopeztm
  • hopeztm
  • 2016年01月10日 22:34
  • 1860

使用Nginx、Nginx Plus抵御DDOS攻击

转载地址:http://mp.weixin.qq.com/s?__biz=MzA3MzYwNjQ3NA==&mid=208998983&idx=1&sn=57c74bef6c1...
  • u014359108
  • u014359108
  • 2016年03月02日 17:19
  • 941

[前端]防止xss攻击的最简单方法

xss攻击:跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。恶意攻击者...
  • jsh0123
  • jsh0123
  • 2016年04月11日 19:40
  • 7506

记一次nginx崩溃

今天因为用户登陆不了,一般是磁盘满了,造成session文件无法生成,所以依赖session登陆的程序就出了问题,一般手动删除access.log(主要是这个文件占满了磁盘)后,重启nginx,过1分...
  • k178441367
  • k178441367
  • 2014年12月22日 18:05
  • 921

使用Nginx抵御DDOS攻击

DDOS是一种通过大流量的请求对目标进行轰炸式访问,导致提供服务的服务器资源耗尽进而无法继续提供服务的攻击手段。一般情况下,攻击者通过大量请求与连接使服务器处于饱和状态,以至于无法接受新的请求或变得很...
  • feng88724
  • feng88724
  • 2016年04月13日 16:26
  • 10424

nginx防止DDOS攻击配置

防御DDOS是一个系统工程,攻击花样多,防御的成本高瓶颈多,防御起来即被动又无奈。DDOS的特点是分布式,针对带宽和服务攻击,也就 是四层流量攻击和七层应用攻击,相应的防御瓶颈四层在带宽,七层的多在架...
  • nohaoye
  • nohaoye
  • 2017年04月01日 16:47
  • 2591

使用Nginx、Nginx Plus抵御DDOS攻击

转载地址:http://mp.weixin.qq.com/s?__biz=MzA3MzYwNjQ3NA==&mid=208998983&idx=1&sn=57c74bef6c1...
  • u014359108
  • u014359108
  • 2016年03月02日 17:19
  • 941

利用Nignx巧妙解决我所遇到的DDOS攻击

1. 问题 自家的APP上线已经有一段时间了,突然有一天发现线上产品居然不能发送验证码。 登录第三方短信验证码服务后台,发现问题很严重。 3 youbiquan 15797 201...
  • hopeztm
  • hopeztm
  • 2016年01月10日 22:34
  • 1860
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何使用Nginx对抗DDoS攻击?
举报原因:
原因补充:

(最多只允许输入30个字)