Moonsea +

基于CDN平台的DDoS攻击防护

DDoS

漫画告诉你什么是DDoS攻击?

DDoS攻击趋势

UDP多使用大包攻击
syn多使用小包:三次握手,包小量大

Type

如何防御

针对DDoS攻击,目前采用的传统防御措施有以下几种

防火墙

ADS(Anti-DDoS System)

目前各公司的ADS产品防御能力不同,绿盟的ADS目前达到了40G,有些公司比如山石的产品小型机器最高达到了160G,但是一般单台机器很难起到抗DDoS攻击的效果,需要ADS集群才能够真正发挥效用。尽管如此,还存在一些问题

采取的措施

页面静态化
加入刷新频率限制,减少页面刷新

开启服务器syn cookie 防护小流量syn flood
firewall 丢弃恶意IP

交换机/路由器,过滤不需要流量:WEB: UDP/ICMP 防DDoS的ADS

网络出口
网络带宽

WHY

尽管采取了上述种种措施,可是依然无法防御DDoS,这是因为DDoS攻击具有多样性,是一种游击攻击

CDN

内容分发网络

防护

优点

云加速DDoS防护方案

Problem

Solution

一个完整的防御体系,而不是一个简单的防御产品 protection

分散的网络环境

具有国内、国外两个网络环境的云。国内的网络又分为多个小结点和一个大的清洗网络

小站点平时加速 大站点战时防御,T级 防不住扔到国外Global结点

公司合作 成本低

统一决策系统

合作共享 黑名单

全能监控设备

核心交换机进行镜像

TCPFLOW+

攻击发现策略

syn > 10:syn flood,noaml:3:正常访问syn比例占到访问流量的3%,如果比例超过了10%,说明很可能发生了syn flood udp,icmp > 5:访问流量udp,icmp比例超过了5%,说明很可能发生攻击 rst > 10 : ack flood:rst比例超过了10%,很可能发生了ack flood攻击

通过对线上流量比例的分析,能够及早发现攻击

传统DNS调度

一般CDN网络,客户端进行网络服务访问,需要先访问DNS缓存,然后没有命中,再去访问本地的DNS缓存,没有命中的话,继续访问服务器的DNS。

传统CDN网络采用TTL的方法来更新DNS缓存,这样需要修改权威DNS,需要等待本地缓存失败,等待本地缓存失效才能够进行更新,这样周期比较长,可能在源站已经被攻击DOWN掉,DNS还没有更新

DNS缓存 -> 本地DNS -> server DNS 修改权威dns 等待本地缓存失效 等待local dns 缓存失效

无损调度

多样防护策略

CC防御

应用层攻击,不在tcp,ip,udp层进行攻击,直接攻击应用层

开始阶段

定位阶段

触发阶段

回顾

手段和难点

创新防御

不同优先级队列请求源站 感知源站响应能力,适当放行

可疑ip 被攻击url 筛选IP,优先拦截 辅助COOKIE

致谢

谢谢吴昊挺

References

[1]基于CDN平台的DDOS安全防护
[2]DDoS攻击防护

Blog

Opinion

Project