DDoS攻击原理及防御

版权声明:文章可以转载,转载请注明原出处链接 https://blog.csdn.net/pengzhouzhou/article/details/86628469
本文主要介绍了DDoS攻击原理、种类、防御手段的内容。在线游戏,互联网金融等领域是DDoS攻击的高发行业。
上篇文章回顾: 网络工程师眼中的自动化运维

在网上看到这个例子感觉很形象:

我开了一家可容纳100人的老陕羊肉泡馍馆,由于用料上等,童叟无欺,平时门庭若市,生意特别红火。而对面二狗家的泡馍馆却无人问津。二狗为了对付我,想了一个办法,叫了100个人来我泡馍馆坐着却不点菜,让别的客人无法正常吃饭。

上面这个例子讲的就是典型的DDoS攻击,全程是Distributed Denial of Server,翻译成中文就是分布式拒绝服务。一般来说是指攻击者利用DOS攻击源(俗称肉鸡)对目标网站在较短的时间内发起大量请求,大规模消耗目标网站的主机资源,让它无法正常服务。在线游戏、互联网金融等领域是DDoS攻击的高发行业。

DDoS在百度上的定义:分布式拒绝服务(DDoS:Distributed Denial of Service)攻击指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DDoS攻击,从而成倍地提高拒绝服务攻击的威力。通常,攻击者使用一个偷窃帐号将DDoS主控程序安装在一个计算机上,在一个设定的时间主控程序将与大量代理程序通讯,代理程序已经被安装在网络上的许多计算机上。代理程序收到指令时就发动攻击。利用客户/服务器技术,主控程序能在几秒钟内激活成百上千次代理程序的运行。

DDoS的攻击方式有很多种,最基本的DDos攻击就是利用合理的服务请求来占用过多的服务资源,从而使合法用户无法得到服务的响应。单一的DDoS攻击一般是采用一对一方式的,当攻击目标CPU速度低、内存小或者网络带宽小等等各项指标不高的性能,它的效果是明显的。随着计算机与网络技术的发展,计算机的处理能力迅速增长,内存大大增加,同时也出现了千兆级别的网络,这使得DoS攻击的困难程度加大了-目标对恶意攻击包的"消化能力"加强了不少。这时候分布式的拒绝服务攻击手段(DDoS)就应运而生了。DDoS就是利用更多的傀儡机(又称“肉鸡”)来发起进攻,以比从前更大的规模来进攻受害者。

                                      关于DDoS攻击的常见方法

1SYN Flood:

利用TCP协议的原理,这种攻击方法是经典最有效的DDoS方法,可通杀各种系统的网络服务,主要是通过向受害主机发送大量伪造源IP和源端口的SYN或ACK 包,导致主机的缓存资源被耗尽或忙于发送回应包而造成拒绝服务。TCP通道在建立以前,需要三次握手:

(1)客户端发送一个包含SYN标志的TCP报文, 同步报文指明客户端所需要的端口号和TCP连接的初始序列号

(2)服务器收到SYN报文之后,返回一个SYN+ ACK报文,表示客户端请求被接受,TCP初始序列号加1

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

(4)如果服务器端没有收到客户端的确认报文ACK,则处于等待状态,将该客户IP加入等待队列,然后轮训发送SYN+ACK报文。

所以攻击者可以通过伪造大量的TCP握手请求,耗尽服务器端的资源。

2. HTTP Flood:

针对系统的每个Web页面,或者资源,或者Rest API,用大量肉鸡,发送大量http request。这种攻击主要是针对存在ASP、JSP、PHP、CGI等脚本程序,并调用MSSQLServer、MySQLServer、Oracle等数据库的网站系统而设计的,特征是和服务器建立正常的TCP连接,并不断的向脚本程序提交查询、列表等大量耗费数据库资源的调用,典型的以 小博大的攻击方法。缺点是对付只有静态页面的网站效果会大打折扣。

3. 慢速攻击:

Http协议中规定,HttpRequest以\r\n\r\n结尾来表示客户端发送结束。攻击者打开一个Http 1.1的连接,将Connection设置为Keep-Alive, 保持和服务器的TCP长连接。然后始终不发送\r\n\r\n, 每隔几分钟写入一些无意义的数据流, 拖死机器。

4. P2P攻击:

每当网络上出现一个热门事件,比如XX门, 精心制作一个种子, 里面包含正确的文件下载, 同时也包括攻击目标服务器的IP。这样,当很多人下载的时候, 会无意中发起对目标服务器的TCP连接。

                                       DDoS攻击现象判定方法

1.SYN类攻击判断:

(1)CPU占用很高;

(2)网络连接状态:netstat –na,若观察到大量的SYN_RECEIVED的连接状态;C.网线插上后,服务器立即凝固无法操作,拔出后有时可以恢复,有时候需要重新启动机器才可恢复。

2.CC类攻击判断:

(1)网站出现service unavailable提示;

(2)CPU占用率很高;

(3)网络连接状态:netstat –na,若观察到大量的ESTABLISHED的连接状态 单个IP高达几十条甚至上百条;

(4)用户无法访问网站页面或打开过程非常缓慢,软重启后短期内恢复正常,几分钟后又无法访问。

3.UDP类攻击判断:

(1)观察网卡状况 每秒接受大量的数据包;

(2)网络状态:netstat –na TCP信息正常。

4.TCP洪水攻击判断:

(1)CPU占用很高;

(2)netstat –na,若观察到大量的ESTABLISHED的连接状态 单个IP高达几十条甚至上百条

当知道了DDoS攻击的类型和危害之后,就要有效预防它。不做好预防,等危害已经造成才发现,则未免已经太晚。接下来,以基于TCP的DDoS攻击的预防为例,简要阐明。

DDoS攻击的一大特征,是突然产生巨大的攻击流量。借助流量监控设备,可以及时发现异常流量的突现。

                                      主流DDoS防御手段特点

1.高防机房

高防机房采用的是最为传统的DDoS防御方案,通过增加入口带宽并在机房部署DDoS防护设备,基于已知的特征库,对访问服务器的流量进行规则匹配检测,并依靠网络带宽进行清洗来实现防御。

高防机房又分为运营商机房、IDC机房和公有云机房。

2.高防+IP跳变

随着互联网技术的发展,DDoS攻击变得越来越容易,攻击的规模也越来越大。对于传统的高防机房来说,这些意味着更多的网络带宽和更加高昂的防护费用。

因此,在高防机房的基础上,部分厂商推出了高防机房+IP跳变的升级方案,这种方案有几个特点:

(1)端云结合:通过在客户端集成SDK,与云端的分布式的防护节点阵列相结合,共同防御。

(2)中心调度:在防护节点阵列前,有一个调度中心,统一收集客户端SDK发送过来的数据,并根据实时分析结果,动态调度防护节点进行攻击隔离防御。

(3) IP跳变:当一个防护节点的IP被攻击打掉后,调度中心将业务流量调度导入到下一个IP的防护节点,如此循环。当客户购买的所有节点都被攻击瘫痪后,则将流量导入到高防机房防护。

  (4) 分层隔离降低影响:客户自己将终端用户分级,分别对应不同级别的IP地址池,某一个级别的IP遭受攻击时只影响本层级的终端用户,不影响其他级别的用户。

  (5) 资源独享:按照客户购买的防护节点数量,提供相应规模的防护能力。游戏厂商购买的防护节点是资源独享的。

3.全栈云化

随着物联网的发展,肉鸡、僵尸网络和反射型攻击等攻击手段的不断变化发展,网络中的一切设备都可以被黑客利用,形成一次超大规模的DDoS攻击。高防+IP跳变的方案在很大程度上可以缓解DDoS攻击,但却是以牺牲部分用户体验为代价换取。另一方面,这种方案需要高防协同进行防护,始终无法摆脱对防护带宽的依赖与限制,成本较高。

2017年开始,一种新型的全栈云化的DDoS防御方案被提出,这种方案比高防+IP跳变的方案更加智能,更加主动,理论上对防护流量没有上限,主要包括以下特点:

  (1)无高防:摒弃了高防机房的束缚,不依赖带宽资源,全程无硬抗环节。

  (2)端云协同:客户端需要集成SDK,通过SDK与云端防护节点联动进行防御。
相较之前两种方案,全栈云化的方案优点非常明显。

4.高防服务器

还是拿我开的老陕泡馍馆举例,高防服务器就是我给泡馍馆增加了两名保安,这两名保安可以让保护店铺不受流氓骚扰,并且还会定期在店铺周围巡逻防止流氓骚扰。

高防服务器主要是指能独立硬防御 50Gbps 以上的服务器,能够帮助网站拒绝服务攻击,定期扫描网络主节点等,这东西是不错,就是贵。

5.黑名单

面对泡馍馆里面的流氓,我一怒之下将他们拍照入档,并禁止他们踏入店铺,但是有的时候遇到长得像的人也会禁止他进入店铺。这个就是设置黑名单,此方法秉承的就是“错杀一千,也不放一百”的原则,缺点是会封锁正常流量,影响到正常业务。

6.DDoS清洗

DDos 清洗,就是我发现客人进店几分钟以后,但是一直不点餐,我就把他踢出店里。

DDoS 清洗会对用户请求数据进行实时监控,及时发现DOS攻击等异常流量,在不影响正常业务开展的情况下清洗掉这些异常流量。

7.CDN加速

CDN 加速,我们可以这么理解:为了减少流氓骚扰,我干脆将火锅店开到了线上,承接外卖服务,这样流氓找不到店在哪里,也耍不来流氓了。

在现实中,CDN 服务将网站访问流量分配到了各个节点中,这样一方面隐藏网站的真实 IP,另一方面即使遭遇 DDoS 攻击,也可以将流量分散到各个节点中,防止源站崩溃。

8.接入第三方安全防护

目前一些公司针对容易遭受大流量 DDoS 攻击的电商、金融、游戏等类型的客户专门推出的付费增值服务。DDoS 高防节点拥有强大的流量攻击防护能力,并且支持 TCP/UDP 等多种协议,可防护 SYN Flood,ACK Flood 等多种类型的攻击。用户接入服务后,防护平台会识别并将攻击流量引流至高防节点,确保用户业务的可持续使用。

                                        防御DDoS攻击的工具

WAF介绍

WAF(Web Application Firewall)的中文名称叫做“Web应用防火墙”,利用国际上公认的一种说法,WAF的定义是这样的:Web应用防火墙是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的一款产品。通过从上面对WAF的定义中,我们可以很清晰的了解到,WAF是一种工作在应用层的、通过特定的安全策略来专门为Web应用提供安全防护的产品。

根据不同的分类方法,WAF可分为许多种。从产品形态上来划分,WAF主要分为以下三大类:

(1)硬件设备类:目前安全市场上,大多数的WAF都属于此类。它们以一个独立的硬件设备的形态存在,支持以多种方式(如透明桥接模式、旁路模式、反向代理等)部署到网络中为后端的Web应用提供安全防护。相对于软件产品类的WAF,这类产品的优点是性能好、功能全面、支持多种模式部署等,但它的价格通常比较贵。国内的绿盟、安恒、启明星辰等厂商生产的WAF都属于此类。

(2)软件产品类:这种类型的WAF采用纯软件的方式实现,特点是安装简单,容易使用,成本低。但它的缺点也是显而易见的,因为它必须安装在Web应用服务器上,除了性能受到限制外,还可能会存在兼容性、安全等问题。这类WAF的代表有ModSecurity、Naxsi、网站安全狗等。

(3)基于云的WAF:随着云计算技术的快速发展,使得其于云的WAF实现成为可能。国内创新工场旗下的安全宝、360的网站宝是这类WAF的典型代表。它的优点是快速部署、零维护、成本低。对于中、小型的企业和个人站长是很有吸引力的。

本文首发于公众号“小米运维”,点击查看原文

猜你喜欢

转载自blog.csdn.net/pengzhouzhou/article/details/86628469