05-TCP Proxy配置

目  录

1 TCP Proxy

1.1 概述

1.1.1 SYN Flood攻击简介

1.1.2 TCP Proxy功能简介

1.1.3 TCP Proxy处理流程

1.2 配置TCP Proxy

1.2.1 配置概述

1.2.2 配置TCP Proxy全局参数

1.2.3 使能TCP Proxy功能

1.2.4 新建静态受保护IP表项

1.2.5 查看受保护IP表项及统计信息

1.3 TCP Proxy典型配置举例

1.4 注意事项

1 TCP Proxy

 

目前,设备仅支持通过Web方式配置TCP Proxy。

1.1  概述

1.1.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半连接。从而达到耗费服务器资源,使服务器无法处理正常业务的目的。

1.1.2  TCP Proxy功能简介

TCP Proxy功能用来防止服务器受到SYN Flood攻击。客户端通过TCP代理请求与受保护的服务器建立连接时,TCP代理首先验证客户端的请求是否为SYN Flood攻击,验证通过后客户端和服务器之间才能建立TCP连接,从而避免服务器受到攻击。

TCP Proxy支持两种代理方式:单向代理和双向代理。单向代理方式是指仅对TCP连接的正向报文进行处理;双向代理是指对TCP连接的正向和反向报文都进行处理。用户可以根据实际的组网情况进行选择。

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

图1-1 单向代理组网

图1-2 双/单向代理组网

1.1.3  TCP Proxy处理流程

1. 单向代理

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

图1-3 单向代理方式的TCP Proxy处理流程

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

2. 双向代理

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

图1-4 双向代理方式的TCP Proxy处理流程

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

1.2  配置TCP Proxy

tcp 代理的作用的更多相关文章

  1. nginx TCP 代理& windows傻瓜式安装

    一.下载nginx Windows http://nginx.org/en/download.html 二.解压到目录 三.进入目录并start nginx.exe即可启动 cd d:/java/ng ...

  2. nginx : TCP代理和负载均衡的stream模块

    一直以来,Nginx 并不支持tcp协议,所以后台的一些基于TCP的业务就只能通过其他高可用负载软件来完成了,比如Haproxy. 这算是一个nginx比较明显的缺憾.不过,在1.90发布后这个认知将 ...

  3. iOS进阶之TCP代理鉴权过程

    这段时间接触了网络代理,而自己的任务是完成TCP和UDP的网络代理,所以在这里写些自己的理解吧. 这篇文章先介绍一下TCP代理的鉴权过程(采用的是用户名和密码鉴权),下一篇文章再介绍UDP代理的鉴权过 ...

  4. 早期nginx tcp代理(基于patch实现)

    nginx tcp代理功能由nginx_tcp_proxy_module模块提供,同时监测后端主机状态.该模块包括的模块有: ngx_tcp_module, ngx_tcp_core_module, ...

  5. Nginx 配置TCP代理

    Nginx 1.9 版本以后增加了stream模块,可以对tcp,udp请求进行代理和负载均衡了,今天来体验一下首先编译安装过程configure的时候增加选项 --with-stream --wit ...

  6. nginx做TCP代理实现群集

    nginx做TCP代理实现群集 nginx从版本1.9开始,既能做HTTP代理,又能做TCP代理,这就非常完美了. 配置nginx.conf. 为了简单起见,笔者故意去掉了HTTP代理配置部分,只保留 ...

  7. 一个简单的tcp代理实现

    There are a number of reasons to have a TCP proxy in your tool belt, bothfor forwarding traffic to b ...

  8. Nginx TCP代理

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

  9. 创建一个TCP代理

    代理技术 代理一般被我们用于"穿墙",具体来说可以看这里,或者查wiki.理解代理背后的原理之后,便很容易知道,代理的作用不仅仅只是"穿墙".例如我们可以把经过 ...

随机推荐

  1. 某DP题目5

    题意 一个游戏里有k种装备,一开始等级为1,每打败一个怪兽,会随机掉落一件一种类型的装备,它的等级为[1,t+1]中的随机一个数,t为当前佩戴的类型的装备的等级,若掉落t+1等级的装备,就会佩戴该装备 ...

  2. 自己动手写js分享插件 [支持https] (可以分享QQ空间,微信,新浪微博。。。)

    由于百度分享,jiathis 等分享插件在https下均会报错,就萌生了自己动手写一个分享插件的念头,其实实现起来一点都不难,以下代码都已在https网站运行通过,特附上以下代码:还请各位看官不吝赐教 ...

  3. 别闹了,你还在记密码? | 1password 备忘&教程

    每个人在网上或电脑离线软件上都会有一些账号和密码. 这些账号,如果你设置成一个呢,不安全,尤其是如果你很多地方的账号密码都是同一套的话,如果在一个安全系数比较低的地方被盗号了,那其他地方也瞬间都不安全 ...

  4. 企业应用:浅谈 “数据权限” 和 查询 API 设计

    背景 多数企业应用都需要对数据权限进行控制,如:某个用户只能看到某个范围的数据(数据行).某个用户只能看到某几列数据(数据列).本文以数据行级别的权限控制为范例,谈谈如何设计权限模型和查询 API. ...

  5. vim/vi的文件内、跨文件复制粘贴操作、替换操作

    vi/vim 中可以使用 :s 命令来替换字符串 1.s/vivian/sky/ 替换当前行第一个 vivian 为 sky 2.:s/vivian/sky/g 替换当前行所有 vivian 为 sk ...

  6. C#文本文件(.txt)读写 [转]

    目录 前言 读取txt文件 写入txt文件 前言 计算机在最初只支持ASCII编码,但是后来为了支持其他语言中的字符(比如汉字)以及一些特殊字符(比如€),就引入了Unicode字符集.基于Unico ...

  7. qt study 泛型和容器

    所谓泛型(generic) 能够像操作基本类型一样轻松操作对象的类和函数. qt容器类就是泛型类,基于模板的泛型类. 重载运算符overloaed operator, 托管容器 managed con ...

  8. uva 10518 - How Many Calls?(矩阵快速幂)

    题目链接:uva 10518 - How Many Calls? 公式f(n) = 2 * F(n) - 1, F(n)用矩阵快速幂求. #include <stdio.h> #inclu ...

  9. Deep Learning论文笔记之(一)K-means特征学习

    Deep Learning论文笔记之(一)K-means特征学习 zouxy09@qq.com http://blog.csdn.net/zouxy09          自己平时看了一些论文,但老感 ...

  10. WebApi-如何实现接口加密

    方法一 加一个访问token.例如你的api地址是http://www.example.com/api.php需要接受的参数有a,b,c三个那么可以加一个验证token(通过约定的key加密生成). ...