下文摘自H3C攻击防范指导手册

泛洪攻击

网络上常常会发生泛洪攻击和网络扫描攻击。泛洪攻击指攻击者向攻击目标发送大量的虚假请求,驱使被攻击者由于不断应付这些无用信息而筋疲力尽,合法的用户却由此无法享受到相应服务,即发生拒绝服务。扫描攻击是攻击者对网络进行主机或端口扫描,通常攻击者通过扫描了解网络的状况,为后续的攻击做准备。
防火墙通过检测网络流量,分析异常流量的特征,能成功检测出各种泛洪攻击和网络扫描攻击,具体功能包括:ICMP Flood 攻击检测、UDP Flood 攻击检测、SYN Flood 攻击检测、连接数限制和扫描攻击检测。

  1. ICMP Flood攻击检测
    短时间内向特定目标不断请求 ICMP 回应,致使目标系统负担过重而不能处理合法的传输任务,就发生了 ICMP Flood。启用 ICMP Flood 攻击检测功能时,要求设置一个连接速率阈值,一旦发现保护主机 ICMP 连接速率超过该值,防火墙会输出发生 ICMP Flood 攻击的告警日志,并且根据用户的配置可以阻止发往该主机的后续连接请求。

  2. UDP Flood攻击检测
    短时间内向特定目标不断发送 UDP 报文,致使目标系统负担过重而不能处理合法的传输任务,就发生了 UDP Flood。启用 UDP Flood 攻击检测功能时,要求设置一个连接速率阈值,一旦发现保护主机响应的 UDP 连接速率超过该值,防火墙会输出发生 UDP Flood 攻击的告警日志,并且根据用户的配置可以阻止发往该主机的后续连接请求。

  3. SYN Flood攻击检测
    由于资源的限制,TCP/IP 栈只能允许有限个 TCP 连接。SYN Flood 伪造 SYN 报文向服务器发起连接,服务器在收到报文后用 SYN_ACK 应答,此应答发出去后,不会收到 ACK 报文,造成一个半连接。若攻击者发送大量这样的报文,会在被攻击主机上出现大量的半连接,耗尽其资源,使正常的用户无法访问,直到半连接超时。在一些创建连接不受限制的实现里,SYN Flood 具有类似的影响,它会消耗掉系统的内存等资源。
    启用 SYN Flood 攻击检测功能时,要求设置一个连接速率阈值和半开连接数量阈值,一旦发现保护主机响应的 TCP 新建连接速率超过连接速度阈值或者半开连接数量超过半开连接数量阈值,防火墙会输出发生 SYN Flood 攻击的告警日志,并且可以根据用户的配置采取以下三种措施:

    • 阻止发往该保护主机的后续连接请求;
    • 切断保护主机上的最老半连接会话;
    • 向 TCP Proxy 添加受保护 IP 地址。
  4. 连接数限制
    连接数限制包括源 IP 连接数限制和目的 IP 连接数限制。启用连接数限制功能时,要求设置一个连接数阈值,一旦 IP 的连接数超过该值,防火墙会输出告警日志,并用可以根据用户配置阻止该 IP新建连接。

  5. 扫描攻击检测
    攻击者运用扫描工具探测目标地址和端口,用来确定哪些目标系统连接在目标网络上以及主机开启哪些端口服务。启用扫描攻击保护功能时,要求设置一个扫描速率阈值,一旦存在 IP 主动发起的连接速率超过该值,则判定该 IP 正在进行扫描探测,防火墙会输出发生扫描攻击的告警日志,阻止扫描者发起的后续连接,并且可以根据用户配置将扫描者加入到黑名单。

TCP代理

1. SYN Flood攻击详细介绍

一般情况下,TCP 连接的建立需要经过三次握手,即:
(1) TCP 连接请求的发起者向目标服务器发送 SYN 报文;
(2) 目标服务器收到 SYN 报文后,建立处于 SYN_RECEIVED 状态的 TCP 半连接,并向发起者回复 SYN ACK 报文,等待发起者的回应;
(3) 发起者收到 SYN ACK 报文后,回应 ACK 报文,这样 TCP 连接就建立起来了。利用 TCP 连接的建立过程,一些恶意的攻击者可以进行 SYN Flood 攻击。攻击者向服务器发送大量请求建立 TCP 连接的 SYN 报文,而不回应服务器的 SYN ACK 报文,导致服务器上建立了大量的 TCP 半连接。从而达到耗费服务器资源,使服务器无法处理正常业务的目的。

2. TCP Proxy功能简介

TCP Proxy 功能用来防止服务器受到 SYN Flood 攻击。客户端通过 TCP 代理请求与受保护的服务器建立连接时,TCP 代理首先验证客户端的请求是否为 SYN Flood 攻击,验证通过后客户端和服务器之间才能建立 TCP 连接,从而避免服务器受到攻击。
TCP Proxy 支持两种代理方式:单向代理和双向代理。单向代理方式是指仅对 TCP 连接的正向报文进行处理;双向代理是指对 TCP 连接的正向和反向报文都进行处理。用户可以根据实际的组网情况进行选择。

例如:在如 图 1-1 所示的组网中,从客户端发出的报文经过TCP代理,而从服务器端发出的报文不经过TCP代理,此时只能使用单向代理方式;在如 图 1-2 所示的组网中,从客户端发出的报文经和从服务器端发出的报文都经过TCP代理,此时可以使用单向代理方式,也可以使用双向代理方式。

3. TCP Proxy处理流程

3.1. 单向代理

单向代理方式下,TCP Proxy的处理流程如 图 1-3 所示。

TCP 代理收到某客户端发来的与受保护服务器(匹配某个受保护 IP 表项)建立 TCP 连接的请求(SYN 报文)后,先代替服务器向客户端回应序号错误的 SYN ACK 报文。如果收到客户端回应的RST 报文,则认为该 TCP 连接请求通过 TCP 代理的验证。一定时间内,TCP 代理收到客户端重发的 SYN 报文后,直接向服务器转发,在客户端和服务器之间建立 TCP 连接。TCP 连接建立后,TCP代理直接转发后续的报文,不对报文进行处理。

3.2. 双向代理

双向代理方式下,TCP Proxy的处理流程如 图 1-4 所示。

TCP 代理收到某客户端发来的与受保护服务器建立 TCP 连接的请求(SYN 报文)后,先代替服务器向客户端回应正常的 SYN ACK 报文(窗口值为 0)。如果收到客户端回应的 ACK 报文,则认为该 TCP 连接请求通过 TCP 代理的验证。TCP 代理再向服务器发送同样的 SYN 报文,并通过三次握手与服务器建立 TCP 连接。双向代理方式中,在客户端和 TCP 代理、TCP 代理和服务器之间建立两个 TCP 连接。由于两个 TCP 连接使用的序号不同,TCP 报文交互过程中,TCP 代理接收到客户端或服务器发送的报文后,需要修改报文序号,再转发给对端,这样才能保证通信正常。

泛洪攻击(Flood)与TCP代理(TCP proxy)相关推荐

  1. 防止SYN泛洪攻击 开启路由器的TCP拦截

    (转载请告诉原作者)原文地址:点击打开链接 防止SYN泛洪攻击 开启路由器的TCP拦截 intercept,大多数的路由器平台都引用了该功能,其主要作用就是防止SYN泛洪攻击.SYN攻击利用的是TCP ...

  2. syn泛洪 过滤_开启路由器的TCP拦截?防止SYN泛洪攻击

    文/王琳 TCP拦截即TCP intercept,大多数的路由器平台都引用了该功能,其主要作用就是防止SYN泛洪攻击.SYN攻击利用的是TCP的③次握手机制,攻击端利用伪造的IP地址向被攻击端发出请求 ...

  3. 使用Python实现SYN 泛洪攻击(SYN Flood)

    SYN泛洪攻击(SYN Flood)是一种比较常用的DoS方式之一.通过发送大量伪造的Tcp连接请求,使被攻击主机资源耗尽(通常是CPU满负荷或者内存不足) 的攻击方式. SYN攻击是客户端向服务器发 ...

  4. nginx tcp代理_nginx——TCP/UDP Load Balancing

    nginx––– tcp and udp 代理 Introduction nginx 反向代理一般都是7层代理,进行http/https 协议层的转发:说起4层代理,一般想到的都是lvs 和 hapr ...

  5. haproxy实现tcp代理

    简介 haproxy大多数情况下在http(七层)代理,如apache,tomcat等,下面我们就来讲下haproxy的tcp(四层)代理,可以用于ssh.mysql.mongodb等多种场合. 需求 ...

  6. nginx安装并支持upstream和tcp代理模块

    wget http://nginx.org/download/nginx-1.4.5.tar.gz tar zxvf nginx-1.4.5.tar.gz cd nginx-1.4.5 Git clo ...

  7. Nginx TCP代理

    nginx 在1.9.0 版本发布以前如果要想做到基于TCP的代理及负载均衡需要通过打名为nginx_tcp_proxy_module的第三方patch来实现,该模块的代码托管在github上 网址: ...

  8. linux 限制连接时间,linux抵御DDoS攻击方法 通过iptables限制TCP连接和频率

    cc攻击一到就有点兵临城下的感觉,正确的设置防护规则可以做到临危不乱,这里给出一个iptables对ip进行连接频率和并发限制,限制单ip连接和频率的设置规则的介绍,下面我们来详细了解linux抵御 ...

  9. nginx安装配置http、tcp代理

    撸了今年阿里.头条和美团的面试,我有一个重要发现.......>>> ### tcp代理 stream {upstream backend{server 192.168.182.12 ...

最新文章

  1. 「屋漏偏逢连夜雨」,Log4j 漏洞还没忙完,新的又来了
  2. Install NSCA
  3. huge page 能给MySQL 带来性能提升吗?
  4. 《SVG精髓》笔记(二)
  5. kettle 数据转换
  6. Azure上基于HTTP trigger的Lambda Function
  7. 根据从日期控件选定的时间以表格形式显示数据_VB项目开发FlexGrid控件使用讲解...
  8. python产生随机数random.random_Python内置random模块生成随机数的方法
  9. 从17 个方面对比 Kafka、RabbitMQ、RocketMQ、ActiveMQ 等分布式消息队列
  10. java的IO知识梳理
  11. 分布式存储系统学习笔记(一)—什么是分布式系统(6)—2PC和Paxos协议
  12. trucksim安装教程
  13. ArcGIS 计算地类净面积工具
  14. 前端开发基本工作内容有哪些?
  15. 什么是支付系统,一分钟带你了解
  16. Kylin 之Cube 构建优化
  17. 2D图片转3D模型软件介绍
  18. 关于解决Windows系统许可证即将过期的问题
  19. (转)看穿机器学习(W-GAN模型)的黑箱
  20. 股神涨跌求剩余股票价格

热门文章

  1. 麦芒七怎么装鸿蒙,华为麦芒7怎么进行双清_清理缓存和恢复出厂设置的方法
  2. solaris与linux区别,solaris与linux命令的区别
  3. Block相关内容梳理
  4. php 函数静态变量,php 函数中静态变量使用的问题实例分析
  5. 2021厦门高考成绩查询,2021年厦门高考成绩排名查询,成绩什么时候可以查询
  6. 【多线程】join()和detach()的用法
  7. 初学Java Web(8)——过滤器和监听器
  8. 对象在JVM中的表示: OOP-Klass模型
  9. ServletJSP学习笔记--导航
  10. IEEE CSO 2009 修订版论文要求