DDoS防护方式以及产品
导航: 这里将一个案例事项按照流程进行了整合,这样查看起来比较清晰。部分资料来自于Cloudflare 1.DDoS介绍 2.常用DDoS攻击 |
1.DDoS的防护方式
防护DDoS从原理来说就是需要从所有流量中区分出正常流量和恶意攻击流量,然后过滤点攻击流量,避免其占用服务器资源为正常流量服务。按这个道理来说,只要成功过滤恶意流量,就能是DDoS攻击失去作用,保证业务正常进行,不会产生意外损失。
本地防护设备
本地设备一般分为DDoS检测设备、管理中心和清洗设备。首先,DDoS检测设备日常通过流量基线自学习方式,按各种和防御有关的维度进行统计,形成流量模型基线,从而生成防御阈值。学习结束后继续按基线学习的维度做流量统计,并将每一秒钟的统计结果和防御阈值进行比较,超过则认为有异常,通告管理中心。由管理中心下发引流策略到清洗设备,启动引流清洗。异常流量清洗通过特征、基线、回复确认等各种方式对攻击流量进行识别、清洗。经过异常流量清洗之后,为防止流量再次引流至DDoS清洗设备,可通过在出口设备回注接口上使用策略路由强制回注的流量去往数据中心内部网络,访问目标系统。
运营商清洗服务
一般黑客发起DDoS攻击时,最先感知到的一般为本地数据中心内的DDoS防护设备,但本地防护设备只能防御一定规模的流量攻击,一旦攻击流量超出本地DDoS清洗设备性能可以应对的DDoS流量攻击规模时,需要通过运营商清洗服务或借助运营商临时增加带宽来完成攻击流量的清洗,运营商通过各级DDoS防护设备以清洗服务的方式帮助用户解决带宽消耗型的DDoS攻击行为,如果流量比较大,也会出现带宽的问题。
云清洗服务
最差的情况就是在运营商的流量清洗效果不理想的时候,可以尝试使用云清洗服务。云清洗服务是分布式部署的基于运营商骨干网的异常流量清洗中心,可以在靠近攻击源的的地方讲流量清洗,提升防护DDoS的能力。
DDoS云防护的基本原理就是替身防护,即通过A记录、CNAME或者NS的方式将被攻击网站的域名指向云清洗机房,云清洗机房利用囤积的大量带宽进行流量清洗,把清洗后的正常业务访问转发给网站,过滤掉攻击流量。
且云清洗服务带宽量大,具体了解云清洗服务的部署架构原理,参考文章Anycast技术。
DDoS攻击危害严重,需积极应对,必需采取有效防护DDoS措施。对比三种方式的不同和适用场景,发现他们都存在一些缺点,比如本地DDoS防护设备和运营商清洗服务都对HTTPS流量的防护能力有限,且对CC等应用层的DDoS攻击类型检测效果不太行。大多数真正的DDoS攻击都是“混合”攻击,所以单一解决方案不能完成所有DDoS攻击清洗,最好的方式是要根据实际情况采取多重防护。
1.1 DDoS缓解流程
有了以上几种防护方案,那么流量到了防护设备是怎么将恶意流量和正常进行区分的?怎么将正常流量给到真实服务器?
什么是DDoS缓解?
DDoS缓解是指成功保护目标服务器或网络以抵御分布式拒绝服务(DDoS)攻击的过程。目标受害者可以使用专门设计的网络设备或基于云的保护服务缓解传入的威胁。
使用基于云的提供商来缓解 DDoS 攻击时,可以分为 4 个阶段:
1.检测 – 为阻止分布式攻击,网站需要能够区分攻击流量与大规模正常流量。如果产品发布或其他公告导致网站涌入大批新的合法访问者,那么网站最不希望的就是限制访问者或以其他方式阻止访问者查看网站内容。IP信誉、常见攻击模式和过往数据均有助于妥善完成检测。
2.响应 – 在此步骤中,DDoS保护网络将通过智能方式丢弃恶意机器人流量并吸收其余流量,从而对传入的已识别威胁做出响应。利用WAF页面规则应对应用程序层(L7)攻击,或者运用其他过滤流程来应对低层(L3/L4)攻击(如memcached或NTP放大),网络能够缓解中断攻击。
3.路由 – 高效DDoS缓解解决方案通过智能方式路由流量,将剩余流量分解为可管理的区块,从而防止拒绝服务。
4.调整 – 卓越的网络可以分析流量总结模式(如重复违规的IP阻止),特别是攻击来自某些特定国家/地区或特定协议使用不当时效果尤为显著。通过调整应对攻击模式,保护服务可以加强自身以防范未来攻击。
其实也有很多叫法:流量检测、流量牵引和流量回注。
1.2 DDoS的清洗算法
那么知道了缓解的步骤,流量到达缓解层,怎么去区分什么是正常流量?什么是不正常流量?
在不同的产品或者不同的云厂商中都有不同的策略?以下仅列举一些常用的一些策略。
比如网易NDS的防护算法:
网络层防护
网络层防护的主要流程是:每50毫秒分析一次业务流程的成分、新建连接并发连接、业务请求,发现攻击成分发生变化时,依据客户的配置情况调用相应的清洗模块。网络层清洗模块主要有:TCP SYN认证模块、畸形包模块、ACL模块、TCP/UDP状态机模块、黑名单模块、大数据分析过滤模块、限速模块。NDS产品对UDP业务的防护流程如下图所示:
NDS产品对TCP业务的防护流程比较复杂,这里仅仅介绍SYN Flood的防护,如下图所示。
应用层
应用层DDoS攻击之所以难以防范,就在于攻击流和正常流混合在一起,很难有效地分辨出攻击流,想要取得良好的防护效果,要求NDS必须对业务进行深入的分析。
NDS产品业务层防护由JS认证、浏览器指纹、CC工具识别、高级ACL、IP名单库等防护模块组成。这些模块可以单独或者组合使用,以保护客户的业务。
1.JS验证:用于验证来自互联网的访问是否来自于真实浏览器,会区分HTTP API调用和浏览器。其防护流程如下图所示:
2.浏览器指纹:用于验证来自于互联网的访问是否伪造浏览器的请求;
3.CC工具识别:一款CC工具识别模块,能识别出互联网的90%以上的CC工具。包括且不限于空连接、长连接、慢速连接、故意拆分成小包、故意重传、回放攻击、无负载连接等行为;
4.高级ACL:支持客户根据业务特征书写ACL,直接过滤非法流量,支持与黑名单联动;
5.IP名单库:根据大数据的分析结果,形成各种特征的IP名单。
各种不同的算法有很多,这里不一一列举。
1.3 DDoS厂商对比
怎么选择选择DDoS缓解服务
传统DDoS缓解解决方案需要采购现场设备并过滤传入流量。这种方法需要采购和维护昂贵的设备,而且依赖能够缓解攻击的网络。如果DDoS攻击规模足够大,将可以从上游切断网络基础设施,阻止各类现场解决方案生效。如果采购基于云的DDoS缓解服务,应对某些特征进行评估。
1.可扩展性 – 高效解决方案必需能够适应不断增长的业务需求,并对层出不穷的DDoS攻击做出响应。超过每秒1TB/s(TBPS)的攻击已然出现,而且尚无迹象表明攻击流量规模呈下滑趋势。Cloudflare网络能够处理比以往任何时候都大得多的DDoS攻击。
2.灵活性 – 能够创建临时策略和模式,因而可以实时调整Web资产以抵御传入的威胁。为确保站点在攻击期间保持在线状态,实施Page Rule并在整个网络中填充相关更改显得至关重要。
3.可靠性 – DDoS保护就好比座椅安全带,只在必要时使用,一旦使用最好确保正常运行。无论任何保护策略,保证DDoS解决方案可靠性对于顺利推行策略均至关重要。为确保服务长时间正常运行及实现较高的站点可靠性,工程师每天24小时不间断工作,以维持网络在线状态并识别新威胁。冗余、failover 及广阔的数据中心网络是推行平台战略的核心。
4.网络规模 – 随着具体协议和攻击手段的不断转变,Internet DDoS攻击也存在一定的规律。鉴于网络庞大且数据传输范围较广,DDoS防护提供商可以快速有效地分析和响应攻击,通常能够抢先一步阻止攻击。Cloudflare 网络运行的Internet请求约占财富1,000强企业的10%,为分析全球攻击流量数据创造了优势。
这里由于使用的DDoS防护产品比较少,这里简单列举使用过的腾讯云和cloudflare简单说一下。
首先说一下腾讯云,在国内的防护产品有很多,如DDoS高防包,DDoS高防IP,但是腾讯云在海外的防护,比如DDoS高防IP,腾讯云没有足够的资源,就会借用第三方运营商的高防IP来客户使用.这里就会出现几个问题:
1.出现故障难以排查
2.可能造成一些正常的用户无法访问目标真实主机。
由于在项目上出现过以上问题,所以切换到了cloudflare的高防产品上,切换到了cloudflare后,cloudflare会给出一个边缘IP,查询这个IP信息,就会提示为“泛播IP”,简单来说,切换到了cloudflare之后,就没有受到过DDoS的攻击。
当然,类似于云厂商的DDoS防护有很多,如阿里云的云盾,网易、AWS都有自家的DDoS防护产品,这就需要根据各场景的实际使用情况选择。