第09讲 典型黑客攻击之(一)
拒绝服务攻防
DoS攻击的概念
DoS攻击的现象与原理
如何组织DDoS攻击
DDoS攻击实例
DDoS的防范
目标、重点、难点
目标:理解DoS 的概念,了解DoS攻击的
现象,理解如何组织一次DDoS攻击,了解
DoS攻击的防范方法..
重点: DDoS攻击方法\防范方法
难点: DDoS攻击方法
DoS攻击的概念
DoS是Denial of Service的简称,即拒绝服
务,造成DoS的攻击行为被称为DoS攻击,
其目的是使计算机或网络无法提供正常的服
务。最常见的DoS攻击有计算机网络带宽攻
击和连通性攻击。带宽攻击指以极大的通信
量冲击网络,使得所有可用网络资源都被消
耗殆尽,最后导致合法的用户请求就无法通
过。连通性攻击指用大量的连接请求冲击计
算机,使得所有可用的操作系统资源都被消
耗殆尽,最终计算机无法再处理合法用户的
请求。
DoS攻击
分布式拒绝服务(DDoS:Distributed Denial
of Service)攻击是目前黑客经常采用而难以
防范的攻击手段。分布式拒绝服务攻击指借
助于客户/服务器技术,将多个计算机联合起
来作为攻击平台,对一个或多个目标发动
DoS攻击,从而成倍地提高拒绝服务攻击的
威力。通常,攻击者使用一个偷窃帐号将
DDoS主控程序安装在一个计算机上,在一
个设定的时间主控程序将与大量代理程序通
讯,代理程序已经被安装在Internet上的许多
计算机上。代理程序收到指令时就发动攻击。
利用客户/服务器技术,主控程序能在几秒钟
内激活成百上千次代理程序的运行。
DDoS攻击
DoS的攻击方式有很多种,最基本的DoS
攻击就是利用合理的服务请求来占用过多的
服务资源,从而使合法用户无法得到服务的
响应。
DDoS攻击手段是在传统的DoS攻击基础之上
产生的一类攻击方式。单一的DoS攻击一般是采
用一对一方式的,当攻击目标CPU速度低、内存
小或者网络带宽小等等各项性能指标不高它的效
果是明显的。随着计算机与网络技术的发展,计
算机的处理能力迅速增长,内存大大增加,同时
也出现了千兆级别的网络,这使得DoS攻击的困
难程度加大了-目标对恶意攻击包的"消化能力"加
强了不少,例如你的攻击软件每秒钟可以发送
3,000个攻击包,但我的主机与网络带宽每秒钟可
以处理10,000个攻击包,这样一来攻击就不会产
生什么效果。
这时侯分布式的拒绝服务攻击手段(这时侯分布式的拒绝服务攻击手段(DDoSDDoS)就)就
应运而生了。你理解了应运而生了。你理解了DoSDoS攻击的话,它的原理就攻击的话,它的原理就
很简单。如果说计算机与网络的处理能力加大了很简单。如果说计算机与网络的处理能力加大了1010
倍,用一台攻击机来攻击不再能起作用的话,攻击倍,用一台攻击机来攻击不再能起作用的话,攻击
者使用者使用1010台攻击机同时攻击呢?用台攻击机同时攻击呢?用100100台呢?台呢?DDoSDDoS
就是利用更多的傀儡机来发起进攻,以比从前更大就是利用更多的傀儡机来发起进攻,以比从前更大
的规模来进攻受害者。的规模来进攻受害者。
高速广泛连接的网络给大家带来了方便,也为高速广泛连接的网络给大家带来了方便,也为
DDoSDDoS攻击创造了极为有利的条件。在低速网络时攻击创造了极为有利的条件。在低速网络时
代时,黑客占领攻击用的傀儡机时,总是会优先代时,黑客占领攻击用的傀儡机时,总是会优先
考虑离目标网络距离近的机器,因为经过路由器考虑离目标网络距离近的机器,因为经过路由器
的跳数少,效果好。而现在电信骨干节点之间的的跳数少,效果好。而现在电信骨干节点之间的
连接都是以连接都是以GG为级别的,大城市之间更可以达到为级别的,大城市之间更可以达到
的连接,这使得攻击可以从更远的地方或者的连接,这使得攻击可以从更远的地方或者
其他城市发起,攻击者的傀儡机位置可以在分布其他城市发起,攻击者的傀儡机位置可以在分布
在更大的范围,选择起来更灵活了。在更大的范围,选择起来更灵活了。
DoS攻击的现象与原
理
被被DDoSDDoS攻击时的现象攻击时的现象 ::
vv 被攻击主机上有大量等待的被攻击主机上有大量等待的TCPTCP连接连接
vv 网络中充斥着大量的无用的数据包,源地址为网络中充斥着大量的无用的数据包,源地址为
假假
vv 制造高流量无用数据,造成网络拥塞,使受害制造高流量无用数据,造成网络拥塞,使受害
主机无法正常和外界通讯主机无法正常和外界通讯
vv 利用受害主机提供的服务或传输协议上的缺陷,利用受害主机提供的服务或传输协议上的缺陷,
反复高速的发出特定的服务请求,使受害主机反复高速的发出特定的服务请求,使受害主机
无法及时处理所有正常请求无法及时处理所有正常请求
vv 严重时会造成系统死机严重时会造成系统死机
DDoSDDoS攻击原理攻击原理 ::
如图一,一个比较完善的如图一,一个比较完善的DDoSDDoS攻击体系分成四攻击体系分成四
大部分,先来看一下最重要的第大部分,先来看一下最重要的第22和第和第33部分:它们分部分:它们分
别用做控制和实际发起攻击。请注意控制机与攻击机别用做控制和实际发起攻击。请注意控制机与攻击机
的区别,对第的区别,对第44部分的受害者来说,部分的受害者来说,DDoSDDoS的实际攻击的实际攻击
包是从第包是从第33部分攻击傀儡机上发出的,第部分攻击傀儡机上发出的,第22部分的控制部分的控制
机只发布命令而不参与实际的攻击。对第机只发布命令而不参与实际的攻击。对第22和第和第33部分部分
计算机,黑客有控制权或者是部分的控制权,并把相计算机,黑客有控制权或者是部分的控制权,并把相
应的应的DDoSDDoS程序上传到这些平台上,这些程序与正常程序上传到这些平台上,这些程序与正常
的程序一样运行并等待来自黑客的指令,通常它还会的程序一样运行并等待来自黑客的指令,通常它还会
利用各种手段隐藏自己不被别人发现。在平时,这些利用各种手段隐藏自己不被别人发现。在平时,这些
傀儡机器并没有什么异常,只是一旦黑客连接到它们傀儡机器并没有什么异常,只是一旦黑客连接到它们
进行控制,并发出指令的时候,攻击傀儡机就成为害进行控制,并发出指令的时候,攻击傀儡机就成为害
人者去发起攻击了。人者去发起攻击了。
有的朋友也许会问道:有的朋友也许会问道:""为什么黑客不直接去控制攻击为什么黑客不直接去控制攻击
傀儡机,而要从控制傀儡机上转一下呢?傀儡机,而要从控制傀儡机上转一下呢?""。这就是导。这就是导
致致DDoSDDoS攻击难以追查的原因之一了。做为攻击者的攻击难以追查的原因之一了。做为攻击者的
角度来说,肯定不愿意被捉到(我在小时候向别人家角度来说,肯定不愿意被捉到(我在小时候向别人家
的鸡窝扔石头的时候也晓得在第一时间逃掉,呵呵),的鸡窝扔石头的时候也晓得在第一时间逃掉,呵呵),
而攻击者使用的傀儡机越多,他实际上提供给受害者而攻击者使用的傀儡机越多,他实际上提供给受害者
的分析依据就越多。在占领一台机器后,高水平的攻的分析依据就越多。在占领一台机器后,高水平的攻
击者会首先做两件事:击者会首先做两件事:1. 1. 考虑如何留好后门(我以后考虑如何留好后门(我以后
还要回来的哦)!还要回来的哦)!2. 2. 如何清理日志。这就是擦掉脚印,如何清理日志。这就是擦掉脚印,
不让自己做的事被别人查觉到。比较不敬业的黑客会不让自己做的事被别人查觉到。比较不敬业的黑客会
不管三七二十一把日志全都删掉,但这样的话网管员不管三七二十一把日志全都删掉,但这样的话网管员
发现日志都没了就会知道有人干了坏事了,顶多无法发现日志都没了就会知道有人干了坏事了,顶多无法
再从日志发现是谁干的而已。相反,真正的好手会挑再从日志发现是谁干的而已。相反,真正的好手会挑
有关自己的日志项目删掉,让人看不到异常的情况。有关自己的日志项目删掉,让人看不到异常的情况。
这样可以长时间地利用傀儡机。这样可以长时间地利用傀儡机。
但是在第3部分攻击傀儡机上清理日志实
在是一项庞大的工程,即使在有很好的日志
清理工具的帮助下,黑客也是对这个任务很
头痛的。这就导致了有些攻击机弄得不是很
干净,通过它上面的线索找到了控制它的上
一级计算机,这上级的计算机如果是黑客自
己的机器,那么他就会被揪出来了。但如果
这是控制用的傀儡机的话,黑客自身还是安
全的。控制傀儡机的数目相对很少,一般一
台就可以控制几十台攻击机,清理一台计算
机的日志对黑客来讲就轻松多了,这样从控
制机再找到黑客的可能性也大大降低 。
如何组织DDoS攻
击
这里用“组织”这个词,是因为DDoS
并不象入侵一台主机那样简单。一般来说,
黑客进行DDoS攻击时会经过这样的步骤:
1. 1. 搜集了解目标的情况搜集了解目标的情况
下列情况是黑客非常关心的情报:下列情况是黑客非常关心的情报:
vv 被攻击目标主机数目、地址情况被攻击目标主机数目、地址情况
vv 目标主机的配置、性能目标主机的配置、性能
vv 目标的带宽目标的带宽
对于对于DDoSDDoS攻击者来说,攻击互联网上的某个攻击者来说,攻击互联网上的某个
站点,如站点,如http://,有一个重点,有一个重点
就是确定到底有多少台主机在支持这个站点,一就是确定到底有多少台主机在支持这个站点,一
个大的网站可能有很多台主机利用负载均衡技术个大的网站可能有很多台主机利用负载均衡技术
提供同一个网站的提供同一个网站的wwwwww服务。以服务。以yahooyahoo为例,一为例,一
般会有下列地址都是提供般会有下列地址都是提供http://
服务的:服务的:
如果要进行如果要进行DDoSDDoS攻击的话,应该攻击哪攻击的话,应该攻击哪
一个地址呢?使一个地址呢?使这台机器瘫掉,但这台机器瘫掉,但
其他的主机还是能向外提供其他的主机还是能向外提供wwwwww服务,所以想服务,所以想
让别人访问不到让别人访问不到http://的话,的话,
要所有这些要所有这些IPIP地址的机器都瘫掉才行。在实际地址的机器都瘫掉才行。在实际
的应用中,一个的应用中,一个IPIP地址往往还代表着数台机器:地址往往还代表着数台机器:
网站维护者使用了四层或七层交换机来做负载网站维护者使用了四层或七层交换机来做负载
均衡,把对一个均衡,把对一个IPIP地址的访问以特定的算法分地址的访问以特定的算法分
配到下属的每个主机上去。这时对于配到下属的每个主机上去。这时对于DDoSDDoS攻攻
击者来说情况就更复杂了,他面对的任务可能击者来说情况就更复杂了,他面对的任务可能
是让几十台主机的服务都不正常。是让几十台主机的服务都不正常。
所以说事先搜集情报对DDoS攻击者来
说是非常重要的,这关系到使用多少台傀
儡机才能达到效果的问题。简单地考虑一
下,在相同的条件下,攻击同一站点的2台
主机需要2台傀儡机的话,攻击5台主机可
能就需要5台以上的傀儡机。有人说做攻击
的傀儡机越多越好,不管你有多少台主机
我都用尽量多的傀儡机来攻就是了,反正
傀儡机超过了时候效果更好。
但在实际过程中,有很多黑客并不进
行情报的搜集而直接进行DDoS的攻击,这
时候攻击的盲目性就很大了,效果如何也
要靠运气。其实做黑客也象网管员一样,
是不能偷懒的。一件事做得好与坏,态度
最重要,水平还在其次。
2.占领傀儡机
黑客最感兴趣的是有下列情况的主机:
vv链路状态好的主机
vv性能好的主机
vv安全管理水平差的主机
这一部分实际上是使用了另一大类的攻击手这一部分实际上是使用了另一大类的攻击手
段:利用形攻击。这是和段:利用形攻击。这是和DDoSDDoS并列的攻击方式。并列的攻击方式。
简单地说,就是占领和控制被攻击的主机。取得简单地说,就是占领和控制被攻击的主机。取得
最高的管理权限,或者至少得到一个有权限完成最高的管理权限,或者至少得到一个有权限完成
DDoSDDoS攻击任务的帐号。对于一个攻击任务的帐号。对于一个DDoSDDoS攻击者来攻击者来
说,准备好一定数量的傀儡机是一个必要的条件,说,准备好一定数量的傀儡机是一个必要的条件,
下面说一下他是如何攻击并占领它们的。下面说一下他是如何攻击并占领它们的。
首先,黑客做的工作一般是扫描,随机地或首先,黑客做的工作一般是扫描,随机地或
者是有针对性地利用扫描器去发现互联网上那些者是有针对性地利用扫描器去发现互联网上那些
有漏洞的机器,象程序的溢出漏洞、有漏洞的机器,象程序的溢出漏洞、cgicgi、、
UnicodeUnicode、、ftpftp、数据库漏洞、数据库漏洞…(…(简直举不胜举啊简直举不胜举啊)),,
都是黑客希望看到的扫描结果。随后就是尝试入都是黑客希望看到的扫描结果。随后就是尝试入
侵了,具体的手段就不在这里多说了,感兴趣的侵了,具体的手段就不在这里多说了,感兴趣的
话网上有很多关于这些内容的文章。话网上有很多关于这些内容的文章。
总之黑客现在占领了一台傀儡机了!
然后他做什么呢?除了上面说过留后门擦
脚印这些基本工作之外,他会把DDoS攻击
用的程序上载过去,一般是利用ftp。在攻
击机上,会有一个DDoS的发包程序,黑客
就是利用它来向受害目标发送恶意攻击包
的。
.实际攻击实际攻击
经过前经过前22个阶段的精心准备之后,黑客就个阶段的精心准备之后,黑客就
开始瞄准目标准备发射了。前面的准备做得好的开始瞄准目标准备发射了。前面的准备做得好的
话,实际攻击过程反而是比较简单的。就象图示话,实际攻击过程反而是比较简单的。就象图示
里的那样,黑客登录到做为控制台的傀儡机,向里的那样,黑客登录到做为控制台的傀儡机,向
所有的攻击机发出命令:所有的攻击机发出命令:""预备预备~ ~ ,瞄准,瞄准~~,开火,开火
!"!"。这时候埋伏在攻击机中的。这时候埋伏在攻击机中的DDoSDDoS攻击程序就攻击程序就
会响应控制台的命令,一起向受害主机以高速度会响应控制台的命令,一起向受害主机以高速度
发送大量的数据包,导致它死机或是无法响应正发送大量的数据包,导致它死机或是无法响应正
常的请求。黑客一般会以远远超出受害方处理能常的请求。黑客一般会以远远超出受害方处理能
力的速度进行攻击,他们不会力的速度进行攻击,他们不会""怜香惜玉怜香惜玉""。。
老到的攻击者一边攻击,还会用各种
手段来监视攻击的效果,在需要的时候进
行一些调整。简单些就是开个窗口不断地
ping目标主机,在能接到回应的时候就再
加大一些流量或是再命令更多的傀儡机来
加入攻击。
DDoS攻击实例
著名的DoS攻击有:
1.死亡之PING
2.泪滴
洪水
洪水
攻击
欺骗DoS攻击
7.塞满服务器的硬盘
DDoS攻击实例 - SYN Flood攻击
SYN-Flood是目前最流行的DDoS攻击
手段,早先的DoS的手段在向分布式这一
阶段发展的时候也经历了浪里淘沙的过程。
SYN-Flood的攻击效果最好,应该是众黑
客不约而同选择它的原因吧。那么我们一
起来看看SYN-Flood的详细情况。
vv Syn Flood原理 - 三次握手
Syn Flood利用了TCP/IP协议的固有漏
洞。面向连接的TCP三次握手是Syn Flood
存在的基础。
TCP连接的三次握手:
如图二,在第一步中,客户端向服务
端提出连接请求。这时TCP SYN标志置位。
客户端告诉服务端序列号区域合法,需要
检查。客户端在TCP报头的序列号区中插
入自己的ISN。服务端收到该TCP分段后,
在第二步以自己的ISN回应(SYN标志置位),
同时确认收到客户端的第一个TCP分段
(ACK标志置位)。在第三步中,客户端确
认收到服务端的ISN(ACK标志置位)。到此
为止建立完整的TCP连接,开始全双工模
式的数据传输过程。
Syn Flood攻击者不会完成三次握手
假设一个用户向服务器发送了假设一个用户向服务器发送了SYNSYN报文后突报文后突
然死机或掉线,那么服务器在发出然死机或掉线,那么服务器在发出SYN+ACKSYN+ACK应答应答
报文后是无法收到客户端的报文后是无法收到客户端的ACKACK报文的(第三次握报文的(第三次握
手无法完成),这种情况下服务器端一般会重试手无法完成),这种情况下服务器端一般会重试
(再次发送(再次发送SYN+ACKSYN+ACK给客户端)并等待一段时间给客户端)并等待一段时间
后丢弃这个未完成的连接,这段时间的长度我们称后丢弃这个未完成的连接,这段时间的长度我们称
为为SYN TimeoutSYN Timeout,一般来说这个时间是分钟的数量,一般来说这个时间是分钟的数量
级(大约为级(大约为3030秒秒-2-2分钟);一个用户出现异常导致分钟);一个用户出现异常导致
服务器的一个线程等待服务器的一个线程等待11分钟并不是什么很大的问题,分钟并不是什么很大的问题,
但如果有一个恶意的攻击者大量模拟这种情况,服但如果有一个恶意的攻击者大量模拟这种情况,服
务器端将为了维护一个非常大的半连接列表而消耗务器端将为了维护一个非常大的半连接列表而消耗
非常多的资源非常多的资源--------数以万计的半连接,即使是简单的数以万计的半连接,即使是简单的
保存并遍历也会消耗非常多的保存并遍历也会消耗非常多的CPUCPU时间和内存,何时间和内存,何
况还要不断对这个列表中的况还要不断对这个列表中的IPIP进行进行SYN+ACKSYN+ACK的重的重
试。。试。。
实际上如果服务器的TCP/IP栈不够强大,
最后的结果往往是堆栈溢出崩溃---即使服务
器端的系统足够强大,服务器端也将忙于处
理攻击者伪造的TCP连接请求而无暇理睬客
户的正常请求(毕竟客户端的正常请求比率
非常之小),此时从正常客户的角度看来,
服务器失去响应,这种情况我们称做:服务
器端受到了SYN Flood攻击(SYN洪水攻击)。
在实验室中模拟的一次Syn Flood攻击的实际过
程:
这一个局域网环境,只有一台攻击机(
PIII667/128/mandrake),被攻击的是一台
Solaris (spark)的主机,网络设备是Cisco
的百兆交换机。这是在攻击并未进行之前,
在Solaris上进行snoop的记录,snoop与
tcpdump等网络监听工具一样,也是一个很好
的网络抓包与分析的工具。可以看到攻击之
前,目标主机上接到的基本上都是一些普通
的网络包。
…
…
? -> (broadcast) ETHER Type=886F (Unknown), size = 1510 bytes
? -> (broadcast) ETHER Type=886F (Unknown), size = 1510 bytes
? -> (multicast) ETHER Type=0000 (LLC/), size = 52 bytes
? -> (broadcast) ETHER Type=886F (Unknown), size = 1510 bytes
-> NBT Datagram Service Type=17 Source=GU[0]
-> NBT Datagram Service Type=17
Source=ROOTDC[20]
-> NBT Datagram Service Type=17 Source=TSC[0]
? -> (broadcast) ETHER Type=886F (Unknown), size = 1510 bytes
-> (broadcast) ARP C Who is , ?
? -> (broadcast) ETHER Type=886F (Unknown), size = 1510 bytes
? -> (broadcast) ETHER Type=886F (Unknown), size = 1510 bytes
-> NBT Datagram Service Type=17 Source=GU[0]
-> NBT Datagram Service Type=17 Source=GU[0]
-> NBT Datagram Service Type=17
Source=ROOTDC[20]
? -> (multicast) ETHER Type=0000 (LLC/), size = 52 bytes
? -> (broadcast) ETHER Type=886F (Unknown), size = 1510 bytes
? -> (broadcast) ETHER Type=886F (Unknown), size = 1510 bytes
…
…
接着,攻击机开始发包,DDoS开始了…,
突然间sun主机上的snoop窗口开始飞速地翻
屏,显示出接到数量巨大的Syn请求。这时
的屏幕就好象是时速300公里的列车上的一扇
车窗。这是在Syn Flood攻击时的snoop输出
结果:
…
…
-> AUTH C port=1352
-> TCP D=114 S=1352 Syn Seq=674711609 Len=0
Win=65535
-> TCP D=115 S=1352 Syn Seq=674711609 Len=0
Win=65535
-> UUCP-PATH C port=1352
-> TCP D=118 S=1352 Syn Seq=674711609 Len=0
Win=65535
-> NNTP C port=1352
-> TCP D=121 S=1352 Syn Seq=674711609 Len=0
Win=65535
-> TCP D=122 S=1352 Syn Seq=674711609 Len=0
Win=65535
-> TCP D=124 S=1352 Syn Seq=674711609 Len=0
Win=65535
-> TCP D=125 S=1352 Syn Seq=674711609 Len=0
Win=65535
-> TCP D=126 S=1352 Syn Seq=674711609 Len=0
Win=65535
-> TCP D=128 S=1352 Syn Seq=674711609 Len=0
Win=65535
-> TCP D=130 S=1352 Syn Seq=674711609 Len=0
Win=65535
-> TCP D=131 S=1352 Syn Seq=674711609 Len=0
Win=65535
-> TCP D=133 S=1352 Syn Seq=674711609 Len=0
Win=65535
-> TCP D=135 S=1352 Syn Seq=674711609 Len=0
Win=65535
… …
这时候内容完全不同了,再也收不到刚
才那些正常的网络包,只有DDoS包。大家注
意一下,这里所有的Syn Flood攻击包的源地
址都是伪造的,给追查工作带来很大困难。
这时在被攻击主机上积累了多少Syn的半连
接呢?我们用netstat来看一下:
# netstat -an | grep SYN
…
…
0 0 24656 0 SYN_RCVD
0 0 24656 0 SYN_RCVD
0 0 24656 0 SYN_RCVD
0 0 24656 0 SYN_RCVD
0 0 24656 0 SYN_RCVD
0 0 24656 0 SYN_RCVD
0 0 24656 0 SYN_RCVD
0 0 24656 0 SYN_RCVD
0 0 24656 0 SYN_RCVD
…
…
其中其中SYN_RCVDSYN_RCVD表示当前未完成的表示当前未完成的TCP SYNTCP SYN队队
列,统计一下:列,统计一下:
# # netstatnetstat -an | -an | grepgrep SYN | SYN | wcwc -l -l
52735273
# # netstatnetstat -an | -an | grepgrep SYN | SYN | wcwc -l -l
51545154
# # netstatnetstat -an | -an | grepgrep SYN | SYN | wcwc -l -l
52675267
…..…..
共有五千多个共有五千多个SynSyn的半连接存储在内存中。这时的半连接存储在内存中。这时
候被攻击机已经不能响应新的服务请求了,系统运行候被攻击机已经不能响应新的服务请求了,系统运行
非常慢,也无法非常慢,也无法pingping通。通。
这是在攻击发起后仅仅 这是在攻击发起后仅仅7070秒钟左右时的情况。秒钟左右时的情况。
DDoS攻击防范
到目前为止,进行DDoS攻击的防御还是
比较困难的。首先,这种攻击的特点是它利用
了TCP/IP协议的漏洞,除非你不用TCP/IP,才
有可能完全抵御住DDoS攻击。一位资深的安
全专家给了个形象的比喻:DDoS就好象有
1,000个人同时给你家里打电话,这时候你的
朋友还打得进来吗?
不过即使它难于防范,也不是说我们就
应该逆来顺受,实际上防止DDoS并不是绝
对不可行的事情。互联网的使用者是各种各
样的,与DDoS做斗争,不同的角色有不同
的任务。我们以下面几种角色为例:
vv企业网管理员
vv ISP、ICP管理员
vv骨干网络运营商
预防DDoS攻击的十项安全策略
vv本文是由编写分布式拒绝服务攻击工具TFN
和TFN2K(这些工具曾被用于攻击Yahoo等
大型网站)的德国著名黑客Mixter(年仅20
岁)提供
简单地说,掌握所有可能导致被入侵和
被用于实施拒绝服务攻击的原因和安全漏洞
是非常复杂的。详细地说,没有简单和专门
的方法保护不受到这些攻击,而只能尽可能
地应用各种安全和保护策略。对于每个面临
安全威胁的系统,这里列出了一些简单易行
和快速的安全策略以保护免受这些攻击。
对于面临拒绝服务攻击的目标或潜在目标,应对于面临拒绝服务攻击的目标或潜在目标,应
该采取的重要措施:该采取的重要措施:
11、消除、消除FUDFUD心态心态
FUDFUD的意思是的意思是FearFear(恐惧)、(恐惧)、UncerntaintyUncerntainty(猜测)(猜测)
和和DoubtDoubt(怀疑)。最近发生的攻击可能会使某些(怀疑)。最近发生的攻击可能会使某些
人因为害怕成为攻击目标而整天担心受怕。其实必人因为害怕成为攻击目标而整天担心受怕。其实必
须意识到可能会成为拒绝服务攻击目标的公司或主须意识到可能会成为拒绝服务攻击目标的公司或主
机只是极少数,而且多数是一些著名站点,如搜索机只是极少数,而且多数是一些著名站点,如搜索
引擎、门户站点、大型电子商务和证券公司、引擎、门户站点、大型电子商务和证券公司、IRCIRC
服务器和新闻杂志等。如果不属于这类站点,大可服务器和新闻杂志等。如果不属于这类站点,大可
不必过于担心成为拒绝服务攻击的直接目标。不必过于担心成为拒绝服务攻击的直接目标。
2、要求与ISP协助和合作
获得你的主要互联网服务供应商(ISP)
的协助和合作是非常重要的。分布式拒绝服
务(DDoS)攻击主要是耗用带宽,单凭你
自己管理网络是无法对付这些攻击的。与你
的ISP协商,确保他们同意帮助你实施正确
的路由访问控制策略以保护带宽和内部网络。
最理想的情况是当发生攻击时你的ISP愿意
监视或允许你访问他们的路由器。
3、优化路由和网络结构
如果你管理的不仅仅是一台主机,而是
网络,就需要调整路由表以将拒绝服务攻击
的影响减到最小。为了防止SYN flood攻击,
应设置TCP侦听功能。详细资料请参阅相关
路由器技术文档。另外禁止网络不需要使用
的UDP和ICMP包通过,尤其是不应该允许
出站ICMP“不可到达”消息。
4、优化对外开放访问的主机
对所有可能成为目标的主机都进行优化。
禁止所有不必要的服务。另外多IP主机也会
增加攻击者的难度。建议在多台主机中使用
多IP地址技术,而这些主机的首页只会自动
转向真正的web服务器。
55、正在受到攻击时,必须立刻应用对应策略。、正在受到攻击时,必须立刻应用对应策略。
尽可能迅速地阻止攻击数据包是非常重要的,尽可能迅速地阻止攻击数据包是非常重要的,
同时如果发现这些数据包来自某些同时如果发现这些数据包来自某些ISPISP时应尽快和时应尽快和
他们取得联系。千万不要依赖数据包中的源地址,他们取得联系。千万不要依赖数据包中的源地址,
因为它们在因为它们在DoSDoS攻击中往往都是随机选择的。是否攻击中往往都是随机选择的。是否
能迅速准确地确定伪造来源将取决于你的响应动作能迅速准确地确定伪造来源将取决于你的响应动作
是否迅速,因为路由器中的记录可能会在攻击中止是否迅速,因为路由器中的记录可能会在攻击中止
后很快就被清除。后很快就被清除。
对于已被或可能被入侵和安装DDoS代理端程
序的主机,应该采取的重要措施:
6、消除FUN心态
为可能被入侵的对象,没必要太过紧张,
只需尽快采取合理和有效的措施即可。现在
的拒绝服务攻击服务器都只被安装到Linux
和Solaris系统中。虽然可能会被移植到
*BSD*或其它系统中,但只要这些系统足够
安全,系统被入侵的可能性不大。
77、确保主机不被入侵和是安全的、确保主机不被入侵和是安全的
现在互联网上有许多旧的和新的漏洞攻击程序。 现在互联网上有许多旧的和新的漏洞攻击程序。
以确保你的服务器版本不受这些漏洞影响。记住,以确保你的服务器版本不受这些漏洞影响。记住,
入侵者总是利用已存在的漏洞进入系统和安装攻击入侵者总是利用已存在的漏洞进入系统和安装攻击
程序。系统管理员应该经常检查服务器配置和安全程序。系统管理员应该经常检查服务器配置和安全
问题,运行最新升级的软件版本,最重要的一点就问题,运行最新升级的软件版本,最重要的一点就
是只运行必要的服务。如果能够完全按照以上思路,是只运行必要的服务。如果能够完全按照以上思路,
系统就可以被认为是足够安全,而且不会被入侵控系统就可以被认为是足够安全,而且不会被入侵控
制。制。
8、周期性审核系统
必须意识到你要对自己管理的系统负责。
应该充分了解系统和服务器软件是如何工作
的,经常检查系统配置和安全策略。另外还
要时刻留意安全站点公布的与自发管理的操
作系统及软件有关的最新安全漏洞和问题。
9、检查文件完整性
当确定系统未曾被入侵时,应该尽快这
所有二进制程序和其它重要的系统文件产生
文件签名,并且周期性地与这些文件比较以
确保不被非法修改。另外,强烈推荐将文件
检验和保存到另一台主机或可移动介质中。
这类文件/目录完整性检查的免费工具(如
tripwire等)可以在许多FTP站点上下载。当
然也可以选择购买商业软件包 。
1010、发现正在实施攻击时,必须立刻关闭系统并进行、发现正在实施攻击时,必须立刻关闭系统并进行
调查调查
如果监测到(或被通知)网络或主机正实施攻 如果监测到(或被通知)网络或主机正实施攻
击,应该立刻关闭系统,或者至少切断与网络的连击,应该立刻关闭系统,或者至少切断与网络的连
接。因为这些攻击同时也意味着入侵者已几乎完全接。因为这些攻击同时也意味着入侵者已几乎完全
控制了该主机,所以应该进行研究分析和重新安装控制了该主机,所以应该进行研究分析和重新安装
系统。建议联系安全组织。。必须记往,将攻击者系统。建议联系安全组织。。必须记往,将攻击者
遗留在入侵主机中的所有程序和数据完整地提供给遗留在入侵主机中的所有程序和数据完整地提供给
安全组织或专家是非常重要,因为这能帮助追踪攻安全组织或专家是非常重要,因为这能帮助追踪攻
击的来源击的来源 。。
这里主要给大家讲述了DoS攻防原理和
技术。
小结