DDOS攻击主要实现方式及防御手段

DDoS 是互联网上最臭名昭著的一种网络攻击形式,它大约在上个世纪90年代出现,至今活跃已经近20年,其最可怕之处就在于虽然攻击成本很低,但是防御它所需要的成本却很高,造成的损失往往也非常可怕。下面主要介绍两种常见的DDOS攻击模式及其相应的防御措施。

一·SYN FLOOD攻击

此攻击的原理为破环运输层协议的三次握手机制,且基于TCP控制拥塞的机制使后续请求接入服务器的请求产生时延无法被服务器处理,使得服务器瘫痪的一种手段。我们都知道TCP协议都存在三次握手机制,发起攻击者可以通过伪造虚拟的IP地址向目标主机发起大量TCP链接的请求。在第一次握手时攻击者付出SYN包,而后服务器发出“SYN+ACK”包响应,因为其是虚假的IP地址所以第三次的握手:攻击者并不会向服务器再次发送”ACK“包,这使得服务器会向虚假的地址连续发送五次”SYN+ACK”包,此时受攻击主机占用并耗费系统资源,使得提供TCP服务的主机系统无法正常工作,使正常的用户无法接入服务器。

 SYN Flood的目的是占满服务器的连接数,消耗服务器的系统资源。对于服务器自身来说,最直接的做法就是提高服务能力,比如组建集群,升级硬件。但是这种方式成本巨大,且对于海量的攻击报文来说,并没有太大的作用,仅多撑几分钟甚至几秒而已。

所以,必须在这些攻击报文到达服务器之前就进行拦截。然而对于防火墙这类安全设备而言,SYN报文是正常的业务报文,防火墙必须允许其通过,否则服务器就无法对外提供服务。如果能明确虚假源的IP地址,就能通过精细的安全策略阻止这些源发来的SYN报文。但是管理员无法预知哪些是虚假源。即使能分析出虚假源,也无法做到快速、自动地配置或取消安全策略来应对不可预期的攻击流量。此时就需要Anti-DDoS系统的能力了,它部署在网络入口处,在服务器之前处理SYN报文,识别出虚假源,屏蔽来自这些地址的报文,只将合法的SYN报文传递给服务器。Anti-DDoS系统处理SYN报文主要有两种手段,源认证和首包丢弃。源认证就是代替服务器发送SYN+ACK包验证其是否为合法的IP地址。首包丢弃则是将所有第一次接收到的报文统一丢弃,若是虚假报文则被拦截,若是真实地址的报文则会自动尝试第二次链接。

二·UDP FLOOD攻击

UDP是一种不可靠的传输协议,且在发送报文时不会产生链接,宇ATP相比发送报文的速率会更快但是却无法保证报文的完整性,可能会出现丢包的情形。所以其在对传输速率要求比较高的视频通话,邮件发送等方面使用的较多。UDP FLOOD是通过发送大量高速率的UDP报文至攻击的服务器,使得大量UDP报文在服务器端过载导致服务器过载。

主要的防御方式是利用防火墙,对统一虚假的IP地址发送的UDP报文进行拦截;或是对目标服务器检测流量,当发现某一浏览器收到大量UDP报文时防火墙开始工作对传输中的UDP报文及时拦截;当发现有大量报文从统一端口发出时防火墙对其进行拦截。但是防火墙也可能会产生误判的情形,所以如今依靠防火墙进行拦截并不是首选。

另一种方式便是通过指纹学习的方式进行拦截,对于DDOS攻击来说发送的报文很多都有着相同的报文内容,指纹学习便是可以进行抓包检测报文内容进行识别是否是有大量的相同内容的UDP报文,若是则进行拦截。

你可能感兴趣的:(网络,服务器,网络,运维)