如何防范tcp syn flood,第1张

SYN Flood是当前最流行的DoS(拒绝服务攻击)与DDoS(分布式拒绝服务攻击)的方式之一,它是利用TCP协议缺陷,发送大量伪造的TCP连接请求,从而使得被攻击方资源耗尽(CPU满负荷或内存不足)的攻击方式,最终导致系统或服务器宕机。

  在讨论SYN Flood原理前,我们需要从TCP连接建立的过程开始说起:

  TCP与UDP不同,它是基于连接的,为了在服务端和客户端之间传送TCP数据,必须先建立一个虚拟电路,也就是TCP连接。也就是我们经常听说的TCP协议中的三次握手(Three-way Handshake),建立TCP连接的标准过程如下:

  首先,客户端发送一个包含SYN标志的TCP报文,SYN即同步(Synchronize),同步报文会指明客户端使用的端口以及TCP连接的初始序号;

  其次,服务器在收到客户端的SYN报文后,将返回一个SYN+ACK(即确认Acknowledgement)的报文,表示客户端的请求被接受,同时TCP初始序号自动加一。

  最后,客户端也返回一个确认报文ACK给服务器端,同样TCP序列号被加一,到此一个TCP连接完成。

  SYN Flood攻击正是利用了TCP连接的三次握手,假设一个用户向服务器发送了SYN报文后突然死机或掉线,那么服务器在发出SYN+ACK应答报文后是无法收到客户端的ACK报文的(第三次握手无法完成),这种情况下服务器端一般会重试(再次发送SYN+ACK给客户端)并等待一段时间后丢弃这个未完成的连接,这段时间的长度我们称为SYN Timeout,一般来说这个时间是分钟的数量级(大约为30秒-2分钟);一个用户出现异常导致服务器的一个线程等待1分钟并不会对服务器端造成什么大的影响,但如果有大量的等待丢失的情况发生,服务器端将为了维护一个非常大的半连接请求而消耗非常多的资源。我们可以想象大量的保存并遍历也会消耗非常多的CPU时间和内存,再加上服务器端不断对列表中的IP进行SYN+ACK的重试,服务器的负载将会变得非常巨大。如果服务器的TCP/IP栈不够强大,最后的结果往往是堆栈溢出崩溃。相对于攻击数据流,正常的用户请求就显得十分渺小,服务器疲于处理攻击者伪造的TCP连接请求而无暇理睬客户的正常请求,此时从正常客户会表现为打开页面缓慢或服务器无响应,这种情况就是我们常说的服务器端SYN Flood攻击(SYN洪水攻击)。

  从防御角度来讲,存在几种的解决方法:

第一种是缩短SYN Timeout时间,由于SYN Flood攻击的效果取决于服务器上保持的SYN半连接数,这个值=SYN攻击的频度 x SYN Timeout,所以通过缩短从接收到SYN报文到确定这个报文无效并丢弃改连接的时间,例如设置为20秒以下,可以成倍的降低服务器的负荷。但过低的SYN Timeout设置可能会影响客户的正常访问。

  第二种方法是设置SYN Cookie,就是给每一个请求连接的IP地址分配一个Cookie,如果短时间内连续受到某个IP的重复SYN报文,就认定是受到了攻击,并记录地址信息,以后从这个IP地址来的包会被一概丢弃。这样做的结果也可能会影响到正常用户的访问。

  上述的两种方法只能对付比较原始的SYN Flood攻击,缩短SYN Timeout时间仅在对方攻击频度不高的情况下生效,SYN Cookie更依赖于对方使用真实的IP地址,如果攻击者以数万/秒的速度发送SYN报文,同时利用SOCK_RAW随机改写IP报文中的源地址,以上的方法将毫无用武之地。

洪泛区、蓄滞洪区和防洪保护区。

防洪区是指洪水泛滥可能淹及的地区,洪泛区是指尚无工程设施保护的洪水泛滥所及的地区。蓄滞洪区是指包括分洪口在内的河堤背水面以外临时贮存洪水的低洼地区及湖泊等。防洪保护区是指在防洪标准内受防洪工程设施保护的地区。

根据洪水规律与洪灾特点,研究并采取各种对策和措施,以防止或减轻洪水灾害,保障社会经济发展的水利工作。其基本工作内容有防洪规划、防洪建设、防洪工程的管理和运用、防汛(防凌)、洪水调度和安排、灾后恢复重建等。防洪措施包括工程措施和非工程措施。防洪也是水利科学的一项重要专业学科。

拒绝服务(DoS)攻击是目前黑客广泛使用的一种攻击手段,它通过独占网络资源、使其他主机不 能进行正常访问,从而导致宕机或网络瘫痪。

DoS攻击主要分为Smurf、SYN Flood和Fraggle三种,在Smurf攻击中,攻击者使用ICMP数据包阻塞服务器和其他网络资源;SYN Flood攻击使用数量巨大的TCP半连接来占用网络资源;Fraggle攻击与Smurf攻击原理类似,使用UDP echo请求而不是ICMP echo请求发起攻击。

尽管网络安全专家都在着力开发阻止DoS攻击的设备,但收效不大,因为DoS攻击利用了TCP协议本身的弱点。正确配置路由器能够有效防止DoS攻击。以Cisco路由器为例,Cisco路由器中的IOS软件具有许多防止DoS攻击的特性,保护路由器自身和内部网络的安全。

使用扩展访问列表

扩展访问列表是防止DoS攻击的有效工具。它既可以用来探测DoS攻击的类型,也可以阻止DoS攻击。Show ip access-list命令能够显示每个扩展访问列表的匹配数据包,根据数据包的类型,用户就可以确定DoS攻击的种类。如果网络中出现了大量建立TCP连接的请求,这表明网络受到了SYN Flood攻击,这时用户就可以改变访问列表的配置,阻止DoS攻击。

使用QoS

使用服务质量优化(QoS)特征,如加权公平队列(WFQ)、承诺访问速率(CAR)、一般流量整形(GTS)以及定制队列(CQ)等,都可以有效阻止DoS攻击。需要注意的是,不同的QoS策略对付不同DoS攻击的效果是有差别的。例如,WFQ对付Ping Flood攻击要比防止SYN Flood攻击更有效,这是因为Ping Flood通常会在WFQ中表现为一个单独的传输队列,而SYN Flood攻击中的每一个数据包都会表现为一个单独的数据流。此外,人们可以利用CAR来限制ICMP数据包流量的速度,防止Smurf攻击,也可以用来限制SYN数据包的流量速度,防止SYN Flood攻击。使用QoS防止DoS攻击,需要用户弄清楚QoS以及DoS攻击的原理,这样才能针对DoS攻击的不同类型采取相应的防范措施。

使用单一地址逆向转发

逆向转发(RPF)是路由器的一个输入功能,该功能用来检查路由器接口所接收的每一个数据包。如果路由器接收到一个源IP地址为1010101的数据包,但是CEF(Cisco Express Forwarding)路由表中没有为该IP地址提供任何路由信息,路由器就会丢弃该数据包,因此逆向转发能够阻止Smurf攻击和其他基于IP地址伪装的攻击。

使用RPF功能需要将路由器设为快速转发模式(CEF switching),并且不能将启用RPF功能的接口配置为CEF交换。RPF在防止IP地址欺骗方面比访问列表具有优势,首先它能动态地接受动态和静态路由表中的变化;第二RPF所需要的操作维护较少;第三RPF作为一个反欺骗的工具,对路由器本身产生的性能冲击,要比使用访问列表小得多。

使用TCP拦截

Cisco在IOS 113版以后,引入了TCP拦截功能,这项功能可以有效防止SYN Flood攻击内部主机。

在TCP连接请求到达目标主机之前,TCP拦截通过拦截和验证来阻止这种攻击。TCP拦截可以在拦截和监视两种模式下工作。在拦截模式下,路由器拦截到达的TCP同步请求,并代表服务器建立与客户机的连接,如果连接成功,则代表客户机建立与服务器的连接,并将两个连接进行透明合并。在整个连接期间,路由器会一直拦截和发送数据包。对于非法的连接请求,路由器提供更为严格的对于half-open的超时限制,以防止自身的资源被SYN攻击耗尽。在监视模式下,路由器被动地观察流经路由器的连接请求,如果连接超过了所配置的建立时间,路由器就会关闭此连接。

在Cisco路由器上开启TCP拦截功能需要两个步骤:一是配置扩展访问列表,以确定需要保护的IP地址;二是开启TCP拦截。配置访问列表是为了定义需要进行TCP拦截的源地址和目的地址,保护内部目标主机或网络。在配置时,用户通常需要将源地址设为any,并且指定具体的目标网络或主机。如果不配置访问列表,路由器将会允许所有的请求经过。

使用基于内容的访问控制

基于内容的访问控制(CBAC)是对Cisco传统访问列表的扩展,它基于应用层会话信息,智能化地过滤TCP和UDP数据包,防止DoS攻击。

CBAC通过设置超时时限值和会话门限值来决定会话的维持时间以及何时删除半连接。对TCP而言,半连接是指一个没有完成三阶段握手过程的会话。对UDP而言,半连接是指路由器没有检测到返回流量的会话。

CBAC正是通过监视半连接的数量和产生的频率来防止洪水攻击。每当有不正常的半连接建立或者在短时间内出现大量半连接的时候,用户可以判断是遭受了洪水攻击。CBAC每分钟检测一次已经存在的半连接数量和试图建立连接的频率,当已经存在的半连接数量超过了门限值,路由器就会删除一些半连接,以保证新建立连接的需求,路由器持续删除半连接,直到存在的半连接数量低于另一个门限值;同样,当试图建立连接的频率超过门限值,路由器就会采取相同的措施,删除一部分连接请求,并持续到请求连接的数量低于另一个门限值。通过这种连续不断的监视和删除,CBAC可以有效防止SYN Flood和Fraggle攻击。

路由器是企业内部网络的第一道防护屏障,也是黑客攻击的一个重要目标,如果路由器很容易被攻破,那么企业内部网络的安全也就无从谈起,因此在路由器上采取适当措施,防止各种DoS攻击是非常必要的。用户需要注意的是,以上介绍的几种方法,对付不同类型的DoS攻击的能力是不同的,对路由器CPU和内存资源的占用也有很大差别,在实际环境中,用户需要根据自身情况和路由器的性能来选择使用适当的方

http://wwwqqreadcom/net-manage/s318815020html

(1)要避免在低洼地带、山体滑坡威胁区域活动。每年夏初要对房前屋后进行检查,留心附近地质变化,看是否有危险迹象。

(2)要熟悉周围环境,自备必要的防水、排水设施,如帆布、编织袋、沙石、木板、抽水泵等。注意收听当地气象防汛部门]的预报。特别是人群密集区要及时做好人员疏导转移等工作。

2、暴雨洪水发生后:

(1)发现重大征兆或已经发生灾害时,尽快将消息传递出去,引起重视,争取控制灾害发展和救援。

(2)在紧急情况下,头脑冷静,行动快速,果断放4弃。暴雨洪水突发性强,陡涨陡落,持续时间短。当发现河道涨水,要迅速撤离,不可麻痹迟疑。汛期河道涨洪时,千万不要强行过河,要耐心等河水退了以后过河,或长距离绕行过河

(3)在发生暴雨洪水时,行人避雨要远离高压线路、电器设备等危险区域,雷雨时要关闭手机。

(4)及时对溺水者进行人工呼吸等紧急救护等。

防洪措施包括防洪工程措施和防洪非工程措施。

1.防洪工程措施主要有堤防、河道整治工程、分蓄洪工程与水库等,通过这些工程手段以扩大河道泄量、分流、疏导和拦蓄洪水,以减轻洪水灾害。

2.防洪非工程措施,主要内容有洪水预报、洪水警报、洪泛区管理、洪水保险、河道清障(或河道管理)、超标准洪水防御措施等,通过这些非工程的措施,可以避开、预防洪水侵袭,更好地发挥防洪工程的效益,以减轻洪灾损失。河道是渲泄洪水的通道。提高河道泄洪能力是平原地区防洪的基本措施,修筑堤防是这一措施的重要组成部分。堤防在防洪中的作用是:约束水流,提高河道泄洪排水能力。限制洪水泛滥,保护两岸工农业生产和人民生命财产安全。抗御风浪和海潮,防止风暴潮侵袭陆地。

堤防的建设,一般都与河道整治密切结合。例如为了扩大河道泄洪能力,除加高培厚堤防还要采取疏浚河道、裁弯取直、改建退建以及及时清除河道内的阻水障碍物等措施。为了巩固堤防,需要修建河道流势的控导工程和险工段的防护工程等。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 如何防范tcp syn flood

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情