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防火墙做为代理来实现客户端和服务器端的连接,可以完全过滤不可用
连接发往服务器。

最新文章

  1. php备份数据库
  2. linux环境下安装tomcat并配置tomcat日志分割
  3. Mybatis逆向工程构建项目实例.
  4. [LintCode] Paint Fence 粉刷篱笆
  5. zabbix的一些优化参数随笔
  6. 兼容iOS 10 资料整理
  7. Java知多少(完结)
  8. PHP MYSQLI中事务处理
  9. 安装MySQL的心得
  10. SATA1.0,2.0,3.0区别
  11. js获取鼠标点击的对象,点击另一个按钮删除该对象
  12. CentOS 6.5 + Nginx 1.8.0 + PHP 5.6(with PHP-FPM) 负载均衡源码安装
  13. 深度学习的异构加速技术(一):AI 需要一个多大的“心脏”?
  14. 1081. Rational Sum (20) -最大公约数
  15. QQ音乐的动效歌词是如何实践的?
  16. 同时使用antd和css module
  17. Nginx实践篇(2)- Nginx作为静态资源web服务 - 控制浏览器缓存、防盗链
  18. 关于Hamilton问题的研究
  19. 传统DNS的问题与HTTPDNS
  20. Nodejs如何把接收图片base64格式保存为文件存储到服务器上

热门文章

  1. 【转】PWM占空比和分辨率
  2. A1377. 楼房重建
  3. ios中get,post和解压缩用法
  4. 【转】发布的QT程序无法显示图标和图片的问题
  5. (六)6.13 Neurons Networks Implements of stack autoencoder
  6. HDU5427
  7. 【英语】Bingo口语笔记(42) - Got系列
  8. Oracle RAC 服务器端连接负载均衡(Load Balance)
  9. 通过github提升自己-测试反馈、持续精进
  10. Effective java笔记5--通用程序设计