来源:https://f5.com/Portals/1/Premium/Architectures/RA-DDoS-Playbook-Recommended-Practices.pdf
一、介绍
分布式拒绝服务(DDoS)攻击是当今许多组织最关心的问题。DDoS攻击使网站饱和,使其服务无法操作,并阻止合法客户端连接到该网站。对于外行来说,这种攻击可能是一种可怕而紧张的考验。
DDoS攻击通常在大量的客户端计算机之间进行协调(这可能是为此目的而设置的)。更有可能的是,客户端计算机可能感染了病毒,允许攻击者远程控制计算机,使其参与攻击。
二、DDoS攻击频率
出于经济和政治动机,DDoS攻击正变得越来越普遍。虽然第一次攻击可能是随机发生的,但它通常发生在对您的高价值服务有特定了解的攻击者决定将其脱机时。这可能会引起恐慌,并促使人们做出代价高昂的决定,包括支付赎金,以分流和阻止袭击。
三、一种目标DDoS战斗方法
曾经抵御过多次DDoS攻击的组织理解有一个程序性方法来帮助打击它们的重要性。
他们的解决方案是什么?DDoS的剧本。此文档可以作为指导操作团队应对DDoS攻击(无论大小、频繁与否)的过程性文档的基础。附上的五个快速参考表,如果提前完成,将帮助您击退DDoS攻击。
参考1:联系人名单。在您初始化联系人时填写此表(第19页)。
参考2:白名单。映射您的合作伙伴、用户和服务(第20页)。
参考3:应用分类。了解自己的应用程序(第21页)。
参考4:设备映射。创建一个设备映射(第22页)。
参考5:攻击日志。注意攻击细节(第23页)。
完整的引用可以保存在数据中心中,用于文档编制和攻击缓解。如果您在第一次攻击前没有记录这些信息,请在收集时记录,以便更好地为将来的攻击做准备。
四、为DDoS攻击做准备
如果您很幸运,在受到攻击之前阅读了本文,那么现在可以采取以下步骤使您的应用程序、网络和进程具有ddos弹性。
4.1 研究一个具有ddos弹性的架构
在您填写了本剧本中的快速参考表之后,获取F5 DDoS推荐实践文档,这样您就可以考虑如何对齐您的网络架构防御。
F5推荐了一种多层的方法,其中第三层和第四层DDoS攻击在网络层通过防火墙和IP声誉数据库得到缓解。参见图2。
这种多层次的方法可以:
•阻止TCP连接泛滥。
•克服SNAT port耗尽。
•逆转SSL泛滥。
4.2 DDoS缓解措施
如果您似乎正在遭受容量攻击,那么了解自己的流量模式的历史情况会有所帮助。保持一个用于比较的正常交通模式的基线。
如果您已经确定您正在遭受DDoS攻击,请记录估计的开始时间。(请参阅快速参考5:攻击日志)
监视攻击大小。记住要打开一个监视web页面,以指示攻击何时可能结束(或减弱)。
你需要遵循(最多)10个步骤来缓解DDoS:
•步骤1:验证攻击。
•步骤2:团队领导联系。
•步骤3:分类应用。
•第四步:识别攻击对象。
•步骤5:保护远程用户和合作伙伴。
•步骤6:评估源地址缓解选项。
•第七步:减轻特定应用程序的攻击。
•步骤8:增加应用级安全姿态。
•步骤9:限制资源。
•步骤10:管理公共关系。
步骤1:验证攻击
并非所有的中断都是由DDoS攻击造成的。DNS配置错误、上游路由问题和人为错误也是导致网络中断的常见原因。您必须首先排除这些类型的非ddos攻击,并将其与常见的停机攻击区分开来。
排除常见故障。
越快地验证中断是DDoS攻击,就可以越快地作出响应。即使停机不是由错误配置或其他人为错误造成的,仍然可能有其他类似DDoS攻击的原因。
例如,当您的站点上的某个特定页面出现在一个非常流行的论坛或博客上时,就会出现Slashdot效应。你的调查必须排除这种可能性。
检查出站连接。
是否有出站连接?如果没有,那么攻击就会非常严重,阻塞所有入站和出站流量。使用常用的诊断工具(如traceroute、ping和dig)检查并排除所有这些可能性。
排除全球问题
检查以下互联网状态报告,以确定攻击是否是全球性的问题:
•internet运行状况报告
•互联网流量报告
检查外部网络访问
尝试从外部网络访问您的应用程序。可以执行这种监视的服务和产品包括:
•keynote测试和监控。
•hp SiteScope无代理监控。
•solarwind NetFlow流量分析器。
•downforevervoneoriustme.com
确认DNS的响应
检查DNS是否响应您的网站。下面的UNIX命令根据OpenDNS proiect服务器解析一个名称。
% dig @208.67.222.222 yonrdomain.com
第二步:确认DDOS攻击
团队领导联系。
一旦袭击被证实,联系相关小组的领导。如果您以前没有填写过快速参考1:联系人列表,请现在填写。
当停机发生时,您的组织可能会召开一次正式的电话会议,包括各种操作和应用程序团队。如果您的组织有这样的流程,那么使用会议与团队领导正式确认DDoS攻击。
联系你的带宽服务提供商。
你可以拨打的最重要的电话之一就是宽带服务提供商。您的服务提供商的号码应该列在快速参考1:联系人列表中。服务提供者可能会确认您的攻击,提供可能受到攻击的其他客户的信息,有时还会提供补救。
联系你的防欺诈小组。
一旦验证了攻击,就立即调用欺诈团队是特别重要的。DDoS攻击可以用作隐藏膨胀的掩护。在DDoS攻击期间,通常会显示入侵的日志可能会丢失。这就是为什么高速离线日志记录如此重要的原因
第三步:分类应用
一旦确认了攻击,就对应用程序进行分类。
当面临强烈的DDoS攻击和有限的资源时,组织必须做出筛选决策。高价值资产通常会产生高价值的在线收入。这些是您希望保留的应用程序。
无论合法流量的级别如何,低价值的应用程序都应该被有意禁用,这样它们的CPU和网络资源就可以用于帮助高价值的应用程序。你可能需要团队领导的意见才能做到这一点。
归根结底,这些都是财务决策。恰当地完成这项工作。
快速参考3:应用程序分类只需要几分钟就可以完成,它将极大地帮助您在对抗实际DDoS事件时做出艰难的应用程序决策。如果你还没有这样做,现在是时候了。
决定哪些应用程序是低优先级的,可以在攻击期间禁用。这可能包括内部应用程序。
在快速参考3中记录你的选择。
第四步:用白名单保护合作伙伴
白名单伙伴地址。
您很可能拥有必须访问您的应用程序或网络的可信合作伙伴。如果您还没有这样做,请收集必须始终允许访问并维护该列表的IP地址。快速参考2:白名单包括白名单集合的模板。
您可能必须在整个网络的多个位置填充白名单,包括在防火墙、应用程序交付控制器(ADC),甚至在服务提供者处,以确保来往这些地址的通信不受阻碍。
保护VPN用户。
现代组织将为远程SSL VPN用户提供白名单或质量服务。通常,这是在集成的防火墙/VPN服务器上完成的,如果您有大量的远程员工,这一点非常重要。
第五步:确定攻击对象
确定攻击的性质。
现在是时候收集有关这次袭击的技术情报了。您需要回答的第一个问题是“攻击向量是什么?”
四种DDoS攻击类型
你正在试图确定攻击的性质。它是:
•大小——基于洪水的攻击可以在第3层,第4层,或第7层?
•不对称——设计用于调用超时或会话状态更改?
•计算——设计消耗CPU和内存?
•基于漏洞的——设计利用软件漏洞?
到目前为止,您应该已经通过Quick Reference 1: Contacts列表上的信息呼叫了带宽服务提供商。如果攻击本质上只是容量攻击,服务提供商将会通知您,并且可能已经采取了DDoS补救措施。
第6步:评估源地址缓解选项
如果第5步已经确定该活动使用了您的服务提供商无法减轻的高级攻击媒介(例如低速度攻击、应用程序攻击或SSL攻击),那么下一步是考虑以下问题:“有多少来源?”
如果攻击IP地址的列表很小,您可以在防火墙上阻止它们。另一个选择是让你的带宽提供商为你屏蔽这些地址。
Geoblocking
攻击IP地址的列表可能太大,防火墙无法阻止。您添加到块列表的每个地址将减慢处理速度并增加CPU。但是,如果攻击者都在同一地理区域,或者您可以暂时阻止几个区域,那么您仍然可以阻止他们。
例如,如果你的大部分攻击似乎来自东南亚,评估你将损失的收入,如果你阻止所有流量从该地区。仔细考虑geoblocking。通过地理位置阻塞整个区域的决定必须作为一个业务决策来做出。
最后,如果在许多地区有许多攻击者,但是您不关心除您自己的地区以外的任何地区,那么您还可以使用地理位置作为防御手段,通过阻止除来自您的地区以外的所有通信。
减轻多重攻击矢量
如果有太多的攻击者屏蔽IP地址或地区可行的,你可能需要制定计划放松减轻“向后”这是进攻,保卫网站从数据库层到应用程序层,然后到web服务器、负载平衡器,最后防火墙。
您可能会迫于压力而采取相反的补救措施—例如,在第4层进行缓解以恢复防火墙。但是,请注意,当您这样做时,攻击将开始深入数据中心。
当您确定攻击向量的不同组合时,请检查此表以查看针对个别攻击的补救措施。
第七步:减轻特定应用程序层的攻击
如果您已经完成了这一步,那么DDoS攻击已经足够复杂,通过源地址进行缓解是无效的。攻击属于这一类可能产生的工具,如低轨道离子加农炮,Apache杀手,或Brobot。这些攻击看起来像第4层的正常流量,但是有一些异常会中断服务器层、应用程序层或数据库层中的服务。(要了解常见的攻击工具和缓解策略,请参阅F5 DDoS推荐实践文档中的“应用程序攻击的分类”。)
要对抗这些攻击,您必须在应用程序交付层启用或构建防御。
减轻特定攻击工具
一旦分析了步骤4中的流量,如果攻击是应用层攻击,那么重要的问题是:
•你能识别恶意流量吗?
•它看起来是由已知的攻击工具生成的吗?
特定的应用层攻击可以通过特定的F5对策逐个减轻。今天的攻击者通常使用多种类型的DDoS攻击载体,但这些载体大多围绕第3层和第4层,只有一到两种应用层攻击。希望这是你的情况,这将意味着你的DDoS攻击早就结束了。
步骤8:增加应用程序级别的安全状况
如果您已经在DDoS攻击中达到了这一步,那么您已经减轻了第3层和第4层的压力,并评估了针对特定应用程序攻击的缓解措施,并且仍然遇到问题。这意味着攻击是相对复杂的,而您减轻攻击的能力将部分取决于您的特定应用程序。
不对称的应用程序的攻击
您很可能正面临现代攻击中最困难的攻击之一:非对称应用程序攻击。这种攻击可以是:
•整个应用程序的大量递归获取。
•对一些大型公共对象(如MP4或PDF文件)的重复请求。
•重复调用昂贵的数据库查询。
如果您实现了介绍中讨论的一些架构建议,那么现在就可以利用这些防御了。
利用你的安全边界
针对这些非对称攻击的最佳防御取决于您的应用程序。例如,金融机构了解他们的客户,能够使用登录墙来拒绝匿名请求。另一方面,娱乐行业的应用,如酒店网站,往往是在用户同意预订之后才认识用户。对他们来说,验证码可能是更好的威慑。
选择对你的应用程序最有意义的应用程序级防御:
•登录墙
•人工检测
•真正的浏览器执行
登录墙
登录墙是一种逻辑防御,要求客户端作为已知用户登录,然后才能访问任何高价值资产或运行数据库查询。登录墙可以在服务提供者、web应用程序防火墙或ADC级别实现。
这个完美的解决方案的缺点是,不是每个应用程序都与已知用户紧密集成。例如,酒店经营者必须提供不需要用户登录的房间可用性应用程序。
人工检测
人类检测是第二好的方法。验证客户端连接是由人(而不是恶意机器人)控制的,对逆转第7层DDoS攻击大有帮助。通常这是通过验证码来完成的。
CAPTCHA是完全自动化的公共转弯测试的首字母缩写,用来区分电脑和人。在计算中,通过要求特定的响应来判断请求实体是否是人是一个挑战。验证码的缺点(以及它们不能一直保护所有资源的原因)是它们会拒绝一部分合法用户。灵活的应用程序将允许验证码在攻击期间打开,然后再次关闭。
真正的浏览器执行
一些web应用程序防火墙通过插入JavaScript重定向到新连接来提供此功能,如果这些连接不遵循重定向,则将其列入黑名单。这是一种值得的方法,因为它可以在不干扰使用真实浏览器的真实用户的情况下挫败大多数僵尸程序。
第九步:限制资源
如果前面的所有步骤都未能阻止DDoS攻击,您可能不得不限制资源以抵御攻击。
这种技术可以避开好的和坏的流量。事实上,速率限制常常会使90%到99%的流量被拒之门外,同时仍然使攻击者能够提高数据中心的成本。对于许多组织来说,最好是禁用或“黑洞”应用程序,而不是限制它的速率。
速率整形
如果您发现必须对速率进行限制,那么可以在多层DDoS体系结构中的不同位置提供约束。在网络层,也就是第3层和第4层安全服务所在的地方,使用速率调整来防止TCP泛滥淹没您的防火墙和其他第4层设备。
连接限制
连接限制可以是一种有效的缓解技术,但它们不能很好地与连接多路复用特性一起工作。应用层连接限制应该提供最好的保护,防止过多的吞吐量压倒web服务器和应用程序中间件。
第十步:管理公共关系
如今的黑客组织利用媒体来吸引人们对其目标的关注。许多黑客活动分子通知媒体攻击正在进行,并可能在攻击期间联系目标公司。
特别是金融机构,可能有与责任相关的政策,以防止他们承认正在进行的攻击。这对于公共关系经理来说是一个棘手的情况。该经理可能会这样说:“我们目前遇到了一些技术上的挑战,但我们乐观地认为,我们的客户很快就能完全使用我们的在线服务。”
处理报告者
然而,报告者可能不会接受这种类型的对冲,特别是如果该网站真的看起来是完全离线的。在最近的一个案例中,一名报告者打电话给一家银行的当地分行经理,询问攻击是如何进行的。没有接受过媒体培训的分公司经理回答说:“太可怕了,我们要被杀了!”
如果DDoS攻击看起来是一个高调的黑客攻击,准备两个声明:
1. 让媒体拍照。如果你的行业政策允许你承认自己受到了外部攻击,那么就坦白承认吧。如果政策规定你必须回避调查,就引用技术上的挑战,但一定要准备好下一个陈述。
2. 内部人员,包括任何可能被媒体联系的人。你的内部声明应该向媒体提供什么该说,什么不该说的线索,或者更好的做法是,直接指示你的员工将所有与事件有关的询问反馈给公关经理。包括一个电话号码。
结论
如果这些信息是有用的,为您的组织创建一个自定义剧本。
•在下一节中包括参考表。打印他们,填写他们,并层压他们。
•用它们来创建一个实体剧本,或者把它们贴在数据中心的墙上。
当您防御DDoS攻击时,您可以改进剧本并提高应用程序的弹性。