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是怎么实现的?如何防御?
一个完整的DDoS攻击体系由攻击者、主控端、代理端和攻击目标四部分组成。主控端和代理端分别用于控制和实际发起攻击,其中主控端只发布命令而不参与实际的攻击,代理端发出DDoS的实际攻击包。
每一个攻击代理主机都会向目标主机发送大量的服务请求数据包,这些数据包经过伪装,无法识别它的来源,而且这些数据包所请求的服务往往要消耗大量的系统资源,造成目标主机无法为用户提供正常服务。甚至导致系统崩溃。
防御方式:
1、全面综合地设计网络的安全体系,注意所使用的安全产品和网络设备。
2、提高网络管理人员的素质,关注安全信息,遵从有关安全措施,及时地升级系统,加强系统抗击攻击的能力。
3、在系统中加装防火墙系统,利用防火墙系统对所有出入的数据包进行过滤,检查边界安全规则,确保输出的包受到正确限制。
4、优化路由及网络结构。对路由器进行合理设置,降低攻击的可能性。
5、安装入侵检测工具(如NIPC、NGREP),经常扫描检查系统,解决系统的漏洞,对系统文件和应用程序进行加密,并定期检查这些文件的变化。
扩展资料:
DDoS攻击可以使很多的计算机在同一时间遭受到攻击,使攻击的目标无法正常使用,分布式拒绝服务攻击已经出现了很多次,导致很多的大型网站都出现了无法进行操作的情况,这样不仅仅会影响用户的正常使用,同时造成的经济损失也是非常巨大的。
在这类攻击中。攻击者和代理端机器之间的通信是绝对不允许的。这类攻击的攻击阶段绝大部分被限制用一个单一的命令来实现,攻击的所有特征,例如攻击的类型,持续的时间和受害者的地址在攻击代码中都预先用程序实现。
DDOS怎么防御
DDOS怎么防御解决方案
1、关于这个问题,当攻击已经发生时你几乎无能为力。租用高防服务器
2、最好的长期解决方案是在互联网上的许多不同位置托管您的服务,这样对于攻击者来说他的DDoS攻击成本会更高。
3、这方面的策略取决于您需要保护的服务; DNS可以使用多个权威名称服务器,具有备份MX记录和邮件交换器的SMTP以及使用循环DNS或多宿主的HTTP进行保护(但是在某段时间内可能会出现一些明显的降级)。
4、负载均衡设备并不是解决此问题的有效方法,因为负载均衡设备本身也会遇到同样的问题并且只会造成瓶颈。
5、IPTables或其他防火墙规则无济于事,因为问题是您的管道已经饱和。 一旦防火墙看到连接,就已经太晚了 ; 您的网站带宽已被消耗。你用连接做什么都没关系; 当传入流量恢复正常时,攻击会缓解或完成。
6、内容分发网络(CDN)以及专业安全与网络性能公司的DDoS清理服务。这将是缓解这些类型的攻击的积极措施,并且在许多不同的地方拥有大量的可用带宽。请注意:要隐藏服务器的IP。
7、此外一些托管服务提供商、云计算厂商在减轻这些攻击方面比其他提供商更好。因为规模越大,会拥有更大带宽,自然也会更有弹性。
除了租用高防服务器外防御DDoS攻击的五种方法?
对于网站而言,特别是官方网站,服务器稳定性是最重要的。如果在稳定性方面不能够保证业务运行的需要,再高的性能也是无用的。正规的服务器厂商都会对产品进行不同温度和湿度下的运行稳定性测试。那如何在使用过程中保证服务器的稳定性呢?小编整理了影响服务器稳定性的几点因素供您参考。
1.信息堵塞
信息堵塞可能导致服务器故障。即带宽限制,或者服务请求响应最大限制。当信息来源出现来源不明或带宽有限制等情况同时出现,就会超过服务请求响应的最大限制,导致信息在通讯过程中出现信息堵塞,进而会影响到服务器运行时的稳定性。
2.信息残缺
信息残缺也可能导致服务器故障,从而影响服务器的稳定性。信息残缺包括:信号接收不全、或信号传播不稳定都可能引起信息残缺。在使用过程中出现信号接收不全面或者在信号传播时不稳定的话都很有可能引起信信息残缺,从而影响到服务器运行时的稳定性。
3.机房环境
机房环境的配置,如通风条件,防火条件,空调等,这些外在因素也有可能影响到服务器的稳定性。一些用户在选择服务器的时候可能听说过这样的一种说法:租用的服务器所在的机房环境的配置很有可能影响到服务器的稳定性。确实也是如此,就好比你在一个环境好些的环境里面工作或者学习,工作效率以及注意力等各方面会好些,环境不好肯定就相反了,因此,机房的环境也是影响服务器稳定性关键因素。
4.恶意攻击
随着互联网的不断发展,市场竞争逐渐激烈,所以日常除了预防黑客的入侵,还要预防一些同行的恶意攻击,一旦有人对服务器进行攻击并肆意破坏,或者植入一些病毒等,这将会大大影响您的工作进程,严重的甚至盗取您的重要资料都有可能,这时我们就应该一些具备防御能力的高防服务器与之应对。
5.硬件故障
硬件故障有硬盘故障、网卡故障等,这其实就是提醒我们在使用时必须经常做好备份,以免发生紧急情况导致数据丢失等。
除了几大影响因素之外,还有一些安全管理的失误了:比如说火灾、人为因素引起的硬件损坏或者不可抗力因素:比如战争、地震、洪水等。这些当然是跟服务商没有任何关联的。
那么从哪些方面考察服务器稳定性呢?
1.服务器PING值
进行PING值的测试,PING测试在一定程度上可以代表服务器的宽带速度。以便做一个直观的了解。
2.服务器Unix系统性能测试
由于很多服务器采用的是Unix系统,所以Unix系统下的测试也非常重要,在这里小编推荐一款比较具有权威性的Unix系统性能测试软件Unixbench来做基本的测试。
3.服务器的带宽
这个就更不用说了,也是服务器好坏的核心指标之一,也是服务器中成本最高,最贵的,一定要仔细考察。
0条大神的评论