10-代理上网
本章节下载: 10-代理上网 (1.16 MB)
1 代理上网
代理服务器是一种重要的服务器安全功能,主要工作在开放系统互联(OSI)模型的会话层或应用层,从而起到上网行为控制、提高访问速度以及保护内网安全等作用。在一般情况下,企业设置代理服务器一般都是基于以下几点原因考虑。当前代理功能支持HTTP代理、SOCKS4代理、SOCKS5代理三种方式。
代理服务器是一种重要的服务器安全功能,主要工作在开放系统互联(OSI)模型的会话层或应用层,从而起到上网行为控制、提高访问速度以及保护内网安全等作用。
在一般情况下,企业设置代理服务器一般都是基于以下几点原因考虑:
· 控制员工互联网使用:阻断与工作无关内容,提高工作效率;
· 保障隐私权益:某些代理服务器将更改Web请求包括的IP地址和其他标识信息,保护用户隐私。
· 节省带宽和提升访问速度:如果多次请求或者多个请求是同样的内容,可以跳过从真实服务器取数据的过程,而是直接从代理服务器缓存中获取,提升访问速度。
· 提高安全性:代理服务器支持配置加密Web请求,还可以阻止已知恶意软件站点通过代理服务器进行任何访问,保护企业内网安全。
· 访问被阻止资源:代理服务器允许用户规避公司或政府施加的内容限制(例如查找技术资料需要访问谷歌等境外网站)。
在隐私性和安全性要求较高的环境中,内网终端和服务器不允许和互联网直接通信,必须通过代理设备,保障上网终端的隐私安全,保障业务系统外联尤其是第三方业务互连的隐私安全,避免被攻击。
HTTP代理与SOCKS代理的区别:
· HTTP代理:最简单的一种代理形式,能够代理客户机的HTTP访问,上网浏览网页使用的都是HTTP协议,通常的HTTP代理端口为80、3128或8080端口。
· SOCKS代理:SOCKS代理与HTTP等其他类型的代理不同,它只是简单地传递数据包,而并不关心是何种应用协议,既可以是HTTP协议,也可以是FTP协议,或者其他任何协议,所以SOCKS代理服务器比其他类型的代理服务器速度要快得多。
· SOCKS代理又分为SOCKS4和 SOCKS5,二者不同的是SOCKS4代理只支持TCP协议(即传输控制协议),而SOCKS5代理则既支持TCP协议又支持UDP协议(即用户数据包协议),还支持各种身份验证机制、服务器端远程域名解析等。SOCK4能做到的SOCKS5都可得到,但SOCKS5能够做到的SOCKS则不一定能做到。目前SOCKS5是最常用的一种SOCKS代理。
普通代理扮演的是“中间人”角色,对于连接到它的客户端来说,它是服务端;对于要连接的服务端来说,它是客户端。它就负责在两端之间来回传送HTTP报文。
HTTP客户端向代理发送请求报文,代理服务器需要正确地处理请求和连接,同时向服务器发送请求,并将收到的响应转发给客户端。
隧道代理通过 HTTP 协议正文部分(Body)完成通讯,以 HTTP 的方式实现任意基于 TCP 的应用层协议代理。这种代理使用 HTTP 的 CONNECT 方法建立连接。
HTTP 客户端通过 CONNECT 方法请求隧道代理创建一条到达任意目的服务器和端口的 TCP 连接,并对客户端和服务器之间的后继数据进行盲转发。
SOCKS分为以下几个过程
(1) 认证协商
客户端首先向SOCKS服务器发送自己的协议版本号,以及支持的认证方法。SOCKS服务器向客户端返回协议版本号以及选定的认证方法。
(2) 认证
客户端根据服务器端选定的方法进行认证,如果选定的方法是02,则根据RFC 1929定义的方法进行认证。RFC 1929定义的密码是明文传输,安全性较差。
(3) 请求
SOCKS 5 协议请求方法又分如下三种:
· Connect
比较常见的请求,客服端请求服务器发起链接到目标主机,目标端口的代理。SOCKS 服务器将使用目标主机,目标端口, 客户端的源地址和端口号来评估CONNECT 请求是否通过。成功之后后续流量都会被转发到目标主机的目标端口。
· Bind
BIND 请求通常被用在那些要求目标主机连接客户端的情况。FTP 是一个典型的例子。它建立一个从客户端到服务器的连接来传送命令和状态,而使用另一个从服务器到客户端的连接来传输请求(如LS、GET、PUT)的数据。建立流程如下:
¡ Client随BIND请求,发送其要绑定的地址和端口。
¡ Server返回其创建的监听端口的地址和端口。
¡ Server创建的监听端口有连接后,返回该连接的源地址和端口。
¡ Server端将上述连接中的流量,发送给client的监听端口。
· UDP ASSOCIATE
UDP ASSOCIATE 请求通常是要求建立一个 UDP 中继来处理到来的 UDP 数据包。DST.ADDR 和 DST.PORT 字段包含客户端所希望用来发送 UDP 数据包的 IP 地址和端口号。服务器可以使用这个信息来限制进入的连接。如果客户端在发送这个请求时没有地址和端口信息,客户端必须用全 0 来填充。
当与 UDP 相对应的 TCP 连接中断时,该 UDP 连接也必须中断。
在导航栏中选择“网络配置>基础网络>代理上网>代理服务”,进入代理服务配置页面,如图1-1所示,相关配置说明如表1-1所示。
项目 |
说明 |
启用HTTP代理勾选框 |
启用/禁用HTTP代理服务 |
代理端口 |
代理服务启用的端口,1025-65535,最多支持5个端口号,使用逗号隔开,不可重复,启用服务时必填 |
代理认证勾选框 |
启用/禁用代理用户认证功能,开启时用户使用代理需要输入用户密码进行验证,SOCKS4代理无需认证。 代理认证支持三类:本地用户、第三方的LDAP和RADIUS用户。如启用第三方用户认证需要在“认证管理>高级选项”页面进行配置。 |
已通过策略认证后不再认证勾选框 |
启用/禁用已通过策略认证后不再认证功能,即如果用户已通过认证策略认证,开启代理认证后无需再次认证,启用代理认证之后本功能才能启用。 |
启用SOCKS4/SOCKS5代理勾选框 |
勾选复选框启用SOCKS4/SOCKS5代理,并设置代理端口。勾选复选框启用代理认证,即需要用户名密码进行代理认证,并可选是否开启已通过策略认证后不再认证。 |
启用自动配置(PAC)脚本 |
启用/禁用自动配置(PAC)脚本,点击“编辑脚本”可以编辑PAC脚本文件。 导入PAC脚本的格式需要是UTF-8,导入的PAC 文件最大为350KB。 |
· SOCKS4代理不支持远程域名解析,SOCKS4A代理支持解析域名的IP;SOCKS4和SOCKS4A对于设备的代理功能没有区别,在用户的代理工具上勾选使用SOCKS4A扩展(远程主机名解析功能)、通过代理解析主机名称,就会使用代理解析DNS,不勾选就是SOCKS4代理,不支持解析域名的IP。
· SOCKS4代理不支持认证,若设备的代理服务开启了认证,客户端通过SOCKS4代理上网,是无法认证的,不能上网。若需要上网,则需要取消勾选设备代理服务的认证
· 关于静态绑定用户的说明:如果代理认证未开启,当代理流量经过时,设备会检查该IP或MAC是否为静态绑定用户,是则以同名的代理用户上线,不需要认证。如果代理认证开启,则需要该用户按照代理认证逻辑去进行认证,认证上线之后,复制一份静态绑定用户的信息,在“在线用户”页面,认证用户显示两个该用户信息,一个显示为静态用户,一个显示为代理用户。
在导航栏中选择“网络配置>基础网络>代理上网>代理策略”,进入代理策略显示页面,如下图所示。
图1-2 代理策略显示页面
表1-2 代理策略页面操作说明
项目 |
说明 |
新建 |
单击新建代理策略,可选择创建HTTP、SOCKS4、SOCKS5代理策略。 |
删除 |
删除选中的代理策略。 |
查询 |
查询代理策略,根据过滤条件对策略进行过滤。 |
启用 |
启用代理策略,代理策略启用后开始生效,状态为 |
禁用 |
禁用代理策略 |
优先级 |
调整代理策略优先级顺序 |
匹配次数清零 |
将制定代理策略的匹配次数清零 |
默认规则 |
对未匹配中任何策略的代理流量执行的动作 |
点击<新建>并想下拉菜单中选择“HTTP”,进入HTTP代理配置页面,如图1-3所示。
新建SOCKS4或SOCKS5代理的操作方法如下:
点击<新建>,从下拉菜单选择“SOCKS4(A)”或“SOCKS5”,编辑相关信息,点击<提交>可以新建SOCKS4或SOCKS5代理。
图1-4 新建SOCKS5代理
表1-3 代理策略详细配置说明
项目 |
说明 |
启用 |
启用/禁用代理策略 |
名称 |
代理策略名称 |
描述 |
策略描述 |
源地址 |
匹配策略的源地址 |
目的地址 |
匹配策略的目的地址或者域名 |
动作 |
策略执行动作,包括“允许”和“拒绝”。 |
二级代理服务器 |
只有HTTP代理策略可配置二级代理,新建二级代理策略之前需要先新建二级代理服务器,详细配置请参考二级代理服务器。 |
代理上网IP |
配置设备用哪个IP地址代理上网。 自动选择:自动选择出口IP。 指定:指定设备的某个UP口的IP地址,可配置IPv4、IPv6地址。 |
新建二级代理服务器的操作方法如下:
(1) 在导航栏选择“网络配置>基础网络>代理上网>二级代理服务器”,查看设备上所有的二级代理服务器。
图1-5 二级代理服务器显示页面
(2) 点击<新建>,编辑相关信息,点击<提交>。
图1-6 新建二级代理服务器页面
详细配置请参见下表。
表1-4 二级代理服务器详细配置说明
项目 |
说明 |
名称 |
代理策略名称。 |
描述 |
策略描述。 |
服务器地址 |
二级代理服务器的地址,可配置IP或域名。 |
端口 |
二级代理服务器的代理端口。 |
服务器认证 |
二级代理服务器是否开启代理认证。 |
用户名 |
二级代理服务器认证用户名。 |
密码 |
二级代理服务器认证密码。 |
测试有效性 |
测试二级代理服务器是否有效。 |
如图1-7所示,某公司内网研发、销售、行政部门的IP地址网段分别为10.1.0.0/16、10.2.0.0/16、10.3.0.0/16,设备以路由模式部署在网络中,内网用户通过设备ge0口出去访问外网。使用代理功能对研发网络进行控制,允许研发网络通过代理上网,只能访问指定网站。
(1) 配置接口地址、路由、NAT策略等基础网络配置。
(2) 进入“策略配置>对象管理>地址对象”,点击<新建>按钮,配置地址对象。
图1-8 配置地址对象
(3) 进入“策略配置>控制策略”,点击<新建>按钮,新建一条控制策略,动作为允许,源地址选择已配置的地址对象。
图1-9 配置控制策略
(4) 进入“网络配置>基础网络>代理上网>代理服务”页面,开启代理服务并配置代理端口,如下图所示。
图1-10 配置代理服务
(5) 新建HTTP代理策略。
进入“网络配置>基础网络>代理上网>代理策略”页面,点击“新建>HTTP”,进入HTTP代理配置页面,点击“选择地址对象”选择地址对象,如下图所示。
图1-11 选择地址对象
目的地址选择“指定”,并配置目的域名,动作配置为“允许”,如下图所示。
图1-12 配置目的地址
点击“提交”完成HTTP代理配置,配置完成后如下图所示。
图1-13 代理策略配置完成
(6) 新建SOCKS4、SOCKS5代理。进入“网络配置>基础网络>代理上网>代理策略”页面,点击“新建>SOCKS4”新建SOCKS4代理,点击“新建>SOCKS5”新建SOCKS5代理,配置完成后如下图所示。
图1-14 新建SOCKS、SOCKS5代理
详细步骤请参考客户端代理上网配置举例。
(1) 用户使用HTTP代理访问百度网站。
用户PC访问百度时,弹出认证页面,如图1-15所示;通过认证后代理用户上线,进入在线用户页面可以查看在线用户记录,如图1-16所示。
(2) 在用户PC上抓包查看,如图1-17所示,用户访问百度是直接向代理地址发请求,而不是通常的直接向目的地址发请求。
图1-17 用户PC抓包记录
(3) 进入“网络配置>基础网络>代理上网>代理策略”,可以查看代理策略的匹配次数,如下图所示。
图1-18 代理策略匹配次数
(4) 访问www.hao123.com。
因为代理策略配置只允许目的地址为baidu,所以被代理直接中断连接,如下图所示。
图1-19 代理中断连接
客户端可以用多种设置代理的方式,如:应用软件自带、系统自带、第三方代理软件。
(1) 打开Windows设置,选择“代理服务器设置”,如下图所示。
(2) 手动设置代理,开启“使用代理服务器”,配置代理服务器的地址、端口,如下图所示。
(3) Microsoft edge或者Google Chorme浏览器默认使用的是系统代理,火狐浏览器可以选中设置使用系统代理或者自带设置代理,如下图所示。
此处以SOCKS代理客户端Proxifier为例进行说明。
(1) 打开代理软件后,选择“配置文件>代理服务器”,编辑代理服务器。
(2) 点击“添加”,配置代理服务器的地址、端口、协议(SOCKS4/SOCKS5),若设备界面上SOCKS代理开启了认证,则此处需要选择SOCKS5,并输入用户名密码校验。SOCKS4代理是不支持认证的。
(3) 配置代理规则,选择“配置文件>代理规则”,编辑代理规则,新增一条代理规则,目标主机填写代理服务器的设备IP,动作为Direct放行,表示不代理设备本身。
(4) 默认会有一条Default代理规则,动作指向SOCKS代理10.1.1.1,表示用户的其他上网行为通过SOCKS5代理10.1.1.1。
(5) 选择“配置文件>名称解析”,选择“通过代理解析主机名称”。
有些软件自带代理配置,自带有SOCKS客户端功能,可在网络设置中配置SOCKS代理。此处以QQ为例进行说明。
(1) 打开QQ软件,选择“设置”。
(2) 选择代理类型、代理地址和端口。
· 代理支持的功能模块:控制策略、审计策略、流量控制策略、认证策略、源NAT、白名单、IP-sec VPN、安全中心、用户模块、DNS、用户限额、会话控制、IP-MAC绑定。
· 代理不支持的功能模块:广告推送、应用缓存、APP动态缓存、负载均衡策略、链路负载均衡、策略路由、VRF、SSL证书推送(对HTTP应用不生效)、共享接入、移动终端、SSL VPN、故障监控中心、终端插件推送、DOS攻击防护、扫描攻击防御、ALG。
· SOCKS代理下,访问HTTP网站不推送SSL证书,访问HTTPS可推送证书。
· PAC只支持配置在浏览器上,SOCKS代理工具不支持配置PAC。
· 某些业务端口比如34567、8000、8001、8002等不能配置成代理端口。
· 第三方RADIUS、LDAP用户通过代理认证不会录入用户组。
· HPPT代理不能同时代理IPv4和IPv6,IPv4、IPv6只能同时代理一个。
· SOCKS4代理不支持IPv6,不支持代理UDP。
· SOCKS代理可以配置在浏览器上,则只对浏览器的访问请求生效。
· PAC只支持配置在浏览器上,SOCKS代理工具不支持配置PAC。
· HTTP代理认证用户名不支持冒号,代理认证是采用的HTTP Basic认证方式,根据rfc 2617协议规定,Basic认证用户名不支持冒号。
· 代理支持FTP被动模式,不支持主动模式。
· SOCKS4代理不支持远程域名解析,SOCKS4A代理支持解析域名的IP;SOCKS4和SOCKS4A对于设备的代理功能没有区别,在用户的代理工具上勾选使用SOCKS4A扩展(远程主机名解析功能)、通过代理解析主机名称,就会使用代理解析DNS,不勾选就是SOCKS4代理,不支持解析域名的IP。
· SOCKS4代理不支持认证,若设备的代理服务开启了认证,客户端通过SOCKS4代理上网,是无法认证的,不能上网。若需要上网,则需要取消勾选设备代理服务的认证。
· 代理策略目的域名配置为域名时,客户端发出的连接一定要是域名(一般客户端可配置),否则匹配不上代理策略。
· 第三方代理软件和应用自带代理设置可能存在自身问题导致代理业务不通。
· 代理需要配合DNS代理使用,在设备上必须配置有效的DNS。
· 代理流量需要触发控制策略恶意URL需注意以下三点。
¡ 需开启用户识别模式,即在“用户管理>认证管理>高级选项>全局配置”中,配置用户的识别模式。
¡ HTTP能被阻断,能弹恶意URL页面,但是需要将代理地址在浏览器中排除。
¡ HTTPS能被阻断,但是不能弹恶意URL页面。
· 代理策略配置指定IP上网为内网IP时,需要开启源NAT,否则不能上网。若配置的是自动选择,则可以不需要配源NAT,因为自动选择是通过出接口的IP上网。
· HTTP代理/SOCKS代理支持启用代理认证功能,代理认证支持三类:本地用户、第三方的LDAP和RADIUS用户。如启用第三方用户认证需要在“认证管理>高级选项”页面进行配置。
· 代理认证的用户必须为已配置密码的用户,不支持无密码用户认证。
· 代理认证和设备的认证策略分别是两套独立的认证系统,代理流量不会经过设备的认证策略。
· 代理走解密策略需要使能tcpstack enable和sslproxy-optimize enable用户态协议栈SSL解密功能,默认是开启的。
· 白名单用户通过代理上网,不会匹配代理策略,是直接放通的。
· 二级代理设备场景下,如果在二级代理设备上配置IP-MAC绑定策略,需要配置一级代理的IP和MAC,不能配置真实客户端PC的IP、MAC。
· 如果PC配置了HTTP代理或者SOCKS代理之后,不能访问设备的页面,需要用户在配置代理地址时,将代理设备地址排除。
· 代理无流量超时下线时间默认是15分钟,可通过user-app-proxy timeout enable <1-144000>命令修改超时下线时间;通过user-app-proxy force-logout enable <1-144000> 命令配置代理强制重登录时间。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!