CDN如何保护故障转移站点免受DDoS攻击?


9

我正在设计Java Web应用程序,最终可能会将该应用程序部署到Google App Engine(GAE)。关于GAE的好处是,我真的不必担心要从可怕的DDoS攻击中强化我的应用程序-我只需指定一个“计费上限”,并且如果我的流量达到此上限(DDoS或其他),只会关闭我的应用程序。换句话说,GAE本质上可以扩展到任何数量,直到您根本负担不起让应用程序继续运行。

因此,我正在尝试制定一个应急方案,如果我确实超出了计费上限,并且GAE关闭了我的应用程序,则我的Web应用程序域DNS设置会“故障转移”到另一个非GAE IP地址。一些初步研究表明,某些CDN(例如CloudFlare)可为这种确切情况提供服务。基本上,我只是保留我的DNS设置,并且它们提供了一个API,我可以点击它以自动执行故障转移过程。因此,如果我检测到我的GAE应用程序的帐单上限为99%,则可以点击CloudFlare API,然后CloudFlare将动态更改DNS设置,使其从GAE服务器指向其他IP地址。

我最初的偶然性是将故障转移到托管在其他地方(例如由GoDaddy或Rackspace托管)的Web应用程序的“只读”(仅静态内容)版本。

但是,突然间我突然意识到:如果DDoS攻击针对的是域名,那么如果我从GAE IP地址过渡到我的GoDaddy IP地址会产生什么区别?从本质上讲,故障转移除了允许DDoS攻击者关闭我的备份/ GoDaddy站点外不会做任何其他事情!

换句话说,DDoS攻击者协调了由GAE托管的我的Web应用程序上的攻击,该攻击www.blah-whatever.com确实是IP地址100.2.3.4。它们使我的流量激增到我的帐单上限的98%,并且我的自定义监视器触发了CloudFlare从100.2.3.4105.2.3.4的故障转移。DDoS攻击者不在乎!他们仍在发动攻击www.blah-whatever.com!DDoS攻击仍在继续!

因此,我想问:像CloudFlare这样的CDN可以提供什么保护,以便当您需要故障转移到另一个DNS时,您不会受到相同的,持续的DDoS攻击的威胁吗?如果存在这样的保护,故障转移站点上是否存在任何技术限制(例如,只读等)?如果没有,那它们有什么好处?提前致谢!


大Q!可以从中学到很多:-)
马丁·维尔堡

Answers:


6

在这种配置下,它们无法防御DDoS攻击。CDN不能“防御” DDoS攻击-它们只是通过拥有大量硬件和带宽来解决此问题而减轻其影响。当CDN将DNS设置更改为直接指向您的服务器时,CDN不再处理对您的网站的请求-客户端再也看不到CDN的IP,因此CDN不再为您提供保护。

至于“它们有什么用”,DDoS攻击并不是使用CDN的重点。使用CDN的目的是通过缩短服务器和客户端之间的地理距离,来减少某人从您的一台Web服务器请求大量数据到该人获取数据之间的延迟。您可以进行性能优化;但实际上,它并非旨在提供DDoS的安全性。


感谢@Billy ONeal(+1)-总结一下:我希望我的“ DDoS故障转移”实际上将请求重定向到CDN服务器,以便它们可以在问题上投入足够的硬件/带宽以保持站点正常运行;尽管这不是CDN的主要功能。这是差不多吗?如果是这样,则会有一个快速跟进的问题:如果我走了这条路线并将故障转移重定向到CDN,我的Web应用程序将能够像正常情况一样继续运行,或者CDN仅提供静态内容(即,我的Web应用程序将变成“只读”等)?再次感谢!
herpylderp 2012年

@herpylderp:好吧,这取决于站点的性质。CDN仅处理完全静态的内容。如果您的服务器做“有趣的事情”,那么CDN不会帮助您。通常,您不会在CDN的服务器上运行代码。例如,在堆栈交换站点上,每个站点的映像都托管在CDN sstatic.com上,而主站点托管在StackExchange自己的数据中心中。
比利·奥尼尔

1
CDN通常根据数量收取费用,因此您只是将计费成本从一个供应商转移到了另一个供应商。AFAIK,DDoS缓解通常涉及自动临时阻止IP范围。
Joeri Sebrechts 2012年

感谢@Joeri Sebrechts(+1)-“ IP范围”和“ IP子网”之间是否有区别?或者它们相同吗?我问,因为GAE允许您阻止IP子网,并且希望这就是您在说的。
herpylderp 2012年

7

我为Incapsula工作,这是一家云安全公司,还提供基于CDN的加速服务(例如CF)。

我想说的是,CDN本身(如@Billy ONeal所正确说明)本身不提供DDoS保护,而基于云的代理网络是一种非常有效的DDoS缓解工具。

因此,就DDoS on Cloud CDN而言,不是“ CDN”而是“ Cloud”通过吸收DDoS产生的所有额外流量来保护您,同时仍允许来自世界各地的不同POP访问您的站点。

另外,由于这是一个前门代理解决方案,因此该技术可用于缓解3-4级网络DDoS攻击(即SYN Flood),这些攻击使用欺骗性IP向您的服务器发送大量SYN请求。

在这种情况下,代理将不会建立连接,直到收到ACK响应,从而防止了SYN泛滥的发生。

您还可以使用其他方法将云用于网站安全(例如,Bad Bot阻止,基于云的WAF),其中一些方法也可以用于DDoS缓解或预防(稍后停止扫描程序机器人是一个很好的例子),但是在这里主要要了解的是,这些都不是基于CDN而是基于Cloud技术。


1
哇-感谢@Igal Zeifman(+1)-很棒的答案!有几个后续问题供您参考:(1)当您说“ 代理网络 ”或“ 前门代理 ”时,我假设您的意思是云正在提供充当客户端和我的应用程序服务器之间的中间人的服务器,是吗?如果不能,请您解释一下?(2)CloudFlare和/或Incapsula是否为这些其他服务(停止/阻止bot,WAF等)提供功能?再次感谢!
herpylderp 2012年

另外,通过“ POP ”,我假设您的意思是“存在点”,是吗?
herpylderp 2012年

你好谢谢。非常感激。为您解答:Front Gate Proxy:术语“代理”表示所述网络与您的站点之间的中介关系。这意味着网络将“坐在”站点的前端(因此称为“前门”)作为第一道防线,基本上是第一时间接收所有流量并过滤掉所有“坏东西”(在我们的情况下是使用Bad Bot过滤掉)阻止规则和向量,WAF等。如果是DDoS,则该网络还将有助于平衡额外的流量,从而避免与DDoS相关的问题。(即崩溃)POP =存在点。您是100%正确的。
Igal Zeifman
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.