怎样做到很好的防御DDOS攻击呢
随着Internet互联网络带宽的增加和多种DDoS黑客工具的不断发布,DDoS拒绝服务攻击的实施越来越容易,DDoS攻击事件正在成上升趋势。出于商业竞争、打击报复和网络敲诈等多种因素,导致很多IDC托管机房、商业站点、游戏服务器、聊天网络等网络服务商长期以来一直被DDoS攻击所困扰,随之而来的是客户投诉、同虚拟主机用户受牵连、法律纠纷、商业损失等一系列问题,因此,解决DDoS攻击问题成为网络服务商必须考虑的头等大事。
DDoS是英文Distributed Denial of Service的缩写,意即分布式拒绝服务,那么什么又是拒绝服务(Denial of Service)呢?可以这么理解,凡是能导致合法用户不能够访问正常网络服务的行为都算是拒绝服务攻击。也就是说拒绝服务攻击的目的非常明确,就是要阻止合法用户对正常网络资源的访问,从而达成攻击者不可告人的目的。
虽然同样是拒绝服务攻击,但是DDoS和DOS还是有所不同,DDoS的攻击策略侧重于通过很多僵尸主机(被攻击者入侵过或可间接利用的主机) 向受害主机发送大量看似合法的网络包,从而造成网络阻塞或服务器资源耗尽而导致拒绝服务,分布式拒绝服务攻击一旦被实施,攻击网络包就会犹如洪水般涌向受害主机,从而把合法用户的网络包淹没,导致合法用户无法正常访问服务器的网络资源,因此,拒绝服务攻击又被称之为洪水式攻击。
常见的DDoS攻击手段有SYN Flood、ACK Flood、UDP Flood、ICMP Flood、TCP Flood、Connections Flood、Script Flood、Proxy Flood等;而DOS则侧重于通过对主机特定漏洞的利用攻击导致网络栈失效、系统崩溃、主机死机而无法提供正常的网络服务功能,从而造成拒绝服务,常见的DOS攻击手段有TearDrop、Land、Jolt、IGMP Nuker、Boink、Smurf、Bonk、OOB等。就这两种拒绝服务攻击而言,危害较大的主要是DDoS攻击,原因是很难防范,至于DOS攻击,通过给主机服务器打补丁或安装防火墙软件就可以很好地防范,后文会详细介绍怎么对付DDoS攻击。 三、被DDoS了吗?
DDoS的表现形式主要有两种,一种为流量攻击,主要是针对网络带宽的攻击,即大量攻击包导致网络带宽被阻塞,合法网络包被虚假的攻击包淹没而无法到达主机;另一种为资源耗尽攻击,主要是针对服务器主机的攻击,即通过大量攻击包导致主机的内存被耗尽或CPU被内核及应用程序占完而造成无法提供网络服务。
当然,这样测试的前提是你到服务器主机之间的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地址。
DoS攻击几乎是从互联网络的诞生以来,就伴随着互联网络的发展而一直存在也不断发展和升级。值得一提的是,要找DoS的工具一点不难,黑客群居的网络社区都有共享黑客软件的传统,并会在一起交流攻击的心得经验,你可以很轻松的从Internet上获得这些工具,像以上提到的这些DoS攻击软件都是可以从网上随意找到的公开软件。所以任何一个上网者都可能构成网络安全的潜在威胁。DoS攻击给飞速发展的互联网络安全带来重大的威胁。
要避免系统免受DoS攻击,从前两点来看,网络管理员要积极谨慎地维护系统,确保无安全隐患和漏洞;而针对第三点的恶意攻击方式则需要安装防火墙等安全设备过滤DoS攻击,同时强烈建议网络管理员应当定期查看安全设备的日志,及时发现对系统的安全威胁行为。
Internet支持工具就是其中的主要解决方案之一,包括SuperStack3Firewall、WebCache以及ServerLoadBalancer。不但作为安全网关设备的3ComSuperStack3防火墙在缺省预配置下可探测和防止“拒绝服务”(DoS)以及“分布式拒绝服务”(DDoS)等黑客侵袭,强有力的保护您的网络,使您免遭未经授权访问和其他来自Internet的外部威胁和侵袭;而且3ComSuperStack3ServerLoadBalancer在为多服务器提供硬件线速的4-7层负载均衡的同时,还能保护所有服务器免受“拒绝服务”(DoS)攻击;同样3ComSuperStack3WebCache在为企业提供高效的本地缓存的同时,也能保证自身免受“拒绝服务”(DoS)攻击。
常见攻击与防范 原理: 攻击时,攻击者巧妙的利用了反弹服务器群来将洪水数据包反弹给目标主机 反弹服务是指某些服务器在收到一个请求数据报后就会产生一个回应数据报。所有的 Web 服务器、DNS 服务器及路 由器都是反弹服务器,他们会对 SYN 报文或其他 TCP 报文回应 SYNACKs 或 RST 报文, 以及对一些 IP 报文回应 ICMP 数据报超时或目的地不可达消息的数据 报。任何用于普通目的 TCP 连 接许可的网络服务器都可以用做数据包反射服务器
配置路由器、防火墙和入侵检测系统来抵御常见DDoS攻击
Smurf
·确定你是否成为了攻击平台:对不是来自于你的内部网络的信息包进行监控;监控大容量的回音请求和回音应答信息包。
·避免被当做一个攻击平台:在所有路由器上禁止IP广播功能;将不是来自于内部网络的信息包过滤掉。
·减轻攻击的危害:在边界路由器对回音应答信息包进行过滤,并丢弃;对于Cisco路由器,使用CAR来规定回音应答信息包可以使用的带宽最大值。
trinoo
·确定你是否成为攻击平台:在master程序和代理程序之间的通讯都是使用UDP协议,因此对使用UDP协议(类别17)进行过滤;攻击者用TCP端口27655与master程序连接,因此对使用TCP(类别6)端口27655连接的流进行过滤;master与代理之间的通讯必须要包含字符串“l44”,并被引导到代理的UDP端口27444,因此对与UDP端口27444连接且包含字符串l44的数据流进行过滤。
·避免被用作攻击平台:将不是来自于你的内部网络的信息包过滤掉。
·减轻攻击的危害:从理论上说,可以对有相同源IP地址的、相同目的IP地址的、相同源端口的、不通目的端口的UDP信息包序列进行过滤,并丢弃它们。
TFN
·确定你是否成为攻击平台:对不是来自于内部网络的信息包进行监控。
·避免被用作攻击平台:不允许一切到你的网络上的ICMP回音和回音应答信息包,当然这会影响所有要使用这些功能的Internet程序;将不是来源于内部网络的信息包过滤掉。
Stacheldraht
·确定你是否成为攻击平台:对ID域中包含值666、数据域中包含字符串“skillz”或ID域中包含值667、数据域中包含字符串“ficken”的ICMP回音应答信息包进行过滤;对源地址为“3333”的ICMP信息包和ICMP信息包数据域中包含字符串“spoofworks”的数据流进行过滤。
·手工防护
一般而言手工方式防护DDOS主要通过两种形式:
系统优化――主要通过优化被攻击系统的核心参数,提高系统本身对DDoS攻击的响应能力。但是这种做法只能针对小规模的DDOS进行防护。
网络追查――遭受DDoS攻击的系统的管理人员一般第一反应是询问上一级网络运营商,这有可能是ISP、IDC等,目的就是为了弄清楚攻击源头。 防火墙几乎是最常用的安全产品,但是防火墙设计原理中并没有考虑针对DDOS攻击的防护,在某些情况下,防火墙甚至成为DDOS攻击的目标而导致整个网络的拒绝服务。
首先是防火墙缺乏DDOS攻击检测的能力。通常,防火墙作为三层包转发设备部署在网络中,一方面在保护内部网络的同时,它也为内部需要提供外部Internet服务的设备提供了通路,如果DDOS攻击采用了这些服务器允许的合法协议对内部系统进行攻击,防火墙对此就无能为力,无法精确的从背景流量中区分出攻击流量。虽然有些防火墙内置了某些模块能够对攻击进行检测,但是这些检测机制一般都是基于特征规则,DDOS攻击者只要对攻击数据包稍加变化,防火墙就无法应对,对DDOS攻击的检测必须依赖于行为模式的算法。
第二个原因就是传统防火墙计算能力的限制,传统的防火墙是以高强度的检查为代价,检查的强度越高,计算的代价越大。而DDOS攻击中的海量流量会造成防火墙性能急剧下降,不能有效地完成包转发的任务。最好防火墙的部署位置也影响了其防护DDOS攻击的能力。传统防火墙一般都是部署在网络入口位置,虽然某种意义上保护了网络内部的所有资源,但是其往往也成为DDOS攻击的目标,攻击者一旦发起DDOS攻击,往往造成网络性能的整体下降,导致用户正常请求被拒绝。
拒绝服务(DoS)攻击是目前黑客广泛使用的一种攻击手段,它通过独占网络资源、使其他主机不能进行正常访问,从而导致宕机或网络瘫痪。
DoS攻击主要分为Smurf、SYNFlood和Fraggle三种,在Smurf攻击中,攻击者使用ICMP数据包阻塞服务器和其他网络资源;SYNFlood攻击使用数量巨大的TCP半连接来占用网络资源;Fraggle攻击与Smurf攻击原理类似,使用UDPecho请求而不是ICMPecho请求发起攻击。
尽管网络安全专家都在着力开发阻止DoS攻击的设备,但收效不大,因为DoS攻击利用了TCP协议本身的弱点。正确配置路由器能够有效防止DoS攻击。以Cisco路由器为例,Cisco路由器中的IOS软件具有许多防止DoS攻击的特性,保护路由器自身和内部网络的安全。
使用扩展访问列表
扩展访问列表是防止DoS攻击的有效工具。它既可以用来探测DoS攻击的类型,也可以阻止DoS攻击。ShowIPaccess-list命令能够显示每个扩展访问列表的匹配数据包,根据数据包的类型,用户就可以确定DoS攻击的种类。如果网络中出现了大量建立TCP连接的请求,这表明网络受到了SYNFlood攻击,这时用户就可以改变访问列表的配置,阻止DoS攻击。
使用QoS
使用服务质量优化(QoS)特征,如加权公平队列(WFQ)、承诺访问速率(CAR)、一般流量整形(GTS)以及定制队列(CQ)等,都可以有效阻止DoS攻击。需要注意的是,不同的QoS策略对付不同DoS攻击的效果是有差别的。例如,WFQ对付PingFlood攻击要比防止SYNFlood攻击更有效,这是因为PingFlood通常会在WFQ中表现为一个单独的传输队列,而SYNFlood攻击中的每一个数据包都会表现为一个单独的数据流。此外,人们可以利用CAR来限制ICMP数据包流量的速度,防止Smurf攻击,也可以用来限制SYN数据包的流量速度,防止SYNFlood攻击。使用QoS防止DoS攻击,需要用户弄清楚QoS以及DoS攻击的原理,这样才能针对DoS攻击的不同类型采取相应的'防范措施。
使用单一地址逆向转发
逆向转发(RPF)是路由器的一个输入功能,该功能用来检查路由器接口所接收的每一个数据包。如果路由器接收到一个源IP地址为1010101的数据包,但是CEF(CiscoExpressForwarding)路由表中没有为该IP地址提供任何路由信息,路由器就会丢弃该数据包,因此逆向转发能够阻止Smurf攻击和其他基于IP地址伪装的攻击。
使用RPF功能需要将路由器设为快速转发模式(CEFswitching),并且不能将启用RPF功能的接口配置为CEF交换。RPF在防止IP地址欺骗方面比访问列表具有优势,首先它能动态地接受动态和静态路由表中的变化;第二RPF所需要的操作维护较少;第三RPF作为一个反欺骗的工具,对路由器本身产生的性能冲击,要比使用访问列表小得多。
使用TCP拦截
Cisco在IOS113版以后,引入了TCP拦截功能,这项功能可以有效防止SYNFlood攻击内部主机。
在TCP连接请求到达目标主机之前,TCP拦截通过拦截和验证来阻止这种攻击。TCP拦截可以在拦截和监视两种模式下工作。在拦截模式下,路由器拦截到达的TCP同步请求,并代表服务器建立与客户机的连接,如果连接成功,则代表客户机建立与服务器的连接,并将两个连接进行透明合并。在整个连接期间,路由器会一直拦截和发送数据包。对于非法的连接请求,路由器提供更为严格的对于half-open的超时限制,以防止自身的资源被SYN攻击耗尽。在监视模式下,路由器被动地观察流经路由器的连接请求,如果连接超过了所配置的建立时间,路由器就会关闭此连接。
在Cisco路由器上开启TCP拦截功能需要两个步骤:一是配置扩展访问列表,以确定需要保护的IP地址;二是开启TCP拦截。配置访问列表是为了定义需要进行TCP拦截的源地址和目的地址,保护内部目标主机或网络。在配置时,用户通常需要将源地址设为any,并且指定具体的目标网络或主机。如果不配置访问列表,路由器将会允许所有的请求经过。
使用基于内容的访问控制
基于内容的访问控制(CBAC)是对Cisco传统访问列表的扩展,它基于应用层会话信息,智能化地过滤TCP和UDP数据包,防止DoS攻击。
CBAC通过设置超时时限值和会话门限值来决定会话的维持时间以及何时删除半连接。对TCP而言,半连接是指一个没有完成三阶段握手过程的会话。对UDP而言,半连接是指路由器没有检测到返回流量的会话。
CBAC正是通过监视半连接的数量和产生的频率来防止洪水攻击。每当有不正常的半连接建立或者在短时间内出现大量半连接的时候,用户可以判断是遭受了洪水攻击。CBAC每分钟检测一次已经存在的半连接数量和试图建立连接的频率,当已经存在的半连接数量超过了门限值,路由器就会删除一些半连接,以保证新建立连接的需求,路由器持续删除半连接,直到存在的半连接数量低于另一个门限值;同样,当试图建立连接的频率超过门限值,路由器就会采取相同的措施,删除一部分连接请求,并持续到请求连接的数量低于另一个门限值。通过这种连续不断的监视和删除,CBAC可以有效防止SYNFlood和Fraggle攻击。
路由器是企业内部网络的第一道防护屏障,也是黑客攻击的一个重要目标,如果路由器很容易被攻破,那么企业内部网络的安全也就无从谈起,因此在路由器上采取适当措施,防止各种DoS攻击是非常必要的。用户需要注意的是,以上介绍的几种方法,对付不同类型的DoS攻击的能力是不同的,对路由器CPU和内存资源的占用也有很大差别,在实际环境中,用户需要根据自身情况和路由器的性能来选择使用适当的方式。
我们常说的一般是指DOS(Denial of Service)攻击,即拒绝服务,其主要危害是使计算机或网络无法提供正常的服务。
对于DDOS(Distributed Denial of Service)攻击来说,即“分布式拒绝服务”,它是属于DoS攻击的一种。DDOS攻击主要是将多个计算机联合起来,并对一个或多个目标计算机/服务器发动攻击,从而攻击的威力会成倍增加。
虽然都是拒绝服务攻击,但DOS和DDOS攻击还是有一定区别的。DOS攻击侧重于通过对服务器特定的漏洞,利用DOS攻击导致网络连接失败、系统崩溃、电脑死机等情况的发生。而DDOS攻击则通过很多“僵尸主机”向目标主机发送大量“看似”合法的流量包,从而造成网络阻塞或服务器资源耗尽而导致拒绝服务。
平常我们在租用服务器时,一般机房遭到攻击大多属于DOS攻击,这个会使整个服务器崩溃、宕机。当然,如果是我们个人主机遭到攻击(主要是DDOS攻击)的话,那么,会消耗大量的服务器资源,例如流量和带宽,这种情况机房那边也会封停你的账户的。
随着DOS和DDOS攻击事件的频发,防范工作就显得迫在眉睫了。尤其是对于咱们租用服务器的站长来说,防范DOS和DDOS攻击不能仅仅依靠主机商或者数据机房,更应该加强自身的网络安全防范意识。
当然,对付DOS和DDOS攻击是一个系统性工程,做好安全防范肯定是可以。不过,要想完全杜绝的话,有点不大现实。目前,很多主机商为解决这一问题,都提供高防服务器产品,也就是增强抵御DOS和DDOS攻击的能力,其效果也很显著。
现在每天都有很多网站遭受到DDOS攻击,相关的数据丢失、连带责任纠纷、商业损失等等问题也层出不穷。为此,作为站长来说,咱们在租用海外服务器时,应该注重以下几点,以便做好DOS和DDOS攻击的安全防范工作。
带宽资源要充足。带宽直接决定了抗DDOS攻击的能力,以目前主流的5M、100带宽的服务器来说,无论采取那种措施都很难应对。当下,至少要选择100M带宽的,越多越好。例如,RAKsmart美国高防服务器基本都是100M带宽、10T流量,基本能到底10G DDoS防护能力。
服务器的硬件配置。在带宽以及流量有充分保障的前提下,服务器的硬件配置必须的跟上。当然,主要的因素还是CPU和内存,大家在选择时千万别贪图便宜。其实,现在能够高防御DDOS攻击的服务器价格也不贵,为了网站的数据安全着想,大家也别吝啬这一点费用。
规范自身操作设置。对于DOS和DDOS攻击的防范,主要的防御能力还是取决于服务器以及机房本身。但是,对于咱们用户来说,也需要做到安全操作才行。例如,不要上传陌生、特殊后缀名的文件到服务器上、不要点击来历不明的链接、不安装来路不明的软件,从而杜绝因自身操作问题而导致服务器被攻击。同时,最好是定期对网站的文件进行安全扫描,这样对新出现的漏洞、病毒文件也能及时的发现并清理。
11
机房防火墙的配置。一般来说,在骨干节点配置防火墙的话,能有效抵御DOS和DDOS攻击。因为防火墙在发现受到攻击时,可以将攻击导向一些“无用”的服务器,这样可以保护运行中的服务器不被攻击。因此,机房的防火墙配置也很重要,大家在租用服务器时,建议选择防火墙性能配置比较高、比较完善的数据机房,这样对网站数据安全也多带来一层安全防护。
12
随着互联网的不断发展,网络安全问题也日益凸出,DOS和DDOS攻击也越来越多。同时,出于商业竞争、网络勒索等多种原因,导致很多IDC机房、电商网站、游戏服务器等网络服务业长期受到网络攻击的困扰。因此,解决DOS和DDOS等网络攻击已成为IDC行业必须要考虑并解决的头等大事。
0条评论