流量放大
流量放大是DDoS中常用的技术手段,基本原理相对简单。对于一个C/S服务,如果Server到Client的Reponse报文比Client到Server的request报文更大,则实现了流量的放大。为了在DDoS中使用放大技术还需要满足一个条件,即Server提供的服务是基于UDP这样的无连接协议。
如图1所示,Server端提供某种基于UDP(理论上raw ip也可以)的服务,例如DNS、SMTP、NTP等,找到一些请求,其中Reponse报文比Request报文大,利用这些可以放大的请求,Attacker发送一个伪造源IP的Request报文,源IP伪造成受害者的IP地址,Server收到Request报文后向受害者回复“放大的”Reponse报文,这样就实现了流量的放大。
下表列举了一些经常用于反射型DDoS攻击的协议及其放大倍数。
协议 | 放大倍数 |
---|---|
DNS | 28~54 |
NTP | 556.9 |
SNMPv2 | 6.3 |
NetBIOS | 3.8 |
SSDP | 30.8 |
CharGen | 358.8 |
QOTD | 140.3 |
BitTorrent | 3.8 |
Kad | 16.3 |
Quake Nework Protocol | 63.9 |
Stream Protocol | 5.5 |
NTP流量放大
NTP(Network Time Protocol)是一个常见的协议,用于提供时间同步服务。它是典型的基于UDP的协议,这个协议相当古老,在最初的设计中也没有考虑到认证,所以是一个理想的黑客利用对象。
从上表我们看到NTP可以实现556.9倍的放大效果,这来自于NTP的monlist命令。NTP monlist命令用来查询最近所有和Server通信的记录,服务器返回最多600个通信记录,这个倍数非常巨大,而在互联网上有大量的NTP服务器,可以通过僵尸网络分布式查询、放大。
如上图所示,Server端提供NTP服务,Attacker发送了一个NTP monlist Request给Server,但其源IP地址不是自己的IP地址,而是攻击对象Target的IP地址,Server收到请求后会向Target(而不是Attacker)发送Reponse报文。由于Reponse包含了和Server的600条时间同步记录,比Request大很多,是由很多报文组成的,因此实现了放大。
对抗——使用CDN服务
1.CDN回源到云服务器或者回源到负载均衡IP。
这对于提供动态服务的网站比较适用,可以配置CDN的回源规则,让动态的请求被CDN缓存0秒,静态的请求 被CDN长时间缓存,从而在隐藏服务器IP的同时还能实现动静分离。
2.SCDN
SCDN(Secure Content Delivery Network),即拥有安全防护能力的CDN服务,提供稳定加速的同时,智能预判攻击行为,通过智能的调度系统将DDoS攻击请求切换至高防IP完成清洗,而真正用户的请求则正常从加速节点获取资源。加速节点的分布式架构还同时具备防CC攻击的能力,真正达到加速和安全兼顾。
传统的CDN加速服务无法抵御大规模的DDoS、CC攻击。单独使用高防IP保护源站的方式又无法兼顾加速。但是例如 游戏、金融、政企安防、电商、医疗领域 等易受攻击又必须兼顾加速的业务场景,需要既有高防能力又拥有稳定高效的全链路加速的安全CDN服务。
购买SCDN服务后进入控制台,添加域名、配置CNAME后即可享受一站式安全和加速的整体解决方案。(详细步骤请参考 SCDN快速入门。)