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网络攻击的类型有哪些
主要几个攻击类型:
TCP全连接攻击
和SYN攻击不同,它是用合法并完整的连接攻击对方,SYN攻击采用的是半连接攻击方式,而全连接攻击是完整的,合法的请求,防火墙一般都无法过滤掉这种攻击,这种攻击在现在的DDOS软件中非常常见,有UDP碎片还有SYN洪水,甚至还有TCP洪水攻击,这些攻击都是针对服务器的常见流量攻击
59.50.179.84:2900 220.181.6.18:80 ESTABLISHED
59.50.179.84:2901 220.181.6.18:80 ESTABLISHED
59.50.179.84:2902 220.181.6.18:80 ESTABLISHED
59.50.179.84:2903 220.181.6.18:80 ESTABLISHED
通过这里可以看出59.50.179.84这个IP对220.181.6.18这台服务器的80端口发动TCP 全连接攻击,通过大量完整的TCP链接就有可能让服务器的80端口无法访问。
SYN变种攻击:发送伪造源IP的SYN数据包,但是数据包不是64字节而是上千字节,这种攻击会造成一些防火墙处理错误锁死,消耗服务器CPU内存的同时还会堵塞带宽。
TCP混乱数据包攻击
发送伪造源IP的 TCP数据包,TCP头的TCP Flags 部分是混乱的可能是syn,ack,syn+ack,syn+rst等等,会造成一些防火墙处理错误锁死,消耗服务器CPU内存的同时还会堵塞带宽。
用UDP协议的攻击
很多聊天室,视频音频软件,都是通过UDP数据包传输的,攻击者针对分析要攻击的网络软件协议,发送和正常数据一样的数据包,这种攻击非常难防护,一般防护墙通过拦截攻击数据包的特征码防护,但是这样会造成正常的数据包也会被拦截。
WEB Server多连接攻击
通过控制大量肉鸡同时连接访问网站,造成网站瘫痪,这种攻击和正常访问网站是一样的,只是瞬间访问量增加几十倍甚至上百倍,有些防火墙可以通过限制每个连接过来的IP连接数来防护,但是这样会造成正常用户稍微多打开几次网站也会被封。
WEB Server变种攻击
通过控制大量肉鸡同时连接访问网站,一点连接建立就不断开,一直发送一些特殊的GET访问请求造成网站数据库或者某些页面耗费大量的CPU,这样通过限制每个连接过来的IP连接数就失效了,因为每个肉鸡可能只建立一个或者只建立少量的连接。这种攻击非常难防护,后面给大家介绍防火墙的解决方案。
WEB Server变种攻击
通过控制大量肉鸡同时连接网站端口,但是不发送GET请求而是乱七八糟的字符,大部分防火墙分析攻击数据包前三个字节是GET字符然后来进行http协议的分析,这种攻击,不发送GET请求就可以绕过防火墙到达服务器,一般服务器都是共享带宽的,带宽不会超过10M 所以大量的肉鸡攻击数据包就会把这台服务器的共享带宽堵塞造成服务器瘫痪,这种攻击也非常难防护,因为如果只简单的拦截客户端发送过来没有GET字符的数据包,会错误的封锁很多正常的数据包造成正常用户无法访问,后面给大家介绍防火墙的解决方案。
针对游戏服务器的攻击
因为游戏服务器非常多,这里介绍最早也是影响最大的传奇游戏,传奇游戏分为登陆注册端口7000,人物选择端口7100,以及游戏运行端口7200,7300,7400等,因为游戏自己的协议设计的非常复杂,所以攻击的种类也花样倍出,大概有几十种之多,而且还在不断的发现新的攻击种类,这里介绍目前最普遍的假人攻击,假人攻击是通过肉鸡模拟游戏客户端进行自动注册、登陆、建立人物、进入游戏活动从数据协议层面模拟正常的游戏玩家,很难从游戏数据包来分析出哪些是攻击哪些是正常玩家。
DDoS的攻击方式有哪些?如何辨别是不是DDOS攻击?
DDOS攻击是分布式拒绝服务攻击的简称,指处于不同位置的多个攻击者同时向一个或者数个目标发动攻击,或者一个攻击者控制了位于不同位置的多台机器并利用这些机器对受害者同时实施攻击。由于攻击的发出点是分布在不同地方的,这类攻击称为分布式拒绝服务攻击,其中的攻击者可以有多个。常见的攻击方式如下:
1、SYN Flood攻击
是当前网络上最为常见的DDOS攻击,它利用了TCP协议实现上的一个缺陷。通过向网络服务所在端口发送大量的伪造源地址的攻击报文,就可能造成目标服务器中的半开连接队列被占满,从而阻止其他合法用户进行访问。
2、UDP Flood攻击
属于日渐猖獗的流量型DDOS攻击,原理也很简单。常见的情况是利用大量UDP小包冲击DNS服务器或者Radius认证服务器、流媒体视频服务器。由于UDP协议是一种无连接的服务,在UDP
Flood攻击中,攻击者可发送大量伪造源IP地址的小UDP包。
3、ICMP Flood攻击
属于流量型的攻击方式,是利用大的流量给服务器带来较大的负载,影响服务器的正常服务。由于目前很多防火墙直接过滤ICMP报文。因此ICMP
Flood出现的频度较低。
4、Connection Flood攻击
是典型的利用小流量冲击大带宽网络服务的攻击方式,这种攻击的原理是利用真实的IP地址向服务器发起大量的连接。并且建立连接之后很长时间不释放,占用服务器的资源,造成服务器上残余连接过多,效率降低,甚至资源耗尽,无法响应其他客户所发起的链接。
5、HTTP Get攻击
主要是针对存在ASP、JSP、PHP、CGI等脚本程序,特征是和服务器建立正常的TCP连接,并不断的向脚本程序提交查询、列表等大量耗费数据库资源的调用。它可以绕过普通的防火墙防护,通过Proxy代理实施攻击,缺点是攻击静态页面的网站效果不佳,会暴露攻击者的lP地址。
6、UDP DNS Query Flood攻击
采用的方法是向被攻击的服务器发送大量的域名解析请求,通常请求解析的域名是随机生成或者是网络世界上根本不存在的域名。域名解析的过程给服务器带来了很大的负载,每秒钟域名解析请求超过一定的数量就会造成DNS服务器解析域名超时。
常见的web攻击有什么?
Web服务可以认为是一种程序,它使用HTTP协议将网站中的文件提供给用户,以响应他们的请求。这些请求由计算机中的HTTP客户端转发。为Web服务提供硬件基础的专用计算机和设备称为Web服务器。从这种网络设计中可以看到,Web服务器控制着大量信息。如果一个人拥有进入Web服务器修改数据的能力,那他就可以对该Web服务器所服务的信息和网站做任何他想做的事情。有以下七种常见攻击:
1.目录遍历攻击 - 此类攻击利用Web服务器中的漏洞来未经授权地访问不在公共域中的文件和文件夹。一旦攻击者获得访问权限,他们就可以下载敏感信息,在服务器上执行命令或安装恶意软件。
2.拒绝服务攻击 - 借助此攻击类型,Web服务器将会无法被合法用户访问,一般表现为超时,崩溃。这通常被攻击者用于关闭具有特定任务的服务器。
3.域名劫持 -在此攻击中,攻击者更改DNS设置以重定向到他自己的Web服务器。
4.嗅探 - 在没有加密的情况下,通过网络发送的数据可能会被截获。通过对数据的分析攻击者可能会获得对Web服务器的未授权访问或身份伪造的能力。
5.网络钓鱼 - 这是一种将真实网站克隆到虚假网站的攻击,用户不知道他们是否在真实的网站上。这种攻击通过欺骗用户来窃取敏感信息,如登录密码、银行卡详细信息或任何其他机密信息。
6.域欺骗 - 在此攻击中,攻击者会破坏域名系统(DNS)或用户计算机,以便将流量定向到恶意站点。
7.Web破坏 - 通过这种类型的攻击,攻击者用自己的页面替换组织的网站。这种情况下,无论攻击者想在网站上取代什么,他都可以在这次攻击中做到。
如果遇到攻击却没有一个专业的程序员维护,网站会经常性的出现很多问题,网页打开缓慢、延迟、打不开甚至死机,因此流失很多客户。
推荐杭州超级科技的超级盾!主要针对HTTP/HTTPS类Web业务的全球分布式云防御产品。具有DDoS防御、CC防御、云WAF等功能。客户自身不需要在本地部署任何安全设备,只需采用CNAME替换网站A记录、或高防IP方式即可快速接入我们的服务。超级盾(WEB版)智能DNS能快速调度到全球离客户最近的清洗中心,具有智能路由、智能加速的特性。
0条大神的评论