ddos攻击原理与防御方法_ddos攻击原理及防护

hacker|
163

什么是DDoS流量攻击,主要的防御方式方法有哪些?

DDoS流量攻击全称:Distributed denial of service attack,中文翻译为分布式拒绝服务攻击,根据首字母简称为DDoS,因为DDoS流量攻击来势凶猛,持续不断,连绵不绝,因此在中国又叫洪水攻击。DDoS流量攻击是目前网络上最常见的手段,主要是公共分布式合理服务请求来昂被攻击者的服务器资源消耗殆尽,导致服务器服务提供正常的服务,这种方式说白了就是增大服务器的访问量,使其过载而导致服务器崩溃或者瘫痪。好比双十一期间大量的用户使用淘宝,使用的人数过多导致淘宝无法快速运转,并且出现页面瘫痪的情况。

DDoS流量攻击,可以分为,带宽消耗型和资源消耗型两种大的层次,从网络占用到目标硬件性能占用,以达到目标服务器网络瘫痪、系统崩溃的最终目的。下面为大家列举一些比较常用的DDoS流量攻击的方式。

死亡之PING:

死亡之PING即是ping of death,或者叫做死亡之平,也被翻译为死亡天平,这种攻击方式主要以通过TCP/IP协议进行DDoS流量攻击,这种类型的攻击方式主要是通过向服务器发送数据包片段大小超过TCP/IP协议的规定大小的数据包,让服务器系统无法正常进行处理从而导致崩溃,而这些数据包最大字节为6,5535字节。

CC攻击:

CC(Challenge Collapsar),意为挑战黑洞,利用大量的肉鸡(免费代理服务器)向目标服务器发送大量看似合法的的请求,从而不断利用被攻击服务器的资源进行重来这边请求,让其资源不断被消耗,当服务器的资源被消耗殆尽用户就无法正常访问服务器获取服务器的响应,在cc攻击过程中,能够感觉到服务器的稳定性在不断的变差直至服务器瘫痪。应。

UDP洪水攻击:

UDP:用户数据包协议(User Datagram Protocol floods),一种无连接协议,主要是通过信息交换过程中的握手原则来实现攻击,当通通过UDP发送数据时,三次的数据握手验证无法正常进行,导致大量数据包发送给目标系统时无法进行正常的握手验证,从而导致带宽被占满而无法让正常用户进行访问,导致服务器瘫痪或者崩溃。

而目前市场上常用来对付这些DDoS流量攻击的防护方式有以下几种:

目前常见的DDoS流量攻击防护是利用多重验证。入侵检测以及流量过滤等方式对因为攻击造成堵塞的带宽进行流量过滤让正常的流量能够正常的访问到目标服务器,从而维持服务器的正常运行。

流量清洗也就是让服务器所有的访问流量通过高防DDoS攻击流量清洗中心,通过高防的各种防护策略对正常流量和恶意流量被区分清洗过滤,将恶意流量阻挡住在服务器之外,让正常流量能够正常的访问,恶意流量则被禁止从而实现过滤。

防火墙是最常见DDoS流量攻击防护装置,防火墙的访问规则能够灵活定义,通过修改规则以实现允许或拒绝特定的通讯协议进入服务器,无论是端口还是IP地址,发现目标IP出现异常,那么直接阻断IP源的一切通信,即便是较为复杂的端口遭受到攻击,依旧能够有效的进行DDoS流量攻击防护。

锐速云告诉大家虽然近些年DDoS流量攻击呈现下降的趋势,但是不可否认目前仍是一个非常大的网络安全威胁,并且随着技术的发展,一些新型的DDoS流量攻击,仍在网络安全的战场上活跃着,如认为是一种Mirai变体的0x-booter。随着新的互联网技术和设备的变革和投入,不少黑客仍不断的更新完善DDoS流量攻击,因此在这个DDoS流量攻击防护的战场上,作为网络安全防护人员技术仍需要不断的更新变革。

什么是DDOS攻击?如何防御攻击

DDoS(Distributed Denial of Service,分布式拒绝服务)

定义:

主要通过大量合法的请求占用大量网络资源,从而使合法用户无法得到服务的响应,是目前最强大、最难防御的攻击之一。

一、什么是DDOS攻击?

DDoS也就是分布式拒绝服务攻击。它使用与普通的拒绝服务攻击同样的方法,但是发起攻击的源是多个。通常攻击者使用下载的工具渗透无保护的主机,当获得该主机的适当的访问权限后,攻击者在主机中安装软件的服务或进程(以下简侈怔理)。这些代理保持睡眠状态,直到从它们的主控端得到指令,对指定的目标发起拒绝服务攻击。

二、如何确认自己受到DDOS攻击?

在系统上执行:

netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

执行后,将会显示服务器上所有的每个IP多少个连接数。

每个IP几个、十几个或几十个连接数都还算比较正常,如果像上面成百上千肯定就不正常了。

三、防范DDOS攻击的方法:

一些常用的防DDOS攻击的方法,罗列如下:

1.增加硬件防火墙和增加硬件设备来承载和抵御DDOS攻击,最基本的方法,但成本比较高。

2.修改SYN设置抵御SYN攻击:

SYN攻击是利用TCP/IP协议3次握手的原理,发送大量的建立连接的网络包,但不实际建立连接,最终导致被攻击服务器的网络队列被占满,无法被正常用户访问。

Linux内核提供了若干SYN相关设置,使用命令:

sysctl -a | grep syn

3.安装iptables对特定ip进行屏蔽。

A.安装iptables和系统内核版本对应的内核模块kernel-smp-modules-connlimit

B. 配置相应的iptables规则

Ddos攻击原理是什么

DDOS也被叫做分布式拒绝服务,全名为Distributed Denial of Service,原是利用合理的请求造成资源过载,导致服务不可用,从而造成服务器拒绝正常流量服务。

举个栗子,酒店的房间都是有固定数量的,比如有50个房间,当都住满人了之后,再有新的用户想住进来,就必须要等之前的用户出去,如果用户不出去,那就无法来新客户,也就导致酒店负荷过载,这种情况就是"拒绝服务",如果想继续提供资源,那酒店就应该提高自己的资源量,服务器亦是如此。

拒绝服务是指应用系统无法正常对外提供服务的状态,如网络阻塞、系统宕机、响应缓慢等都属于拒绝服务的表现。

拒绝服务攻击(DOS):是一种通过各种技术手段导致目标系统进入拒绝服务状态的攻击,常见手段包括利用漏洞、消耗应用系统性能和消耗应用系统带宽。

分布式拒绝服务攻击(DDOS):是拒绝服务攻击的高级手段,利用分布全球的僵尸网络发动攻击,能够产生大规模的拒绝服务攻击。

漏洞型:只对具备特定漏洞的目标有效,通常发送特定数据包或少量的数据包即可达到攻击效果;

业务型(消耗业务系统性能额为主):与业务类型高度相关,需要根据业务系统的应用类型采取对应的攻击手段才能达到效果,通常业务型攻击实现效果需要的流量远低于流量型;

流量型(消耗带宽资源为主):主要以消耗目标业务系统的带宽资源为攻击手段,通常会导致网络阻塞,从而影响正常业务。

如何有效防御DDOS攻击?

11种方法教你有效防御DDOS攻击:

1、采用高性能的网络设备

首先要保证网络设备不能成为瓶颈,因此选择路由器、交换机、硬件防火墙等设备的时候要尽量选用知名度高、口碑好的产品。再就是假如和网络提供商有特殊关系或协议的话就更好了,当大量攻击发生的时候请他们在网络接点处做一下流量限制来对抗某种类的DDOS攻击是非常有效的。

2、尽量避免NAT的使用

无论是路由器还是硬件防护墙设备要尽量避免采用网络地址转换NAT的使用,因为采用此技术会较大降低网络通信能力,其实原因很简单,因为NAT需要对地址来回转换,转换过程中需要对网络包的校验和进行计算,因此浪费了很多CPU的时间,但有些时候必须使用NAT,那就没有好办法了。

3、充足的网络带宽保证

网络带宽直接决定了能抗受攻击的能力,假若仅仅有10M带宽的话,无论采取什么措施都很难对抗现在的SYNFlood攻击,当前至少要选择100M的共享带宽,最好的当然是挂在1000M的主干上了。但需要注意的是,主机上的网卡是1000M的并不意味着它的网络带宽就是千兆的,若把它接在100M的交换机上,它的实际带宽不会超过100M,再就是接在100M的带宽上也不等于就有了百兆的带宽,因为网络服务商很可能会在交换机上限制实际带宽为10M,这点一定要搞清楚。

4、升级主机服务器硬件

在有网络带宽保证的前提下,请尽量提升硬件配置,要有效对抗每秒10万个SYN攻击包,服务器的配置至少应该为:P42.4G/DDR512M/SCSI-HD,起关键作用的主要是CPU和内存,若有志强双CPU的话就用它,内存一定要选择DDR的高速内存,硬盘要尽量选择SCSI的,别贪图IDE价格不贵量还足的便宜,否则会付出高昂的性能代价,再就是网卡一定要选用3COM或Intel等名牌的,若是Realtek的还是用在自己的PC上吧。

5、将网站做成静态页面或者伪静态

事实证明,将网站做成静态页面,不仅能大大提高抗攻击能力,而且还给黑客入侵带来不少麻烦,至少到现在为止关于HTML的溢出还没出现。现在很多门户网站主要都是静态页面,若你非要动态脚本调用,那就把它弄到另外一个单独主机,免的遭受攻击时连累主服务器。当然,适当放一些不做数据库调用脚本还是可以的,此外,最好在需要调用数据库的脚本中拒绝使用代理的访问,因为经验表明使用代理访问你网站的80%属于恶意行为。

6、增强操作系统的TCP/IP栈

win2000和win2003作为服务器操作系统,本身就具备一定的抵抗DDOS攻击的能力,只是默认状态下没有开启而已,若开启的话可抵抗约10000个SYN攻击包,若没有开启则仅能抵抗数百个。

7、安装专业抗DDOS防火墙

8、HTTP请求拦截

如果恶意请求有特征,对付起来很简单,直接拦截就可以。HTTP请求的特征一般有两种:IP地址和User Agent字段。

9、备份网站

你要有一个备份网站,或者最低限度有一个临时主页。生产服务器万一下线了,可以立刻切换到备份网站,不至于毫无办法。

备份网站不一定是全功能的,如果能做到全静态浏览,就能满足需求,最低限度应该可以显示公告,告诉用户,网站出了问题,正在抢修。这种临时主页建议放到Github

Pages或者Netlify,它们的带宽大,可以应对攻击,而且都支持绑定域名,还能从源码自动构建。

10、部署CDN

CDN指的是网站的静态内容分布到多个服务器,用户就近访问,提高速度。因此,CDN也是带宽扩容的一种方法,可以用来防御DDOS攻击。

网站内容存放在源服务器,CDN上面是内容的缓存。用户只允许访问CDN,如果内容不在CDN上,CDN再向源服务器发出请求。这样的话,只要CDN够大,就可以抵御很大的攻击。不过,这种方法有一个前提,网站的大部分内容必须可以静态缓存。对于动态内容为主的网站,就要想别的办法,尽量减少用户对动态数据的请求;本质就是自己搭建一个微型CDN。各大云服务商提供的高防IP,背后也是这样做的:网站域名指向高防IP,它提供了一个缓冲层,清洗流量,并对源服务器的内容进行缓存。

这里有一个关键点,一旦上了CDN,千万不要泄露源服务器的IP地址,否则攻击者可以绕过CDN直接攻击源服务器,前面的努力都白费了。

11、其他防御手段

以上的几条建议,适合绝大多数拥有自己主机的用户,但假如采取以上措施后仍然不能解决DDOS问题,就比较麻烦了,可能需要更多投资,增加服务器数量并采用DNS轮巡或负载均衡技术,甚至需要购买七层交换机设备,从而使得抗DDOS攻击能力成倍提高,只要投资足够深入。

DDOS几种常见攻击方式的原理及解决办法

DOS的表现形式

DDOS的表现形式主要有两种,一种为流量攻击,主要是针对网络带宽的攻击,即大量攻击包导致网络带宽被阻塞,合法网络包被虚假的攻击包淹没而无法到达主机;另一种为资源耗尽攻击,主要是针对服务器主机的攻击,即通过大量攻击包导致主机的内存被耗尽或CPU被内核及应用程序占完而造成无法提供网络服务。

如何判断网站是否遭受了流量攻击呢?可通过Ping命令来测试,若发现Ping超时或丢包严重(假定平时是正常的),则可能遭受了流量攻击,此时若发现和你的主机接在同一交换机上的服务器也访问不了了,基本可以确定是遭受了流量攻击。当然,这样测试的前提是你到服务器主机之间的ICMP协议没有被路由器和防火墙等设备屏蔽,否则可采取Telnet主机服务器的网络服务端口来测试,效果是一样的。不过有一

点可以肯定,假如平时Ping你的主机服务器和接在同一交换机上的主机服务器都是正常的,突然都Ping不通了或者是严重丢包,那么假如可以排除网络故障因素的话则肯定是遭受了流量攻击,再一个流量攻击的典型现象是,一旦遭受流量攻击,会发现用远程终端连接网站服务器会失败。

相对于流量攻击而言,资源耗尽攻击要容易判断一些,假如平时Ping网站主机和访问网站都是正常的,发现突然网站访问非常缓慢或无法访问了,而Ping还可以Ping通,则很可能遭受了资源耗尽攻击,此时若在服务器上用Netstat -na命令观察到有大量的SYN_RECEIVED、TIME_WAIT、FIN_WAIT_1等状态存在,而ESTABLISHED很少,则可判定肯定是遭受了资源耗尽攻击。还有一种属于资源耗尽攻击的现象是,Ping自己的网站主机Ping不通或者是丢包严重,而Ping与自己的主机在同一交换机上的服务器则正常,造成这种原因是网站主机遭受攻击后导致系统内核或某些应用程序CPU利用率达到100%无法回应Ping命令,其实带宽还是有的,否则就Ping不通接在同一交换机上的主机了。

当前主要有三种流行的DDOS攻击:

1、SYN/ACK Flood攻击:这种攻击方法是经典最有效的DDOS方法,可通杀各种系统的网络服务,主要是通过向受害主机发送大量伪造源IP和源端口的SYN或ACK包,导致主机的缓存资源被耗尽或忙于发送回应包而造成拒绝服务,由于源都是伪造的故追踪起来比较困难,缺点是实施起来有一定难度,需要高带宽的僵尸主机支持。少量的这种攻击会导致主机服务器无法访问,但却可以Ping的通,在服务器上用Netstat -na

命令会观察到存在大量的SYN_RECEIVED状态,大量的这种攻击会导致Ping失败、TCP/IP栈失效,并会出现系统凝固现象,即不响应键盘和鼠标。普通防火墙大多无法抵御此种攻击。

2、TCP全连接攻击:这种攻击是为了绕过常规防火墙的检查而设计的,一般情况下,常规防火墙大多具备过滤TearDrop、Land等DOS攻击的能力,但对于正常的TCP连接是放过的,殊不知很多网络服务程序(如:IIS、Apache等Web服务器)能接受的TCP连接数是有限的,一旦有大量的TCP连接,即便是正常的,也会导致网站访问非常缓慢甚至无法访问,TCP全连接攻击就是通过许多僵尸主机不断地与受害服务器建立大量 的TCP连接,直到服务器的内存等资源被耗尽而被拖跨,从而造成拒绝服务,这种攻击的特点是可绕过一般防火墙的防护而达到攻击目的,缺点是需要找很多僵尸主机,并且由于僵尸主机的IP是暴露的,因此容易被追踪。

3、刷Script脚本攻击:这种攻击主要是针对存在ASP、JSP、PHP、CGI等脚本程序,并调用MSSQLServer、MySQLServer、Oracle等数据库的网站系统而设计的,特征是和服务器建立正常的TCP连接,并不断的向脚本程序提交查询、列表等大量耗费数据库资源的调用,典型的以小博大的攻击方法。一般来说,提交一个GET或POST指令对客户端的耗费和带宽的占用是几乎可以忽略的,而服务器为处理此请求却可能要从上万条记录中去查出某个记录,这种处理过程对资源的耗费是很大的,常见的数据库服务器很少能支持数百个查询指令同时执行,而这对于客户端来说却是轻而易举的,因此攻击者只需通过Proxy代理向主机服务器大量递交查询指令,只需数分钟就会把服务器资源消耗掉而导致拒绝服务,常见的现象就是网站慢如蜗牛、ASP程序失效、PHP连接数据库失败、数据库主程序占用CPU偏高。这种攻击的特点是可以完全绕过普通的防火墙防护,轻松找一些Proxy代理就可实施攻击,缺点是对付只有静态页面的网站效果会大打折扣,并且有些Proxy会暴露攻击者的IP地址。

完全抵御住DDOS攻击是不可能的

对付DDOS是一个系统工程,想仅仅依靠某种系统或产品防住DDOS是不现实的,可以肯定的是,完全杜绝DDOS目前是不可能的,但通过适当的措施抵御90%的DDOS攻击是可以做到的,基于攻击和防御都有成本开销的缘故,若通过适当的办法增强了抵御DDOS的能力,也就意味着加大了攻击者的攻击成本,那么绝大多数攻击者将无法继续下去而放弃,也就相当于成功的抵御了DDOS攻击。

以下几点是防御DDOS攻击几点:

1、采用高性能的网络设备

首先要保证网络设备不能成为瓶颈,因此选择路由器、交换机、硬件防火墙等设备的时候要尽量选用知名度高、口碑好的产品。再就是假如和网络提供商有特殊关系或协议的话就更好了,当大量攻击发生的时候请他们在网络接点处做一下流量限制来对抗某些种类的DDOS攻击是非常有效的。

2、充足的网络带宽保证

网络带宽直接决定了能抗受攻击的能力,假若仅仅有10M带宽的话,无论采取什么措施都很难对抗现在的SYNFlood攻击,当前至少要选择100M的共享带宽,最好的当然是挂在1000M的主干上了。

但需要注意的是,主机上的网卡是1000M的并不意味着它的网络带宽就是千兆的,若把它接在100M的交换机上,它的实际带宽不会超过100M,再就是接在100M的带宽上也不等于就有了百兆的带宽,因为网络服务商很可能会在交换机上限制实际带宽为10M,这点一定要搞清楚。

3、安装专业抗DDOS防火墙

专业抗DDOS防火墙采用内核提前过滤技术、反向探测技术、指纹识别技术等多项专利技术来发现和提前过滤DDoS非法数据包,做到了智能抵御用户的DoS攻击。但也不能100%阻止对DDoS非法数据包准确检查。

有哪些防护措施可以解决DDOS攻击?

Dos拒绝服务攻击是通过各种手段消耗网络带宽和系统CPU、内存、连接数等资源,直接造成网络带宽耗尽或系统资源耗尽,使得该目标系统无法为正常用户提供业务服务,从而导致拒绝服务。

常规流量型的DDos攻击应急防护方式因其选择的引流技术不同而在实现上有不同的差异性,主要分为以下三种方式,实现分层清洗的效果。

1. 本地DDos防护设备

一般恶意组织发起DDos攻击时,率先感知并起作用的一般为本地数据中心内的DDos防护设备,金融机构本地防护设备较多采用旁路镜像部署方式。

本地DDos防护设备一般分为DDos检测设备、清洗设备和管理中心。首先,DDos检测设备日常通过流量基线自学习方式,按各种和防御有关的维度:

比如syn报文速率、http访问速率等进行统计,形成流量模型基线,从而生成防御阈值。

学习结束后继续按基线学习的维度做流量统计,并将每一秒钟的统计结果和防御阈值进行比较,超过则认为有异常,通告管理中心。

由管理中心下发引流策略到清洗设备,启动引流清洗。异常流量清洗通过特征、基线、回复确认等各种方式对攻击流量进行识别、清洗。

经过异常流量清洗之后,为防止流量再次引流至DDos清洗设备,可通过在出口设备回注接口上使用策略路由强制回注的流量去往数据中心内部网络,访问目标系统。

2. 运营商清洗服务

当流量型攻击的攻击流量超出互联网链路带宽或本地DDos清洗设备性能不足以应对DDos流量攻击时,需要通过运营商清洗服务或借助运营商临时增加带宽来完成攻击流量的清洗。

运营商通过各级DDos防护设备以清洗服务的方式帮助用户解决带宽消耗型的DDos攻击行为。实践证明,运营商清洗服务在应对流量型DDos攻击时较为有效。

3. 云清洗服务

当运营商DDos流量清洗不能实现既定效果的情况下,可以考虑紧急启用运营商云清洗服务来进行最后的对决。

依托运营商骨干网分布式部署的异常流量清洗中心,实现分布式近源清洗技术,在运营商骨干网络上靠近攻击源的地方把流量清洗掉,提升攻击对抗能力。

具备适用场景的可以考虑利用CNAME或域名方式,将源站解析到安全厂商云端域名,实现引流、清洗、回注,提升抗D能力。进行这类清洗需要较大的流量路径改动,牵涉面较大,一般不建议作为日常常规防御手段。

总结

以上三种防御方式存在共同的缺点,由于本地DDos防护设备及运营商均不具备HTTPS加密流量解码能力,导致针对HTTPS流量的防护能力有限;

同时由于运营商清洗服务多是基于Flow的方式检测DDos攻击,且策略的颗粒度往往较粗,因此针对CC或HTTP慢速等应用层特征的DDos攻击类型检测效果往往不够理想。

对比三种方式的不同适用场景,发现单一解决方案不能完成所有DDos攻击清洗,因为大多数真正的DDos攻击都是“混合”攻击(掺杂各种不同的攻击类型)。

比如:以大流量反射做背景,期间混入一些CC和连接耗尽,以及慢速攻击。这时很有可能需要运营商清洗(针对流量型的攻击)先把80%以上的流量清洗掉,把链路带宽清出来;

在剩下的20%里很有可能还有80%是攻击流量(类似CC攻击、HTTP慢速攻击等),那么就需要本地配合进一步进行清洗。

0条大神的评论

发表评论