DDos***种类,原理,简单预防

 

DDoS***基础

DDoS(Distributed Denial of service,分布式拒绝服务)***的主要目的是让指定目标无法提供正常服务,甚至从互联网上消失,是目前最强大、最难防御的***之一。

DDos 主要分类:

SYN Flood***,DNS Query Flood***,HTTP Flood ***

 

1  SYN Flood***

SYN Flood***利用了TCP三次握手的缺陷,能够以较小代价使目标服务器无法响应,且难以追查,

三次握手过程如下:

1 客户端发送一个包含SYN标志的TCP报文,报文会指明客户端端口以及TCP连接的初始序号。

2 服务器收到报文后,会返回一个SYN+ACK报文给客户端,表示客户端的请求已经被服务器接收,同时TCP初始化序号自动加一

3 客户端也会返回一个确认报文ACK 给服务器,同样TCP序列号也自动加一

这样tcp 连接就建立完成了。

***原理:

击者伪装大量的IP地址给服务器发送SYN报文,由于伪造的IP地址几乎不可能存在,也就几乎没有设备会给服务器返回任何应答了。因此,服务器将会维持一个庞大的等待列表,不停的重试发送SYN+ACK报文,同时占用着大量的资源无法释放。更关键的是,被***服务器的SYN_RECV队列被恶意的数据包占满,不再接受新的SYN请求,合法用户无法完成三次握手建立起TCP连接。也就是说,这个服务器被SYN Flood拒绝服务了。

预防:

SYN Flood***大量消耗服务器的CPU、内存资源,并占满SYN等待队列。相应的,我们修改内核参数即可有效缓解。主要参数如下:

net.ipv4.tcp_syncookies = 1

net.ipv4.tcp_max_syn_backlog = 8192

net.ipv4.tcp_synack_retries = 2

分别为启用SYN Cookie、设置SYN最大队列长度以及设置SYN+ACK最大重试次数

 

2 DNS Query Flood***

***原理:

DNS Query Flood就是***者操纵大量傀儡机器,对目标发起海量的域名查询请求

预防:

DNS***防御也有类似HTTP的防御手段,第一方案是缓存。其次是重发,可以是直接丢弃DNS报文导致UDP层面的请求重发,可以是返回特殊响应强制要求客户端使用TCP协议重发DNS查询请求。

特殊的,对于授权域DNS的保护,设备会在业务正常时期提取收到的DNS域名列表和ISP DNS IP列表备用,在***时,非此列表的请求一律丢弃,大幅降低性能压力。对于域名,实行同样的域名白名单机制,非白名单中的域名解析请求,做丢弃处理。

 

3 HTTP Flood ***

***原理:

***者并不需要控制大批的傀儡机,取而代之的是通过端口扫描程序在互联网上寻找匿名的HTTP代理或者SOCKS代理,***者通过匿名代理对***目标发起HTTP请求。匿名代理是一种比较丰富的资源,花几天时间获取上午的代理并不是难事,因此***容易发起而且可以长期高强度的持续。

预防:

1 HTTP Flood***防御主要通过缓存的方式进行,尽量由设备的缓存直接返回结果来保护后端业务。大型的互联网企业,会有庞大的CDN节点缓存内容。

2 javascript跳转人机识别方案

当清洗设备截获到HTTP请求时,返回一段特殊Javascript代码,正常用户的浏览器会处理并正常跳转不影响使用,而***程序会***到空处。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章