攻击客户端的:
在传统概念里一般提到DDOS一般都是打服务端,其实不然,攻击客户端侧也有类似的攻击。比如说RST洪水攻击!
在已经建立TCP握手的连接中,如果收到对方发来的RST置位的TCP包,该TCP连接将强制断开。正是利用这点,攻击者可以冒充客户端来向服务端发送RST报文以打断客户端与服务端的连接,起到对客户端拒绝服务的目的。但是想要让服务端接受自己伪造的RST报文需要端口号和序列号都对得上才行。大多数环境下攻击者又难以捕获实际流量,此时攻击者就可以利用大量僵尸主机冒充客户端向服务端发送随机的端口号和序列号组合来撞运气,一旦撞对了该客户端就将失去与服务端的连接关系。
三、DDOS的缓解方案
DDOS这种攻击现在谁也不能保证可以100%根治,只能是最大限度的缓解这种攻击带来的影响。常用的缓解DDOS手段有三种:
1、CDN:
CDN技术的初衷其实是为了提高互联网用户对网站静态资源的访问速度。但由于其分布式的特点,用户访问过来的流量其实是分散在不同机房的。同样的,它也能够对分布式拒绝服务攻击的流量产生稀释分散作用。
其实CDN的本质就是在互联网范围内设置多个节点作为代理缓存,并将用户的访问请求导向最近的缓存节点,以减少网络访问延迟的一种技术。
那用户是怎么就被导向最近的缓存节点了呢?这个里面就要用到DNS调度了。在DNS系统中,一个域名会对应一张IP地址表,当收到域名解析请求时,DNS会查看DNS请求的源IP地址,再根绝这个源IP地址来决定将域名解析解析至哪个CDN节点。当CDN节点收到用户的请求时,首先在其缓存内容中寻找用户请求的资源,如果找到则直接返回给用户;如果找不到,则CDN节点会作为代理服务器向源站请求该资源,获取资源后再将结果缓存并返回给用户。
根据这个原理,在发生DDOS时,DNS会将来自不同位置的攻击流量分散到就近位置的CDN节点上,从而达到稀释流量、缓解攻击的效果。
不过这种方式也有两个弱点: 1、如果攻击者攻击的不是域名,而是一个IP的话就没辙了 2、这种技术只适用于静态业务,对于动态业务就没辙了(所以游戏业务往往是DDOS的重灾区)
2、IP_Anycast
IP_Anycast是一种基于路由协议实现负载均衡的技术。在网络中部署多台IP地址相同的服务器,并使用动态路由协议对外进行宣告,此时由于路由开销原因对于请求报文会被网络路由到拓扑中最近的一台服务器上去。
其实IP_Anycast本质上也是通过分布式部署来稀释攻击流量,从而达到缓解DDOS攻击的效果
3、流量清洗系统
在市面上有这样一种流量清洗系统,它一般由DDOS攻击预警模块和DDOS攻击清理集群两部分组成。 攻击预警模块负责攻击发现,攻击清理集群负责流量清洗。
流量清洗系统可以从全部的网络流量中区分出正常流量和恶意流量,然后将恶意流量丢弃,只将正常的流量交付给后端业务服务器。
流量清洗系统部署方式:
在网络入口处部署一个分光器来将流量镜像一份给DDOS攻击预警模块,当攻击预警模块发现攻击流量时将进入机房内的流量牵引至DDOS攻击清理集群进行流量清洗,清洗完后将干净流量再回注至后端业务服务器
清理集群常用的恶意流量检测方式有这么几种:
基于威胁情报的过滤:对数据包的源IP地址进行检查,将其和威胁情报库内的IP进行比对,如果存在于威胁情报库则丢弃相应数据包。