实现DDoS防御能力的AWS最佳实践2016年6月AmazonWebServices—实现DDoS防御能力的AWS最佳实践2016年6月第2页,共22页2016,AmazonWebServices,Inc.
或其附属公司.
保留所有权利.
版权声明本文档仅用于参考.
本文档代表截至其发行之日的AWS的最新产品服务和实践,如有变更,恕不另行通知.
客户负责对此文件的信息以及对AWS的产品或服务的任何使用进行自我独立的评估,每项产品或服务均按"原样"提供,无任何类型的保证,不管是明示还是暗示.
本文档不形成AWS、其附属公司、供应商或许可方的任何保证、表示、合同承诺、条件或担保.
AWS对其客户承担的责任和义务受AWS协议制约,本文档不是AWS与客户之间的协议的一部分,也不构成对该协议的修改.
AmazonWebServices—实现DDoS防御能力的AWS最佳实践2016年6月第3页,共22页目录目录3摘要4介绍4DDoS攻击4基础设施层攻击6应用层攻击7缓解技术8基础设施层防御(BP1、BP3、BP6、BP7)11应用层防御(BP1、BP2、BP6)13缩小攻击面15模糊AWS资源(BP1、BP4、BP5)16操作技术18可见性18支持20结论21贡献者21备注21AmazonWebServices—实现DDoS防御能力的AWS最佳实践2016年6月第4页,共22页摘要本文面向想要改进其在AmazonWebServices(AWS)上运行的应用程序的抗风险能力以抵御分布式拒绝服务(DDoS)攻击的客户.
本文概述了DDoS攻击、AWS提供的功能、缓解技术以及可用作有助于保护应用程序可用性的指南的DDoS防御参考架构.
介绍本文面向IT决策者和安全人员,并假定这些人员熟悉网络、安全和AWS方面的基本概念.
每一节都有指向AWS文档的链接,这些文档提供了有关最佳实践或功能的更多详细信息.
您还可以查看AWSre:Invent会议场次SEC307—使用AWS构建DDoS防御架构1和SEC306—防御DDoS攻击2,以了解更多信息.
DDoS攻击拒绝服务(DoS)攻击是指可能使您的网站或应用程序无法为您的最终用户提供服务的攻击形式.
为达到这一目的,攻击者会运用多种耗用网络或其他资源的手段来中断最终用户的合法访问.
最简单的DoS攻击形式是攻击者本人从单一来源对目标实施攻击,如图1所示.
图1:DoS攻击示意图在分布式拒绝服务(DDoS)攻击形式中,攻击者将借助多种来源(可能遭到一组协作者的盗用或控制)发动对目标的攻击.
如图2所示,在DDoS攻击中,每个协作者或遭到盗用的主机均参与攻击活动,从而生成海量的数据包或请求来"淹没"预定目标.
AmazonWebServices—实现DDoS防御能力的AWS最佳实践2016年6月第5页,共22页图2:DDOS攻击示意图DDoS攻击最常发生在开放系统互连(OSI)模型的第3、4、6和7层,如表1中所述.
第3和第4层攻击对应于OSI模型的网络层和传输层,本文档将它们称为基础设施层攻击.
第6和第7层攻击对应于OSI模型的展示层和应用层,本文档将它们称为应用层攻击.
#层单位描述媒介示例7应用程序数据应用程序的网络进程HTTP泛洪、DNS查询泛洪6展示数据数据表示和加密SSL滥用5会话数据主机间通信不适用4传输分段端到端连接和可靠性SYN泛洪3网络数据包路径确定和逻辑寻址UDP反射攻击2数据链路帧物理寻址不适用1物理Bits媒体、信号和二进制传输不适用表1:开放系统互连(OSI)模型这种区分非常重要,因为针对这些层的攻击类型是不同的,因此要使用不同的技术来建立防御能力.
AmazonWebServices—实现DDoS防御能力的AWS最佳实践2016年6月第6页,共22页基础设施层攻击常见的DDoS攻击、用户数据报协议(UDP)反射攻击和同步(SYN)泛洪都属于基础设施层攻击.
攻击者可以使用这些方法之一来生成大量流量,从而使网络或系统(如服务器、防火墙、IPS或负载均衡器)的容量不胜负荷.
这些攻击有明确的特征,很容易检测出来.
有效缓解这些攻击需要超过攻击者生成的流量的网络或系统资源.
UDP是无状态协议.
这让攻击者能够哄骗发送到服务器的请求的源,以引出更大的响应.
放大系数(请求大小与响应大小的比值)随所用的协议(如域名系统(DNS)、网络时间协议(NTP)或简单服务发现协议(SSDP))而变.
例如,DNS的放大系数介于28到54之间,也就是说,攻击者向DNS服务器发送64字节的请求有效负载可以生成超过3400字节的非必要流量.
图3中阐释了此概念.
图3:UDP反射攻击AmazonWebServices—实现DDoS防御能力的AWS最佳实践2016年6月第7页,共22页SYN泛洪可以达到大约每秒数十Gb的速度,但攻击的目的是通过将连接保持在半开放状态来耗尽系统的可用资源.
如图4所示,当最终用户连接到TCP服务(如Web服务器)时,客户端将发送SYN数据包.
服务器将返回SYN-ACK,客户端将返回ACK,完成三向握手.
图4:SYN三向握手在SYN泛洪中,永远不会返回ACK,服务器将一直等待响应.
这会使新用户无法连接到服务器.
应用层攻击偶尔,攻击者可能使用第7层或应用层攻击来攻击应用程序本身.
这些攻击与基础设施层攻击不同,因为攻击者试图过度行使应用程序的特定功能,以使其不可用.
有些情况下,这可以通过不产生大量网络流量的极少请求量来实现.
这可能使攻击更难以检测和缓解.
应用层攻击的示例包括HTTP泛洪、缓存清除攻击和WordPressXML-RPC泛洪.
使用HTTP泛洪,攻击者发送看似来自Web应用程序的真实用户的HTTP请求.
有些HTTP泛洪针对特定资源,而更复杂的HTTP泛洪将尝试模仿人类行为.
这可能会增加诸如请求速率限制等常见缓解技术的使用难度.
缓存清除攻击是一种HTTP泛洪,它在查询字符串中使用变体来规避内容分发网络(CDN)缓存,这会导致来源获取操作,从而给源Web服务器造成额外的压力.
AmazonWebServices—实现DDoS防御能力的AWS最佳实践2016年6月第8页,共22页使用WordPressXML-RPC泛洪(也称为WordPresspingback泛洪),攻击者可能滥用WordPress品牌内容管理软件上托管的网站的XML-RPCAPI函数来生成大量HTTP请求.
pingback功能允许在WordPress上托管的网站(站点A)通知另一个WordPress站点(站点B),指出站点A已经创建了到站点B的链接.
因此,站点B将尝试获取站点A以验证链接是否存在.
在出现pingback泛洪时,攻击者滥用此功能来导致站点B攻击站点A.
此类型的攻击具有明确的特征,因为HTTP请求标头的"User-Agent"中应存在"WordPress"字样.
应用层攻击还可以针对域名系统(DNS)服务.
这些攻击中最常见的是DNS查询泛洪,其中攻击者使用许多格式正确的DNS查询来耗尽DNS服务器的资源.
这些攻击还可以包括缓存清除部分,其中攻击者将子域字符串随机化以绕过任何给定解析器的本地DNS缓存.
因此,解析器不知不觉地被用来发起针对权威DNS服务器的攻击.
对于通过安全套接字层(SSL)交付的Web应用程序,攻击者可以选择攻击SSL协商过程.
SSL需要进行大量的计算,这使得攻击者可以通过发送难以理解的数据来影响服务器的可用性.
这种攻击的其他变体包括攻击者虽然完成SSL握手,但不断地重新协商加密方法.
类似地,攻击者可以选择通过打开和关闭许多SSL会话来耗尽服务器资源.
缓解技术AWS基础设施采用能够防御DDoS的设计,并由DDoS缓解系统提供支持,这些系统可以自动检测和过滤多余流量.
为了保护应用程序的可用性,有必要实施一种允许您利用这些功能的架构.
最常见的AWS使用案例之一是通过Internet向用户提供静态和动态内容的Web应用程序.
有关通常与Web应用程序结合使用的DDoS防御参考架构,请参阅图5.
AmazonWebServices—实现DDoS防御能力的AWS最佳实践2016年6月第9页,共22页图5:DDoS防御参考架构此参考架构包括许多AWS服务,可帮助您提高Web应用程序防御DDoS攻击的能力.
我们列出了此架构中的最佳实践,以便在整个文档中讨论时进行参考.
例如,讨论AmazonCloudFront提供的功能的一节将使用最佳实践指示器(如BP1)加以引用.
有关这些服务及其提供的功能的汇总,请参阅表2.
AmazonWebServices—实现DDoS防御能力的AWS最佳实践2016年6月第10页,共22页AWS边缘站点AWS区域AmazonCloudFront+AWSWAF(BP1、BP2)AmazonAPIGateway(BP4)AmazonRoute53(BP3)ElasticLoadBalancing(BP6)AmazonVPC(BP5)AmazonEC2+AutoScaling(BP7)第3层(如UDP反射)攻击缓解第4层是(如SYN泛洪)攻击缓解第6层(如SSL)攻击缓解不适用缩小攻击面扩展以吸收应用层流量第7层(应用层)攻击缓解地理隔离以及分散多余流量和更大的DDoS攻击表2:最佳实践汇总AWS区域中可用的服务(如ElasticLoadBalancing和AmazonElasticComputeCloud(EC2))允许您打造DDoS防御能力和规模以处理给定区域内的意外流量.
AWS边缘站点中可用的服务(如AmazonCloudFront、AWSWAF、AmazonRoute53和AmazonAPIGateway)允许您利用全球边缘站点网络,为您的应用程序提供更大容错能力和更大规模来管理更多流量.
使用其中每个服务为基础设施层和应用层建立抗风险能力以抵御DDoS攻击的好处将在以下各节中讨论.
AmazonWebServices—实现DDoS防御能力的AWS最佳实践2016年6月第11页,共22页基础设施层防御(BP1、BP3、BP6、BP7)在传统的数据中心环境中,您可以通过使用诸如过度配置容量、部署DDoS缓解系统或在DDoS缓解服务的帮助下清理流量等技术来缓解基础设施层DDoS攻击.
在AWS上,您可以选择对应用程序的架构进行设计,以便能够扩展和吸收更多流量,而无需进行巨额投资,也不会产生不必要的复杂性.
缓解容量耗尽型DDoS攻击的主要考虑因素包括传输能力的可用性和多样性,以及保护AmazonEC2实例等AWS资源免受攻击流量的影响.
实例大小(BP7)许多AWS客户使用AmazonEC2来获得大小可调的计算容量,这允许您在需求变化时快速扩展或收缩.
需要时,您可以通过向应用程序添加实例来横向扩展.
还可以选择使用较大的实例进行纵向扩展.
有些实例类型支持10Gb网络接口和增强联网等功能,这些功能可以提高您处理更多流量的能力.
使用10Gb网络接口,每个实例都能够支持更多流量.
这有助于防止已到达AmazonEC2实例的任何流量出现接口拥塞.
与传统实施相比,支持增强联网的实例可提供更高的I/O性能和更低的CPU利用率.
这提高了实例处理具有较多数据包的流量的能力.
在AWS上,您不负责入站数据传输的成本.
要了解有关支持10Gb网络接口和增强联网的AmazonEC2实例的更多信息,请参阅AmazonEC2实例类型3.
要了解如何启用增强联网,请参阅在VPC中对Linux实例启用增强联网4.
区域选择(BP7)许多AWS服务(如AmazonEC2)都可在全球多个位置使用.
这些在地理上分开的区域称为AWS区域.
在设计应用程序的架构时,您可以根据自己的要求选择一个或多个区域.
常见考虑事项包括性能、成本和数据主权.
在每个区域中,AWS都提供对一组唯一的Internet连接和对等关系的访问权限,以便对处境类似的最终用户提供较优延迟和吞吐量.
还必须结合DDoS防御能力考虑您对区域的选择.
许多区域距离大型Internet交换点都比较近.
由于许多DDoS攻击源自世界各地,因此,靠近交换点非常有帮助,国际运营商和大型同行在这些地方通常具有较强的实力.
这有助于最终用户在处理更多流量时访问您的应用程序.
要了解有关选择区域的更多信息,请参阅区域和可用区5,并向您的客户团队了解每个区域的特征以帮助您作出明智的决策.
AmazonWebServices—实现DDoS防御能力的AWS最佳实践2016年6月第12页,共22页负载均衡(BP6)较大的DDoS攻击可能会超过单个AmazonEC2实例的大小.
为了缓解这些攻击,您需要考虑对多余流量进行负载均衡的选项.
使用ElasticLoadBalancing(ELB),您可以通过在许多后端实例之间分发流量来降低应用程序过载的风险.
月神科技怎么样?月神科技是由江西月神科技有限公司运营的一家自营云产品的IDC服务商,提供香港安畅、香港沙田、美国CERA、华中电信等机房资源,月神科技有自己的用户群和拥有创宇认证,并且也有电商企业将业务架设在月神科技的平台上。目前,香港CN2云服务器、洛杉矶CN2云主机、华中电信高防vps,月付20元起。点击进入:月神科技官方网站地址月神科技vps优惠信息:香港安畅CN2-GIA低至20元核心:2...
BuyVM针对中国客户推出了China Special - STREAM RYZEN VPS主机,带Streaming Optimized IP,帮你解锁多平台流媒体,适用于对于海外流媒体有需求的客户,主机开设在拉斯维加斯机房,AMD Ryzen+NVMe磁盘,支持Linux或者Windows操作系统,IPv4+IPv6,1Gbps不限流量,最低月付5加元起,比美元更低一些,现在汇率1加元=0.7...
ftlcloud(超云)目前正在搞暑假促销,美国圣何塞数据中心的云服务器低至9元/月,系统盘与数据盘分离,支持Windows和Linux,免费防御CC攻击,自带10Gbps的DDoS防御。FTL-超云服务器的主要特色:稳定、安全、弹性、高性能的云端计算服务,快速部署,并且可根据业务需要扩展计算能力,按需付费,节约成本,提高资源的有效利用率。活动地址:https://www.ftlcloud.com...