zoukankan      html  css  js  c++  java
  • Cisco 防止SYN Flood 攻击原理

    DoS(Denial of Service拒绝服务)和DDoS(Distributed Denial of Service分布式拒绝服务)攻击是大型网站和网络服务器的安全威胁之一。2000年2月,Yahoo、亚马逊、CNN被攻击等事例,曾被刻在重大安全 事件的历史中。SYN Flood由于其攻击效果好,已经成为目前最流行的DoS和DDoS攻击手段。

    SYN Flood利用TCP协议缺陷,发送了大量伪造的TCP连接请求,使得被攻击方资源耗尽,无法及时回应或处理正常的服务请求。一个正常的TCP连接需要三 次握手,首先客户端发送一个包含SYN标志的数据包,其后服务器返回一个SYN/ACK的应答包,表示客户端的请求被接受,最后客户端再返回一个确认包 ACK,这样才完成TCP连接。在服务器端发送应答包后,如果客户端不发出确认,服务器会等待到超时,期间这些半连接状态都保存在一个空间有限的缓存队列 中;如果大量的SYN包发到服务器端后没有应答,就会使服务器端的TCP资源迅速耗尽,导致正常的连接不能进入,甚至会导致服务器的系统崩溃。

    cisco 防火墙通常用于保护内部网络不受外部网络的非授权访问,它位于客户端和服务器之间,因此利用cisco防火墙来阻止DoS攻击能有效地保护内部的服务器。 针对SYN Flood,cisco防火墙通常有三种防护方式:SYN网关、被动式SYN网关和SYN中继。

    SYN网关 cisco防火墙收到客户端的SYN包时,直接转发给服务器;cisco防火墙收到服务器的SYN/ACK包后,一方面将SYN/ACK包转发给客户端, 另一方面以客户端的名义给服务器回送一个ACK包,完成TCP的三次握手,让服务器端由半连接状态进入连接状态。当客户端真正的ACK包到达时,有数据则 转发给服务器,否则丢弃该包。由于服务器能承受连接状态要比半连接状态高得多,所以这种方法能有效地减轻对服务器的攻击。

    被动式SYN 网关 设置cisco防火墙的SYN请求超时参数,让它远小于服务器的超时期限。cisco防火墙负责转发客户端发往服务器的SYN包,服务器发往客户端的 SYN/ACK包、以及客户端发往服务器的ACK包。这样,如果客户端在cisco防火墙计时器到期时还没发送ACK包,cisco防火墙则往服务器发送 RST包,以使服务器从队列中删去该半连接。由于cisco防火墙的超时参数远小于服务器的超时期限,因此这样能有效防止SYN Flood攻击。

    SYN 中继 cisco防火墙在收到客户端的SYN包后,并不向服务器转发而是记录该状态信息然后主动给客户端回送SYN/ACK包,如果收到客户端的ACK包,表明 是正常访问,由cisco防火墙向服务器发送SYN包并完成三次握手。这样由cisco防火墙做为代理来实现客户端和服务器端的连接,可以完全过滤不可用 连接发往服务器。
  • 相关阅读:
    codeforces 814B An express train to reveries
    codeforces 814A An abandoned sentiment from past
    codeforces 785D D. Anton and School
    codeforces 785C Anton and Fairy Tale
    codeforces 791C Bear and Different Names
    AOP详解
    Spring集成JUnit测试
    Spring整合web开发
    IOC装配Bean(注解方式)
    IOC装配Bean(XML方式)
  • 原文地址:https://www.cnblogs.com/airoot/p/4131950.html
Copyright © 2011-2022 走看看