如何进行 DDoS 防御

随着互联网生态蓬勃发展,也催生了一系列互联网黑灰产业链,互联网的安全问题愈来愈严峻。在 DDoS 攻击日益泛滥的今天,如何进行 DDoS 防御成为了大家研究的热点,本文就 DDoS 攻击现状、分类、DDoS 防御手段等进行了分享。

一、DDoS 攻击现状

从统计分析的数据中可以看到 DDoS 攻击的几个特点:

1. 南方遭受的 DDoS 攻击较多,遭受的攻击最多省份为浙江省;

2. 电信线路 DDoS 攻击规模较大,动辄达到 TB 级别;

3. 攻击的时长上,2/3 的 DDoS 攻击持续时间小于 10 分钟,持续时间在 10 分钟至 1 小时的攻击占比约 30.5%,不到 0.1% 的攻击时长在一小时之上。

二、为什么 DDoS 攻击这么猖獗

  1. 难以溯源。因为从攻击指令发出端,到实际攻击的服务器,中间可能经过了数道跳转,再加上 IP 伪造等技术,查到攻击源头非常困难。对于攻击者来说,目前大部分就是肆无忌惮。想做到 “溯源追凶”,都要投入极高的成本,并且都要经验丰富的攻防专家或团队来实现。对于被攻击者来说,大部分只能被动防护。

  2. DDoS 攻击利益链成熟,攻击成本越来越低。DDoS 攻击地下产业链提供整套的完善的服务,包含各种套餐,其中一个月几十元就可以购买到 DDoS 攻击服务。

  3. DDoS 攻击流量规模逐年增大,一方面是由于个人、企业的带宽都在增加,另一方面智能家居、物联网设备的大批量使用,薄弱的安全防护给力攻击者更多可利用的机会,很容易形成大规模的攻击设备集群。

三、DDoS 攻击分类

DDoS 攻击的分类,从效果上来看,可以分为两种:

第一种,消耗带宽资源的。这类攻击的目标很简单,就是通过大量请求消耗正常的带宽和协议栈处理资源的能力,从而达到服务端无法正常工作的目的。典型的就是反射性的流量攻击。

第二种,就是耗尽服务器的资源的:服务器的连接数、服务器的 CPU、提供域名解析的 DNS 服务器。都属于资源,通过占用服务器资源,使服务器无法对外提供服务,从而达到攻击效果。典型的如 CC 攻击,或者对 DNS 服务器,大规模查询不存在的网址以消耗 DNS 服务器的资源,从而形成间接的对服务器的攻击。

四、DDoS 防御手段

对于 DDoS 攻击,国内目前来看,防护手段不外乎三种:本地化部署安全设备、云端流量清洗、移动运营商的清洗系统及路由黑洞策略。三种防护方法,投入成本、适用场景均有所不同。所以用户还需要根据自身的情况来选择合适的防护方案。

五、xxx盾高效 DDoS 防御策略

xxx盾云抗 D 三部曲:

  1. xx在电信、联通、移动大区入口部署了高防清洗集群;

  2. 高防客户的业务流量,先引流到xx云高防机房进行清洗防护;

  3. 清洗完成后,用户的业务流量,可通过高防 IP 转发回客户源站服务器。

  

接入云抗 D 之前,用户是直接访问服务系统。接入云抗 D 之后,访问数据先到x盾的云清洗的高防机房,流量经过清洗之后,高防机房将正常的业务流量再回传给实际的服务器。

这里有两个前提,首先防护的业务是通过域名来访问的,第二,就是上了高防业务之后,用户系统实际的 IP 要对外隐藏,避免攻击方绕过云清洗系统直接攻击 IP。

在实际的防护过程中,流量要经过数道清洗。在检测的方式上,主要是通过阈值和数据特征以及行为分析等算法模型来进行检测,如:客户端真实性验证等、黑名单、ACL 管控、流量限速的方式。

xxx盾云抗 D 服务,对于四层攻击、七层攻击,能够进行全面的检测和防护。在策略配置上,预置有多套模板,可以根据业务具体情况来进行针对性的配置,并且支持向导性配置。在业务流量状态展示上,支持多种维度的图形界面展示。  

在整体的防护能力上,目前xxx盾,支持三线运营商的业务防护。提供 2T 的超大带宽防护,SLA 可用性达到 99.9%。业务接入抗 D 后,延迟时间在 100MS 以内。

xxx盾DDoS 防御优势总结:

DDoS 防御:可对畸形包进行有效拦截,抵御 SYN Flood、ACK Flood、ICMPFlood、UDP Flood、NTP Flood 、SSDPFlood、DNS Flood 等 4 层攻击。

CC 防护:通过 JS 验证、浏览器指纹、ACL 等技术有效抵御 CC 攻击、HTTPFlood 等 7 层攻击。

容器隔离:针对不同高防 IP 分配独立的清洗容器,不同容器间相互隔离,保障不同高防 IP 间互不影响。

弹性防护:选择弹性防护后,当受到的攻击超过基础防护峰值时,业务仍将继续得到xxx盾的防护。

六、x易DDoS 防护体系最佳实践

x易分布式 DDoS 防护体系简称为 NDS,经过多年的不断积累和改进,NDS 在防护配置和防护效果方面日臻完善。

NDS 组成原理

当部署在企业内部时,NDS 的组成及原理如下图所示。NDS 产品主要由异常流量检测、异常流量清洗两个系统组成。

工作流程有 4 步:流量检测、流量牵引、流量清洗、流量回注。

当部署在第三方 IDC 机房时,NDS 产品的组成及原理如下图所示。

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 名单。

除上述方法之外,NDS 产品应用防护层还提供了深度定制防护方式:清洗插件,允许在 NDS 软件运行客户的清洗逻辑。

防护算法

NDS 内置了多种防护算法,目前各种算法单独工作时的可用性指标如下:

1、畸形包丢弃:对特定格式的 IP/TCP/ICMP 报文进行丢弃,成功率接近 100%;

2、SYN Reset 认证:用于过滤 SYN Flood,成功率 95%,源 IP 首次建 TCP 连接会延迟 1-3 秒;

3、SYN Cookie 认证:用于过滤 SYN Flood,成功率接近 100%,通用高防的 SYN Flood 的默认防护策略;

4、TCP 状态机过滤:用于过滤 ACK/Fin/Reset Flood,防护阈值配置正确时,成功率 100%;

5、UDP 状态机过滤:用于过滤 UDP Flood,对于双向 UDP 业务,成功率 95,单向成功率 50%;

6、HTTP JS 反射验证:用于过滤 HTTP Flood,改进模型的成功率 96%,可能对验证码 URI 会有误杀;

7、浏览器指纹:用于 HTTP Flood,成功率 90%;

8、地域开关过滤:用于过滤 CC,和其他开关清洗不掉的 DDoS 流量,成功率 75%;

9、大数据分析结果校验:用于过滤 CC,和其他开关清洗不掉的 DDoS 流量,成功率 70%;

10、黑 / 白名单过滤:用于过滤 CC,防护阈值配置正确时,成功率 80%;

11、限速:有很多种类型的限速,一般用于其他开关清洗不掉的 DDoS 流量。

静态开关

静态开关是由用户 (或易盾安全专家) 配置的,NDS 软件会依据配置值预设清洗策略。

动态开关

动态开关是由 NDS 软件按照 DDoS 攻击特征和客户指定的阈值,动态打开关闭的,用户只能看不能改,但可以通过修改与之关联的防护阈值来间接改变它。

由于复合型 DDoS 攻击非常常见,因此发生 DDoS 时开启多个动态开关是常态。当前时刻和历史任意时刻的动态开关可以通过 “清洗效果分析系统” 的 app_SW 成员来查看,如下图所示。

动态开关通常会因 DDoS 流量的成分的变化而变化,且反应速度很快。其中 SYN 认证开关的反应时间为≤50 毫秒,其他动态开关的反应时间为≤1 秒。

动态开关依据成功率以及开销的不同,划分为若干个级别。NDS 软件会参考客户的配置值,优先选择成功率高、开销小的算法。当无法满足需求(例如检测到有严重误杀) 时,会自动叠加成功率低的算法。

原文地址 dun.163.com