如何使用Nginx对抗DDoS攻击?

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

Apache DDoS攻击web

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

用Nginx对抗DDoS安全

在这里再也不介绍怎么设置Nginx做为反向代理系统,从而起到对抗DDoS攻击的做用。若是想本身作作看的,有不少在线的教程能够参考。这里要分享的是使用Nginx的结果,以及一些高级的技巧。服务器

Nginx做为反向代理并发

因为一些技术内部组件,Nginx一般比Apache更擅长处理高并发。在不少案例中,咱们在Apache系统的前端部署Nginx做为反向代理服务器。经过在Nginx中调整变量,一般能够抵抗住更小的攻击。若是攻击更大的话,可能就须要在Nginx中采用IP之地、用户代理、国籍或者其余的数据过滤流量。也能够将这些流量完全丢掉,就永远不会到达web服务器了。curl

服务器静态页面高并发

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

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

来自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防御服务出现,能够供选择。

相关文章
相关标签/搜索