DDoS攻击概念
DoS的攻击方式有很多种,最基本的DoS攻击就是利用合理的服务请求来占用过多的服务资源,从而使
服务器无法处理合法用户的指令。
DDoS攻击手段是在传统的DoS攻击基础之上产生的一类攻击方式。单一的DoS攻击一般是采用一对一方式的,当被攻击目标CPU速度低、
内存小或者网络带宽小等等各项性能指标不高时,它的效果是明显的。随
着计算机与网络技术的发展,计算机的处理能力迅速增长,内存大大增加,同时也出现了千兆级别的网络,这使得DoS攻击的困难程度加大了 - 目标对恶意攻击包的"消化能力"加强了不少,例如你的攻击
软件每秒钟可以发送3,000个攻击包,但我的主机与网络带宽每秒钟可以处理10,000个攻击包,这样一来攻击就不会产生什么效果。
这时候分布式的拒绝服务攻击手段(DDoS)就应运而生了。你理解了DoS攻击的话,它的原理就很简单。如果说计算机与网络的处理能力加大了10倍,用一台攻击机来攻击不再能起作用的话,攻击者使用10台攻击机同时攻击呢?用100台呢?DDoS就是利用更多的
傀儡机来发起进攻,以比从前更大的规模来进攻受害者。
高速广泛连接的网络给大家带来了方便,也为DDoS攻击创造了极为有利的条件。在低速网络时代时,黑客占领攻击用的傀儡机时,总是会优先考虑离目标网络距离近的机器,因为经过
路由器的跳数少,效果好。而现在电信骨干节点之间的连接都是以G为级别的,大城市之间更可以达到2.5G的连接,这使得攻击可以从更远的地方或者其他城市发起,攻击者的傀儡机位置可以在分布在更大的范围,选择起来更灵活了。
DDOS攻击原理
通过使网络过载来干扰甚至阻断正常的网络通讯。通过向服务器提交大量请求,使服务器超负荷。阻断某一用户访问服务器阻断某服务与特定系统或个人的通讯。
DoS攻击、DDoS攻击和DRDoS攻击相信大家已经早有耳闻了吧!DoS是Denial of Service的简写,就是拒绝服务,而DDoS就是Distributed Denial of Service的简写,就是分布式拒绝服务,而DRDoS就是Distributed Reflection Denial of Service的简写,这是分布反射式拒绝服务的意思。
不过这3种攻击方法最厉害的还是DDoS,那个DRDoS攻击虽然是新近出的一种攻击方法,但它只是DDoS攻击的变形,它的唯一不同就是不用占领大量的“肉鸡”。这三种方法都是利用TCP三次握手的漏洞进行攻击的,所以对它们的防御办法都是差不多的。
DoS攻击是最早出现的,它的攻击方法说白了就是单挑,是比谁的机器性能好、速度快。但是现在的科技飞速发展,一般的网站主机都有十几台主机,而且各个主机的处理能力、内存大小和网络速度都有飞速的发展,有的网
络带宽甚至超过了千兆级别。这样我们的一对一单挑式攻击就没有什么作用了,搞不好自己的机子就会死掉。举个这样的攻击例子,假如你的机器每秒能够发送10个攻击用的数据包,而被你攻击的机器(性能、网络带宽都是顶尖的)每秒能够接受并处理100攻击数据包,那样的话,你的攻击就什么用处都没有了,而且非常有死机的可能。要知道,你若是发送这种1Vs1的攻击,你的机器的CPU占用率是90%以上的。
DDOS 最早可追述到1996年,在
中国2002年开始频繁出现,2003年已经初具规模。近几年由于宽带的普及,很多网站开始盈利,其中很多非法网站利润巨大,造成同行之间互相攻击,还有一部分人利用
网络攻击来敲诈钱财。同时
windows平台的漏洞大量的被公布,
流氓软件,
病毒,
木马大量
充斥着网络,有些懂技术的人可以很容易非法入侵控制大量的个人计算机来发起DDOS攻击从中谋利。攻击已经成为互联网上的一种最直接的竞争方式,而且收入非常高,利益的驱使下,攻击已经演变成非常完善的
产业链。通过在大流量网站的网页里注入病毒木马,木马可以通过windows平台的漏洞感染浏览网站的人,一旦中了木马,这台计算机就会被
后台操作的人控制,这台计算机也就成了所谓的
肉鸡,每天都有人专门收集肉鸡然后以几毛到几块的一只的价格出售,因为利益需要攻击的人就会购买,然后遥控这些肉鸡攻击服务器。
编辑本段被DDoS攻击时的现象
能瞬间造成对方电脑死机或者假死,有人曾经测试过,攻击不到1秒钟,电脑就已经死机和假死,鼠标图标不动了,系统发出滴滴滴滴的声音。
编辑本段大级别攻击运行原理
一个比较完善的DDoS攻击体系分成四大部分,先来看一下最重要的第2和第3部分:它们分别用做控制和实际发起攻击。请注意控制机与攻击机的区别,对第4部分的受害者来说,DDoS的实际攻击包是从第3部分攻击傀儡机上发出的,第2部分的控制机只发布命令而不参与实际的攻击。对第2和第3部分计算机,黑客有控制权或者是部分的控制权,并把相应的DDoS程序上传到这些平台上,这些程序与正常的程序一样运行并等待来自黑客的指令,通常它还会利用各种手段隐藏自己不被别人发现。在平时,这些傀儡机器并没有什么异常,只是一旦黑客连接到它们进行控制,并发出指令的时候,攻击傀儡机就成为害人者去发起攻击了。
有的朋友也许会问道:"为什么黑客不直接去控制攻击傀儡机,而要从控制傀儡机上转一下呢?"。这就是导致DDoS攻击难以追查的原因之一了。做为攻击者的角度来说,肯定不愿意被捉到,而攻击者使用的傀儡机越多,他实际上提供给受害者的分析依据就越多。在占领一台机器后,高水平的攻击者会首先做两件事:1. 考虑如何留好
后门!2. 如何清理日志。这就是擦掉脚印,不让自己做的事被别人查觉到。比较不敬业的黑客会不管三七二十一把日志全都删掉,但这样的话网管员发现日志都没了就会知道有人干了坏事了,顶多无法再从日志发现是谁干的而已。相反,真正的好手会挑有关自己的日志项目删掉,让人看不到异常的情况。这样可以长时间地利用傀儡机。
但是在第3部分攻击傀儡机上清理日志实在是一项庞大的工程,即使在有很好的
日志清理工具的帮助下,黑客也是对这个任务很头痛的。这就导致了有些攻击机弄得不是很干净,通过它上面的线索找到了控制它的上一级计算机,这上级的计算机如果是黑客自己的机器,那么他就会被揪出来了。但如果这是控制用的傀儡机的话,黑客自身还是安全的。控制傀儡机的数目相对很少,一般一台就可以控制几十台攻击机,清理一台计算机的日志对黑客来讲就轻松多了,这样从控制机再找到黑客的可能性也大大降低。
攻击步骤
一般来说,黑客进行DDoS攻击时会经过这样的步骤:
搜集了解目标的情况
下列情况是黑客非常关心的情报:
1、被攻击目标主机数目、地址情况
2、目标主机的配置、性能
3、目标的带宽
对于DDoS攻击者来说,攻击互联网上的某个站点,如http : //www . mytarget . com,有一个重点就是确定到底有多少台主机在支持这个站点,一个大的网站可能有很多台主机利用
负载均衡技术提供同一个网站的www服务。以yahoo为例,一般会有下列地址都是提供http : //www . yahoo . com 服务的:
66.218.71.87
66.218.71.88
66.218.71.89
66.218.71.80
66.218.71.81
66.218.71.83
66.218.71.84
66.218.71.86
如果要进行DDoS攻击的话,应该攻击哪一个地址呢?使66.218.71.87这台机器瘫掉,但其他的主机还是能向外提供www服务,所以想让别人访问不到http://www . yahoo . com 的话,要所有这些IP地址的机器都瘫掉才行。在实际的应用中,一个IP地址往往还代表着数台机器:网站维护者使用了四层或七层交换机来做负载均衡,把对一个IP地址的访问以特定的算法分配到下属的每个主机上去。这时对于DDoS攻击者来说情况就更复杂了,他面对的任务可能是让几十台主机的服务都不正常。
所以说事先搜集情报对DDoS攻击者来说是非常重要的,这关系到要使用多少台傀儡机才能达到效果的问题。简单地考虑一下,在相同的条件下,攻击同一站点的2台主机需要2台傀儡机的话,攻击5台主机可能就需要5台以上的傀儡机。做攻击的傀儡机越多越好,不管有多少台主机都可以用尽量多的傀儡机来攻击,傀儡机超过了的时候效果更好。
但在实际过程中,有很多黑客并不进行情报的搜集而直接进行DDoS的攻击,这时候攻击的盲目性就很大了,效果如何也要靠运气。其实做黑客也像网管员一样,是不能偷懒的。一件事做得好与坏,态度最重要,水平还在其次。
占领傀儡机
黑客最感兴趣的是有下列情况的主机:
1、链路状态好的主机
2、性能不好的主机
3、安全管理水平差的主机
这一部分实际上是使用了另一大类的攻击手段:利用型攻击。这是和DDoS并列的攻击方式。简单地说,就是占领和控制被攻击的主机。取得最高的管理权限,或者至少得到一个有权限完成DDoS攻击任务的帐号。对于一个DDoS攻击者来说,准备好一定数量的傀儡机是一个必要的条件,下面说一下他是如何攻击并占领它们的。
首先,黑客做的工作一般是扫描,随机地或者是有针对性地利用扫描器去发现互联网上那些有漏洞的机器,像程序的溢出漏洞、cgi、Unicode、
ftp、数据库漏洞…,都是黑客希望看到的扫描结果。
总之黑客现在占领了一台傀儡机了!然后他做什么呢?除了上面说过留后门擦脚印这些基本工作之外,他会把DDoS攻击用的程序上载过去,一般是利用ftp。在攻击机上,会有一个DDoS的发包程序,黑客就是利用它来向受害目标发送恶意攻击包的。
实际攻击
经过前2个阶段的精心准备之后,黑客就开始瞄准目标准备发射了。前面的准备做得好的话,实际攻击过程反而是比较简单的。就象图示里的那样,黑客登录到做为控制台的傀儡机,向所有的攻击机发出命令:"预备~ ,瞄准~,开火!"。这时候埋伏在攻击机中的DDoS攻击程序就会响应控制台的命令,一起向受害主机以高速度发送大量的数据包,导致它死机或是无法响应正常的请求。黑客一般会以远远超出受害方处理能力的速度进行攻击,他们不会"怜香惜玉"。
老道的攻击者一边攻击,还会用各种手段来监视攻击的效果,在需要的时候进行一些调整。简单些就是开个窗口不断地ping目标主机,在能接到回应的时候就再加大一些流量或是再命令更多的傀儡机来加入攻击。
防范DDOS攻击的
工具软件:CC v2.0
防范DDOS比较出色的
防火墙:硬件有Cisco的Guard、Radware的DefensePro,绿盟的黑洞,傲盾硬件的KFW系列,傲盾软件的傲盾防火墙。软件有冰盾DDOS防火墙、8Signs Firewall,,天鹰网安的天鹰ddos防火墙,天鹰超级卫士防火墙(软硬件)等。
编辑本段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等,因为游戏自己的协议设计的非常复杂,所以攻击的种类也花样倍出,大概有几十种之多,而且还在不断的发现新的攻击种类,这里介绍目前最普遍的假人攻击,假人攻击是通过肉鸡模拟游戏客户端进行自动注册、登陆、建立人物、进入游戏活动从数据协议层面模拟正常的游戏玩家,很难从游戏数据包来分析出哪些是攻击哪些是正常玩家。
以上介绍的几种最常见的攻击也是比较难防护的攻击。一般基于包过滤的防火墙只能分析每个数据包,或者有限的分析数据连接建立的状态,防护SYN,或者变种的SYN,ACK攻击效果不错,但是不能从根本上来分析tcp,udp协议,和针对应用层的协议,比如http,游戏协议,软件视频音频协议,现在的新的攻击越来越多的都是针对应用层协议漏洞,或者分析协议然后发送和正常数据包一样的数据,或者干脆模拟正常的数据流,单从数据包层面,分析每个数据包里面有什么数据,根本没办法很好的防护新型的攻击。
SYN攻击属于DOS攻击的一种,它利用TCP协议缺陷,通过发送大量的半连接请求,耗费CPU和内存资源。TCP协议建立连接的时候需要双方相互确认信息,来防止连接被伪造和精确控制整个数据传输过程数据完整有效。所以TCP协议采用三次握手建立一个连接。
第一次握手:建立连接时,客户端发送syn包到服务器,并进入SYN_SEND状态,等待服务器确认;
第二次握手:服务器收到syn包,必须确认客户的SYN 同时自己也发送一个SYN包 即SYN+ACK包,此时服务器进入
SYN_RECV状态;
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK,此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
SYN攻击利用TCP协议三次握手的原理,大量发送伪造源IP的SYN包也就是伪造第一次握手数据包,服务器每接收到一个SYN包就会为这个连接信息分配核心内存并放入半连接队列,如果短时间内接收到的SYN太多,半连接队列就会溢出,
操作系统会把这个连接信息丢弃造成不能连接,当攻击的SYN包超过半连接队列的最大值时,正常的客户发送SYN数据包请求连接就会被服务器丢弃,每种操作系统半连接队列大小不一样所以抵御SYN攻击的能力也不一样。那么能不能把半连接队列增加到足够大来保证不会溢出呢,答案是不能,每种操作系统都有方法来调整TCP模块的半连接队列最大数,例如Win2000操作系统在注册表HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters里 TcpMaxHalfOpen,TcpMaxHalfOpenRetried ,
Linux操作系统用变量tcp_max_syn_backlog来定义半连接队列的最大数。但是每建立一个半连接资源就会耗费系统的核心内存,操作系统的核心内存是专门提供给系统内核使用的内存不能进行虚拟内存转换是非常紧缺的资源windows2000 系统当物理内存是4G的时候,核心内存只有不到300M,系统所有核心模块都要使用核心内存所以能给半连接队列用的核心内存非常少。Windows 2003 默认安装情况下,WEB SERVER的80端口每秒钟接收5000个SYN数据包一分钟后网站就打不开了。标准SYN数据包64字节,5000个等于 5000*64 *8(换算成bit)/1024=2500K也就是 2.5M带宽 ,如此小的带宽就可以让服务器的端口瘫痪,由于攻击包的源IP是伪造的很难追查到攻击源,所以这种攻击非常多。
从拒绝服务攻击诞生到现在已经有了很多的发展,从最初的简单Dos到现在的DdoS。那么什么是Dos和DdoS呢?DoS是一种利用单台计算机的攻击方式。而DdoS(Distributed Denial of Service,
分布式拒绝服务)是一种基于DoS的特殊形式的拒绝服务攻击,是一种分布、协作的大规模攻击方式,主要瞄准比较大的站点,比如一些商业公司、搜索引擎和政府部门的站点。DdoS攻击是利用一批受控制的机器向一台机器发起攻击,这样来势迅猛的攻击令人难以防备,因此具有较大的破坏性。如果说以前网络管理员对抗Dos可以采取过滤IP地址方法的话,那么面对当前DdoS众多伪造出来的地址则显得没有办法。所以说防范DdoS攻击变得更加困难,如何采取措施有效的应对呢?下面我们从两个方面进行介绍。
编辑本段DDOS的防护方法
1 手工防护
一般而言手工方式防护DDOS主要通过两种形式:
系统优化――主要通过优化被攻击系统的核心参数,提高系统本身对DDoS攻击的响应能力。但是这种做法只能针对小规模的DDOS进行防护。
网络追查――遭受DDoS攻击的系统的管理人员一般第一反应是询问上一级网络运营商,这有可能是ISP、IDC等,目的就是为了弄清楚攻击源头。
2 退让策略
为了抵抗DDOS攻击,客户可能会通过购买硬件的方式来提高系统抗DDOS的能力。但是这种退让策略的效果并不好,一方面由于这种方式的性价比过低,另一方面,黑客提高供给流量之后,这种方法往往失效,所以不能从根本意义上防护DDoS攻击。
3 路由器
通过路由器,我们可以实施某些安全措施,比如ACL等,这些措施从某种程度上确实可以过滤掉非法流量。一般来说,ACL可以基于协议或源地址进行设置,但是目前众多的DDOS攻击采用的是常用的一些合法协议,比如http协议,这种情况下,路由器就无法对这样的流量进行过滤。同时,如果DDOS攻击采用地址欺骗的技术伪造数据包,那么路由器也无法对这种攻击进行有效防范。
另一种基于路由器的防护策略是采用Unicast Reverse Path Forwarding (uRPF)在
网络边界来阻断伪造源地址IP的攻击,但是对于今天的DDOS攻击而言,这种方法也不能奏效,其根本原因就在于uRPF的基本原理是路由器通过判断出口流量的源地址,如果不属于内部子网的则给予阻断。而攻击者完全可以伪造其所在子网的IP地址进行DDoS攻击,这样就完全可以绕过uRPF防护策略。除此之外,如果希望uRPF策略能够真正的发挥作用,还需要在每个潜在攻击源的前端路由器上配置uRPF,但是要实现这种情况,现实中几乎不可能做到。
4 防火墙
防火墙几乎是最常用的安全产品,但是防火墙设计原理中并没有考虑针对DDOS攻击的防护,在某些情况下,防火墙甚至成为DDOS攻击的目标而导致整个网络的拒绝服务。
首先是防火墙缺乏DDOS攻击检测的能力。通常,防火墙作为三层包转发设备部署在网络中,一方面在保护内部网络的同时,它也为内部需要提供外部
Internet服务的设备提供了通路,如果DDOS攻击采用了这些服务器允许的合法协议对内部系统进行攻击,防火墙对此就无能为力,无法精确的从背景流量中区分出攻击流量。虽然有些防火墙内置了某些模块能够对攻击进行检测,但是这些检测机制一般都是基于特征规则,DDOS攻击者只要对攻击数据包稍加变化,防火墙就无法应对,对DDOS攻击的检测必须依赖于行为模式的算法。
第二个原因就是传统防火墙计算能力的限制,传统的防火墙是以高强度的检查为代价,检查的强度越高,计算的代价越大。而DDOS攻击中的海量流量会造成防火墙性能急剧下降,不能有效地完成包转发的任务。
最好防火墙的部署位置也影响了其防护DDOS攻击的能力。传统防火墙一般都是部署在网络入口位置,虽然某种意义上保护了网络内部的所有资源,但是其往往也成为DDOS攻击的目标,攻击者一旦发起DDOS攻击,往往造成网络性能的整体下降,导致用户正常请求被拒绝。
5 入侵检测
目前IDS系统是最广泛的攻击检测工具,但是在面临DDOS攻击时,IDS系统往往不能满足要求。
原因其一在于
入侵检测系统虽然能够检测应用层的攻击,但是基本机制都是基于规则,需要对协议会话进行还原,但是目前DDoS攻击大部分都是采用基于合法数据包的攻击流量,所以IDS系统很难对这些攻击有效检测。虽然某些IDS系统本身也具备某些协议异常检测的能力,但这都需要安全专家手工配置才能真正生效,其实施成本和易用性极低。
原因之二就在于IDS系统一般对攻击只进行检测,但是无法提供阻断的功能。IDS系统需要的是特定攻击流检测之后实时的阻断能力,这样才能真正意义上减缓DDOS对于网络服务的影响。
IDS系统设计之初就是作为一种基于特征的应用层攻击检测设备。而DDOS攻击主要以三层或是四层的协议异常为其特点,这就注定了IDS技术不太可能作为DDOS的检测或是防护手段。目前的防御算法对所有已知的拒绝服务攻击是免疫的,也就是说,是完全可以抵抗已知DoS/DDoS攻击的。
对于DDOS防御的理解
对付DDOS是一个系统工程,想仅仅依靠某种系统或产品防住DDOS是不现实的,可以肯定的是,完全杜绝DDOS目前是不可能的,但通过适当的措施抵御90%的DDOS攻击是可以做到的,基于攻击和防御都有成本开销的缘故,若通过适当的办法增强了抵御DDOS的能力,也就意味着加大了攻击者的攻击成本,那么绝大多数攻击者将无法继续下去而放弃,也就相当于成功的抵御了DDOS攻击。
DDoS防御的方法:
1.采用高性能的网络设备
首先要保证网络设备不能成为瓶颈,因此选择路由器、交换机、硬件防火墙等设备的时候要尽量选用知名度高、口碑好的产品。再就是假如和网络提供商有特殊关系或协议的话就更好了,当大量攻击发生的时候请他们在网络接点处做一下流量限制来对抗某些种类的DDOS攻击是非常有效的。
2.尽量避免NAT的使用
无论是路由器还是硬件防护墙设备要尽量避免采用
网络地址转换NAT的使用,因为采用此技术会较大降低网络通信能力,其实原因很简单,因为NAT需要对地址来回转换,转换过程中需要对网络包进行校验和计算,因此浪费了很多CPU的时间,但有些时候必须使用NAT,那就没有好办法了。
3.充足的网络带宽保证
网络带宽直接决定了能抗受攻击的能力,假若仅仅有10M带宽的话,无论采取什么措施都很难对抗现在的SYNFlood攻击,当前至少要选择100M的共享带宽,最好的当然是挂在1000M的主干上了。但需要注意的是,主机上的网卡是1000M的并不意味着它的网络带宽就是千兆的,若把它接在100M的交换机上,它的实际带宽不会超过100M,再就是接在100M的带宽上也不等于就有了百兆的带宽,因为网络服务商很可能会在交换机上限制实际带宽为10M,这点一定要搞清楚。
4.升级主机服务器硬件
在有网络带宽保证的前提下,请尽量提升硬件配置,要有效对抗每秒10万个SYN攻击包,服务器的配置至少应该为:P4 2.4G/DDR512M/SCSI-HD,起关键作用的主要是CPU和内存,若有志强双CPU的话就用它吧,内存一定要选择DDR的高速内存,硬盘要尽量选择SCSI的,别只贪IDE价格不贵量还足的便宜,否则会付出高昂的性能代价,再就是网卡一定要选用3COM或Intel等名牌的,若是Realtek的还是用在自己的PC上吧。
5.把网站做成静态页面
大量事实证明,把网站尽可能做成静态页面,不仅能大大提高抗攻击能力,而且还给黑客入侵带来不少麻烦,至少到现在为止关于HTML的溢出还没出现,看看吧!新浪、搜狐、网易等门户网站主要都是静态页面,若你非需要动态脚本调用,那就把它弄到另外一台单独主机去,免的遭受攻击时连累主服务器,当然,适当放一些不做数据库调用脚本还是可以的,此外,最好在需要调用数据库的脚本中拒绝使用代理的访问,因为经验表明使用代理访问你网站的,80%属于恶意行为。
6.增强操作系统的TCP/IP栈
Win2000和Win2003作为服务器操作系统,本身就具备一定的抵抗DDOS攻击的能力,只是默认状态下没有开启而已,若开启的话可抵挡约10000个SYN攻击包,若没有开启则仅能抵御数百个,具体怎么开启,自己去看
微软的文章吧!《强化 TCP/IP 堆栈安全》。
也许有的人会问,那我用的是Linux和FreeBSD怎么办?很简单,按照这篇文章去做吧!《SYN Cookies》。
7.安装专业抗DDOS防火墙
绿盟黑洞: X86架构,
Linux内核与自主专利的抗syn-flood算法。对抗单一类型的syn,udp,icmp dos效果很好,但是当多种混合时效果就略差。优点是更新快,技术支持比较好,在100M环境下对syn-flood有绝对优势。缺点是文档和信息缺乏,同时工作(软硬件两方面)不是很稳定。
金盾抗拒绝服务系统:金盾抗拒绝服务系列产品,应用了自主研发的抗拒绝服务攻击算法,对SYN Flood,UDP Flood,ICMP Flood,IGMP Flood,Fragment Flood,HTTP Proxy Flood,CC Proxy Flood,Connection Exhausted等各种常见的攻击行为均可有效识别,并通过集成的机制实时对这些攻击流量进行处理及阻断,保护服务主机免于攻击所造成的损失。内建的WEB保护模式及游戏保护模式,彻底解决针对此两种应用的DOS攻击方式。金盾抗拒绝服务系列产品,除了提供专业的DOS/DDOS攻击检测及防护外,还提供了面向报文的通用规则匹配功能,可设置的域包括地址、端口、标志位,关键字等,极大的提高了通用性及防护力度。同时,内置了若干预定义规则,涉及局域网防护、漏洞检测等多项功能,易于使用。
天网防火墙: 最早基于OpenBSD内核,X86架构,现在应该也是Linux内核了。很早就加入了抗syn-flood功能,实际应该是syn-cache/syn-cookie的改进或加强版。实际测试syn流量64B包抵抗极限大概是25M左右。当小于20M是还是可以看到效果的。同时结合良好的防火墙策略应该也可以做到针对udp/icmp等类型的限制。
一己拙见: 防火墙一般来说还是让它作为自己的专业用途(访问控制)比较好,当然在网络业务不是很重要的生产类企业来说,买个防火墙同时兼有简单的抗syn功能倒也不错。
8.其他防御措施
以上几条对抗DDOS建议,适合绝大多数拥有自己主机的用户,但假如采取以上措施后仍然不能解决DDOS问题,就有些麻烦了,可能需要更多投资,增加服务器数量并采用DNS轮巡或负载均衡技术,甚至需要购买七层交换机设备,从而使得抗DDOS攻击能力成倍提高,只要投资足够深入。
DDOS应付方法
DdoS攻击是黑客最常用的攻击手段,下面列出了对付它的一些常规方法。
1.定期扫描
要定期扫描现有的网络主节点,清查可能存在的安全漏洞,对新出现的漏洞及时进行清理。骨干节点的计算机因为具有较高的带宽,是黑客利用的最佳位置,因此对这些主机本身加强主机安全是非常重要的。而且连接到网络主节点的都是服务器级别的计算机,所以定期扫描漏洞就变得更加重要了。
2.在骨干节点配置防火墙
防火墙本身能抵御DdoS攻击和其他一些攻击。在发现受到攻击的时候,可以将攻击导向一些牺牲主机,这样可以保护真正的主机不被攻击。当然导向的这些牺牲主机可以选择不重要的,或者是linux以及unix等漏洞少和天生防范攻击优秀的系统。
3.用足够的机器承受黑客攻击
这是一种较为理想的应对策略。如果用户拥有足够的容量和足够的资源给黑客攻击,在它不断访问用户、夺取用户资源之时,自己的能量也在逐渐耗失,或许未等用户被攻死,黑客已无力支招儿了。不过此方法需要投入的资金比较多,平时大多数设备处于空闲状态,和目前中小企业网络实际运行情况不相符。
4.充分利用网络设备保护网络资源
所谓网络设备是指路由器、防火墙等负载均衡设备,它们可将网络有效地保护起来。当网络被攻击时最先死掉的是路由器,但其他机器没有死。死掉的路由器经重启后会恢复正常,而且启动起来还很快,没有什么损失。若其他服务器死掉,其中的数据会丢失,而且重启服务器又是一个漫长的过程。特别是一个公司使用了负载均衡设备,这样当一台路由器被攻击死机时,另一台将马上工作。从而最大程度的削减了DdoS的攻击。
5.过滤不必要的服务和端口
过滤不必要的服务和端口,即在路由器上过滤假IP,只开放服务端口成为目前很多服务器的流行做法,例如WWW服务器那么只开放80而将其他所有端口关闭或在防火墙上做阻止策略。
6.检查访问者的来源
使用Unicast Reverse Path Forwarding等通过反向路由器查询的方法检查访问者的IP地址是否是真,如果是假的,它将予以屏蔽。许多黑客攻击常采用假IP地址方式迷惑用户,很难查出它来自何处。因此,利用Unicast Reverse Path Forwarding可减少假IP地址的出现,有助于提高网络安全性。
7.过滤所有RFC1918 IP地址
RFC1918 IP地址是内部网的IP地址,像10.0.0.0、192.168.0.0 和172.16.0.0,它们不是某个网段的固定的IP地址,而是Internet内部保留的区域性IP地址,应该把它们过滤掉。此方法并不是过滤内部员工的访问,而是将攻击时伪造的大量虚假内部IP过滤,这样也可以减轻DdoS的攻击。
8.限制SYN/ICMP流量
用户应在路由器上配置SYN/ICMP的最大流量来限制SYN/ICMP封包所能占有的最高频宽,这样,当出现大量的超过所限定的SYN/ICMP流量时,说明不是正常的网络访问,而是有黑客入侵。早期通过限制SYN/ICMP流量是最好的防范DOS的方法,虽然目前该方法对于DdoS效果不太明显了,不过仍然能够起到一定的作用。
编辑本段抗DDOS产品主要厂家
绿盟科技
绿盟科技从2001年5月开始进行针对DoS攻击的产品研发,次年,该公司完成了抗拒绝服务攻击的克星—“黑洞Collapasar”的全部研发工作,并申请了国家发明专利。
中新金盾
安徽中新软件有限公司创立于2002年,是集
网络安全产品、软硬件开发的高科技公司。公司针对DDOS 攻击的产品自主研发、生产的金盾系列安全产品包括金盾防火墙、金盾抗拒绝服务系统、流量牵引设备、
信息过滤系统。自创立至今一直在市场上获得良好、坚实的口碑。
天鹰网安
北京天鹰网安科技有限公司主要以网络安全(Network Security)、信息咨询(IT Consultation)、安全集成与服务(Security Solution and Service)的高科技公司。汇聚了多名国家级信息安全专家及多名具有信息安全、互联网安全实战经验的专家加盟,致力于为中小型企业、政府、金融、电信、军队、网络游戏服务商、网吧等提供技术领先的互联网安全产品和专业化的IT技术服务。在入侵攻击防范技术、异常流量分析、检测与清洗、操作系统与应用安全、安全漏洞发掘技术、安全产品缺陷与检测、蠕虫及病毒原理与防范等领域,进行了大量深入的基础性研究。
天鹰网安的安全产品包括:天鹰抗DDoS防火墙(软、硬件)、天鹰网站卫士、天鹰超级卫士、天鹰个人电脑保护系统、天鹰安全空间、天鹰WEB网关、天鹰信息安全集成服务等,逐步形成了IDC机房、政府行业、中小企业网站、游戏服务商、教育行业、网吧行业等安全解决方案。经过几年的快速发展,已成为面向国内、外市场的互联网网络安全产品解决方案供应商。“更高、更快、更强的金牌防火墙”。
如果用户正在遭受攻击,他所能做的抵御工作将是非常有限的。因为在原本没有准备好的情况下有大流量的灾难性攻击冲向用户,很可能在用户还没回过神之际,网络已经瘫痪。但是,用户还是可以抓住机会寻求一线希望的。
1.检查攻击来源,通常黑客会通过很多假IP地址发起攻击,此时,用户若能够分辨出哪些是真IP哪些是假IP地址,然后了解这些IP来自哪些网段,再找网络管理员将这些机器关闭,从而在第一时间消除攻击。如果发现这些IP地址是来自外面的而不是公司内部的IP的话,可以采取临时过滤的方法,将这些IP地址在服务器或路由器上过滤掉。
2.找出攻击者所经过的路由,把攻击屏蔽掉。若黑客从某些端口发动攻击,用户可把这些端口屏蔽掉,以阻止入侵。不过此方法对于公司网络出口只有一个,而又遭受到来自外部的DdoS攻击时不太奏效,毕竟将出口端口封闭后所有计算机都无法访问internet了。
3.最后还有一种比较折中的方法是在路由器上滤掉ICMP。虽然在攻击时他无法完全消除入侵,但是过滤掉ICMP后可以有效的防止攻击规模的升级,也可以在一定程度上降低攻击的级别。