网管安全日志 DDoS的监测及防御

 
   | |

导读:本文将介绍拒绝服务攻击(DoS)技术以及对DDoS的监测及防御,DoS的目的是使计算机或网络无法提供正常的服务,DoS/DdoS攻击的类型有Synflood、Smurf等,对DDoS的防防御可以通过升级主机服务器硬件等实现。

关键词:拒绝服务攻击 DoS 技术 DDoS 监测 防御 类型 升级

 
正在加载数据...

  当有一天你发现自己的网站已经无法正常访问,服务器远程连接不上,数据中心机房那边通知你服务器流量非常大,那你可要做好心理准备了。这会可能已经有人盯上你的服务器上的业务了,如:大型商业网站,游戏等。在你获得一定利润的时候,那些“黑客”也可能想从你那里捞一笔“保护费”。可能是你服务器被人DoS/DDoS攻击了。

  让我们先了解一下DoS和DdoS相关的知识吧。

  一、DoS/DDoS的介绍

  1、什么是拒绝服务攻击(DoS)

  DoS是Denial of Service的简称,即拒绝服务,造成DoS的攻击行为被称为DoS攻击,其目的是使计算机或网络无法提供正常的服务。最常见的DoS攻击有计算机网络带宽攻击和连通性攻击。带宽攻击指以极大的通信量冲击网络,使得所有可用网络资源都被消耗殆尽,最后导致合法的用户请求就无法通过。连通性攻击指用大量的连接请求冲击计算机,使得所有可用的操作系统资源都被消耗殆尽,最终计算机无法再处理合法用户的请求。

  2、什么是分布式拒绝服务攻击(DDoS)

  分布式拒绝服务(DDoS:Distributed Denial of Service)攻击指借助于客户/服务器技术,将多台傀儡机联合起来作为攻击平台(傀儡机,一般为黑客所控制的“肉鸡”),对一个或多个目标发动DoS攻击,从而成倍地提高拒绝服务攻击的威力。通常,攻击者通过入侵一台服务器,在得到该服务器一定的权限以后,将DDoS主控程序安装在这台服务器上,在一个设定的时间主控程序将与大量代理程序通讯,代理程序已经被安装在黑客所控制的许多服务器上(包括通过其他途径获取的大量个人PC)。代理程序收到指令时就发动攻击。利用客户/服务器技术,主控程序能在几秒钟内激活成百上千次代理程序的运行。

  如下图:

拒绝服务攻击

  黑客通过控制傀儡机中的某一台(或他自己的计算机,为安全起见,一般他会选择一台傀儡机来控制其他的傀儡机),再利用这台傀儡机来指挥其余的傀儡机向目标服务器发动攻击。当然,这只是一个简单的示意图,还可以把上图想得更加复杂:黑客控制手中的十台、二十台傀儡机,再分别通过被这十台、二十台中的傀儡机去控制成千、上万乃至数十万的傀儡机对目标发动毁灭性的攻击。

  打个形象而又不太恰当的比喻:两个人打架,其中某一个人对付不了对方,于是他把他的朋友全都叫来,多个对付一个,一个人面对那么多个人,你怎么也对付不了。

  拒绝服务就是用超出被攻击目标处理能力的海量数据包消耗可用系统,带宽资源,致使正常的网络服务瘫痪的一种攻击手段。拒绝服务攻击采用的是单一的一对一的攻击手段,当CPU处理速度低、内存小及网络带宽小等,拒绝服务攻击的效果就很明显。

  但是,随着互联网技术及硬件技术的飞速发展,现在的带宽都是以百兆、千兆为单位来计算,CPU多数亦是双核或四核的,内存现在也可以说是白菜价了。在这种环境下,使得拒绝服务的攻击的困难程度就加大了。

  这样,分布式拒绝服务(DDoS)攻击就出现了。如果你理解了拒绝服务(DoS)攻击的话,在它的基础上,分布式拒绝服务攻击就不难理解了。如果说计算机与网络的处理攻击的能力加大了10倍,用一台傀儡机来攻击不再能起作用的话,攻击者使用10台傀儡机同时攻击呢?用100台呢?DDoS就是利用更多的傀儡机来发起进攻,以比从前更大的规模来进攻受害者。

  二、DoS/DDoS攻击的现象

  那么,服务器被DoS/DDoS攻击会是怎样的现象呢?

  1、被攻击主机上有大量等待的TCP连接;

  2、网络中充斥着大量的无用的数据包,源地址为假地址或私网中才可能出现的地址;

  3、制造高流量无用数据,造成网络拥塞,使受害主机无法正常和外界通讯;

  4、利用受害主机提供的服务或传输协议上的缺陷,反复高速的发出特定的服务请求,使受害主机无法及时处理所有正常请求;

  5、严重时会造成系统运行缓慢或假死、甚至死机;

  三、DoS/DdoS攻击的类型:

  1、Synflood:该攻击以多个随机的源主机地址向目的主机发送SYN包,而在收到目的主机的SYN ACK后并不回应,这样,目的主机就为这些源主机建立了大量的连接队列,而且由于没有收到ACK一直维护着这些队列,造成了资源的大量消耗而不能向正常请求提供服务。

  2、Smurf:该攻击向一个子网的广播地址发一个带有特定请求(如ICMP回应请求)的包,并且将源地址伪装成想要攻击的主机地址。子网上所有主机都回应广播包请求而向被攻击主机发包,使该主机受到攻击。

  3、Land-based:攻击者将一个包的源地址和目的地址都设置为目标主机的地址,然后将该包通过IP欺骗的方式发送给被攻击主机,这种包可以造成被攻击主机因试图与自己建立连接而陷入死循环,从而很大程度地降低了系统性能。

  4、Ping of Death:根据TCP/IP的规范,一个包的长度最大为65536字节。尽管一个包的长度不能超过65536字节,但是一个包分成的多个片段的叠加却能做到。当一个主机收到了长度大于65536字节的包时,就是受到了Ping of Death攻击,该攻击会造成主机的宕机。

  5、Teardrop:IP数据包在网络传递时,数据包可以分成更小的片段。攻击者可以通过发送两段(或者更多)数据包来实现TearDrop攻击。第一个包的偏移量为0,长度为N,第二个包的偏移量小于N。为了合并这些数据段,TCP/IP堆栈会分配超乎寻常的巨大资源,从而造成系统资源的缺乏甚至机器的重新启动。

  6、PingSweep:使用ICMP Echo轮询多个主机。

  7、Pingflood:该攻击在短时间内向目的主机发送大量ping包,造成网络堵塞或主机资源耗尽。

  四、如何防御DoS/DdoS攻击

  当某一天,你登陆服务器时,感觉服务器运行缓慢,甚至是根本就远程连接不上,数据中心机房工作人员通知你服务器流量非常大。这时候,你得分析是不是一定是受到了DoS/DDoS攻击。

  以上讲了很多理论性的东西,各位看官可能还不一定都“消化”了。

  那么在此告诉你们一条简单且易懂的命令就可以判定服务器是否真的受到了DoS/DdoS攻击:

  在命令提示符下执行netstat –an,查看当前服务器对外的所有连接,如果发现有大量的SYN_RECEIVED、TIME_WAIT、FIN_WAIT_1等状态存在,而ESTABLISHED很少,则可判定肯定是遭受了资源耗尽攻击。

  如果你的服务器托管在一家比较有条件的数据中心机房里,同时这一家公司又有抗DoS/DdoS攻击设备,不过据我所知,目前市面上大部分数据中心机房里的抗DoS/DDoS攻击设备不是无偿使用的。

  具体怎么得到抗DoS/DDoS攻击设备在此不详细描述,可能是用数据中心机房的设备,有条件的单位也可以自己购买设备。

  这种方法只能够抵抗一小部分的攻击,由于DoS/DDoS攻击的类型很多,加上新的变种攻击手段也层出不穷。

  当你的抗DoS/DDoS攻击设备无法识别那些新的DoS/DDoS攻击,或由于攻击力度太大,抗DoS/DdoS攻击设备自身已经无法正常影响了,甚至攻击的带宽已经远远超出数据中心机房出口的总带宽,这时候安装什么抗攻击设备都是无能为力的。

  相信你理解了Dos/DDoS攻击的真正含义后,你应该会明白我说那句话的意思。

  这个时候你得让数据中心机房通知上级ISP运营商,在他们上级路由上将你的服务器IP地址临时过滤掉。并且你需要与数据中心机房实时保持联系,让他们及时在上级ISP运营商那里得到最新的消息,以便第一时间内将你服务器IP地址予以解封。

  最后,给大家一些比较好的建议:

  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%属于恶意行为。

  在以上五点建议的基础上,同时建议各位服务器管理员朋友,经常检查一下你所管理的服务器运行状况,千万别让自己管理的服务器变成了黑客用来攻击别人的傀儡机,对自己不好,对别人也不好。

原文出处:http://safe.it168.com/a2009/0119/263/000000263529.shtml
 
来源:IT168    作者:大地     
 
 
 
 
 

拒绝服务攻击防范

 
分布式拒绝服务攻击(DDoS)通过强迫企业系统宕机来耗费时间和金钱,对企业造成损害。然而,你可以采取以下几个步骤来保护系统免受分布式拒绝服务攻击……
 
安全研究人员和政府IT人员正在调查一系列分布式拒绝服务攻击(DDoS)正在破坏美国和韩国的政府网站。攻击开始于上周,曾攻击了美国联邦贸易委员会等网站……
 
在分布式拒绝服务攻击(distributed denial-of-service,DDoS)中,攻击者在不同的互联网位置使用大量系统向服务器发送洪水般的伪造流量请求淹没服务器。由于攻击流量……
 
我听说在GoDaddy.com 在Super Bowl期间受到了数量空前的攻击。如果我想要我的公司在特定的时间内可以面对强烈的攻击,我应该采取什么措施来抵挡冲击呢?
 
在下面这种情况下,是否可以访问内部网络:思科互联网边界路由器在没有SSH的情况下运行TFTP,而有个恶意人士获得了证书并拥有了路由器,然后上传了新的配置,打开通信端口?

热门技术手册排行

 

虚拟专用网络 VPN(Virtual Private Network )能通过公用网络Internet建立一个临时的、安全的连接,是一条穿过混乱的公用网络的安全、稳定的隧道。VPN是对企业内部网的扩展,它可以帮助远程用户、公司分支机构、商业伙伴及供应商同公司的内部网建立可信的安全连接,并保证数据的安全传输。许多公司使用VPN向公司外部的员工提供企业网络接入。本手册将围绕VPN进行全方位的讲解。

 

“最佳实践”来自英文Best Practice。维基百科对最佳实践的定义是一个管理学概念,认为存在某种技术、方法、过程、活动或机制可以使生产或者管理实践的结果达到最优,并减少出错的可能性。学习应用IT企业安全的最佳实践,其实就是借鉴别人成功的经验,让自己在保护企业安全方面少走弯路。在本手册中,将集合IT业内关于企业安全的最佳实践,并不断更新,以期在企业安全防护方面提供帮助。

 

虚拟化是数据中心的流行技术,它起源于20世纪60年代。它是把昂贵的计算机资源的利用最大化的方式。典型的服务器的利用率不足40%,虚拟化可以更有效地利用技术资源,并节约固定费用。虚拟化的最大优势是,它允许管理员从中央区域为个人电脑和客户设备提供软件。虚拟化不需要管理员对一般任务进行分别考虑。服务器的关机可以带动多用户的关机。

 

黑客策略和技术一直都在进步。黑客还在继续开发新的攻击工具和黑客方法,来恶意访问系统并攻击你的网络,这样企业在开发和采取恰当的方法防御黑客的攻击就变得非常困难。《黑客攻击技术和策略》的技术指南将介绍黑客的内心想法,并帮助你理解恶意攻击者的动机,也提供了一些黑客攻击具体信息的方式,采用的方法以及企业应该采用的保护敏感数据的方法。这里将会提供大量黑客技术和策路的信息,例如允许黑客获取网络系统或者文件访问的系统特征探测。

 

假如你正在寻找一个漏洞扫描器,你可能已经遇到了大量的非常昂贵的商业解决方案,这些方案都有一长串的性能和优点。不幸的是,如果你和我们之中大部分人的情况一样的话,你一般根本没有运行这些奇特的系统的预算。你可能已经退而求其次,转向考虑使用像SATAN或Saint的免费工具。然而,你可能觉得使用这些工具是一种折衷的办法,因为它们的性能设置不能与商业解决方案相比。这时候你就应该学会使用Nessus! 2005年12月Nessus背后的公司Tenable Network Security Inc.发布了Nessus 3,引进了对该产品的全面检查。在写这篇文章时候的最近版本,Nessus 3.2是在2008年3月发布的。Nessus现在可以在多种平台上使用,包括Windows、各种版本的Linux、FreeBSD、Solaris和Mac OS X。以下是这次Nessus3中的重大变化: 下面将介绍如何使用Nessus工具以及Nessus工具的更新。

查看更多
 
 

登录TechTarget中国

关闭
本服务仅向TechTarget中国的会员开放,请登录或立即免费注册
登录Email
请输入您的登录Email
密码
下次自动登录