正向代理与反向代理的区别工具是什么,反向代理和正向代理的区别?

#31 RemoteAccessTech-004-SDP也是一种SSL VPN?

0、篇首语

近段时间以来,收到反馈想让我讲讲接入技术的呼声一直很高,而且确实随着政策、疫情、攻防演练、业务发展、安全态势等多方面的影响,企业对于接入安全也越来越重视。

而安全业界而言,零信任理念近几年受多方加持越来越火热,不论各家的零信任如何包装粉饰,接入技术也是其无论如何也跳脱不开的基本线。

RemoteAccessTech系列不会讨论零信任理念本身,但是会尝试将远程接入技术拆开来尽量给大家讲清楚。

1)、RemoteAccessTech-001-从互联网边界接入说起

2)、RemoteAccessTech-002-VPN技术发展史浅析(上)

3)、RemoteAccessTech-002-VPN技术发展史浅析(下)

4)、RemoteAccessTech-003-理解隧道协议

1、 SDP 也是一种SSL VPN ?(Comparsion Of RemoteTech)

在 RemoteAccessTech-002-VPN技术发展史浅析(下) 中的 第3.6.2小节 中所述:

所有通过SSL协议进行加密传输的VPN即可称之为SSL VPN,这也是它显著有别于 GRE、IPSEC等VPN关键特征点

显而易见,由于SSL/TLS发展为了安全传输的事实标准,考虑安全,现行所有SDP在传输协议默认均使用了SSL/TLS协议 ,故仅 从接入技术视角SDP也是SSL VPN的一种实现

注:SDP和SSLVPN在接入技术以外的对比,暂不在本系列相关篇幅中涉及,考虑后续系列再补充

2、SDP/SSL VPN的提供的接入能力

正如前面所说,在接入技术视角,SDP和SSL VPN其本质是一致的,所以两者可以一般看待。

那么,典型的SDP/SSL VPN都提供哪些接入能力呢?

再回到 RemoteAccessTech-003-理解隧道协议 中的 第2.2.5章节 中描述如下:

多数SSL VPN厂商都具备如下代理资源类型:

1)、WEB资源乘客协议是7层。而传输协议,由于SSL VPN默认使用SSL,一般认为属于5-6层

2)、TCP资源/代理资源/端口转发资源:多数情况下,这些模式下,只能发布TCP的IP域名。乘客协议为4层,传输协议同前,SSL属于5-6层。

3)、IP资源: 该模式一般能够发布UDP、TCP的IP域名+端口,通常还可以支持ICMP乘客协议为3层,传输协议同前,默认是SSL属于5-6层。

上述资源分类,不仅对SSL VPN, 对 SDP (其接入技术实现上也属于SSL VPN类别) 也同样生效。

3、问题来了,正向代理和反向代理

问题来了,既然SDP/SSL VPN都是提供代理能力,那么在提到代理能力时,还有一个经常被问及的问题:"XX资源是正向代理还是反向代理?"

也就意味着我们需要先区分清楚,什么是正向代理,什么是反向代理

3.1、正向代理和反向代理的概念理解

我们知道,代理是一个中间层,两端一定是要有Client(客户端)和Server(服务供给方),至少需要3方才能形成一个完整的代理活动

那么,有的代理为需求方(Client) 工作 ,有的代理为服务响应方(Serer) 工作,这两者的区别就是 正反向代理 的区别。

1)、正向代理:为Client工作的称之为正向代理对客户端负责,最基础的作用是 隐藏真实客户端

自然世界中,正向代理的场景类比代购、跑腿 ,以及电影名场面:"请和我的律师谈"。


2)、反向代理:为Server 工作的称之为反向代理对服务端负责,最基础的作用是 隐藏真实服务端

自然世界中,反向代理的场景类比,较典型的就是 长租公寓平台 ,可以简单理解为是 规模化的二房东长租公寓平台以一个长期价格,向一手房东统一采购,加以改装,分租给各个独立租户。租客(Client) 并不知道 房东(Server)是谁,而是和 长租公寓平台(代理) 通信、签订协议。

3.2、正向代理

回到技术视角,正向代理(Forward Proxy) ,通常称为代理、代理服务器或 Web 代理,是位于一组客户端计算机之前的服务器。

3.2.1、正向代理的典型场景和用途

1)、代理客户端上网:比如说内网多台PC,通过指定一台代理网关代理可访问互联网。

2)、客户端匿名上网:实现匿名化访问,让服务方(Server)无法知道真实访问者身份。

Proxyium 就是 匿名上网 的一种场景实现,如下是其界面。

不论是代理上网还是匿名上网场景,因为正向代理为客户端服务的,所以客户端事先都需要要知道正向代理的存在。

在代理上网场景,可能表现为 浏览器的代理设置中要填写 正向代理的地址等信息;

在类似上述Proxyium的匿名上网中,就需要事先访问代理站点的地址

3.3、反向代理

反向代理 则是 位于一个或多个WEB服务器前面的代理服务,用于代理客户端的网络请求,防止客户端直接访问服务器

4.2.1、反向代理的典型场景和作用

参考 wiki ( HTTPS://en.wikipedia.org/wiki/Proxy_Server#Forward_proxies ),可以看到反向代理典型用途如下:

1)、 SSL加密/ SSL卸载:通过前置代理网关,对互联网发布HTTPS站点,后端内网服务只需要实现http,即可实现对外SSL加密、对内SSL卸载。

2)、负载均衡:比如说 OA业务有3台Server服务器,3个内网IP,通过代理网关进行轮询负载,能够既对互联网提供统一服务、对内实现多服务器间的负载均衡调度。

3)、缓存/加速:通过前置代理,对静态资源(css、js、图片、视频等)进行缓存和加速,降低真实业务Server的性能占用。

4)、防DDOS:当前一些抗DDOS防护,也会采用7层防护,如CloudflareCDN,就可通过全球的CDN代理节点,可对7层资源进行DDOS防护。

如果正向代理相关场景,是客户端需要感知到正向代理的存在;相对应地,反向代理场景,则是服务端需要感知到反向代理的存在,感知项包括如:域名解析需要调整至反向代理、SSL证书需要配置至反向代理等等,需要完成一定的前置配置。

3.4、透明代理

透明代理在不同的场景下,可能会有不同的含义。一般如果无特殊说明,透明代理 是指 强制正向代理,即一种通过网络层强制代理的机制。

参考wiki( https://en.wikipedia.org/wiki/Proxy_server#Transparent_proxy ),针对透明代理解释如下:

透明代理也称为拦截代理内联代理强制代理,它拦截正常的应用程序层[1]通信,而无需任何特殊的客户端配置。客户端不需要知道代理的存在。透明代理通常位于客户端和Internet之间,代理执行网关[2]路由器[3]的某些功能。[注18]

RFC[4] 2616(超文本传输协议 - HTTP/1.1)提供了标准定义:

“'透明代理'是不会超出代理身份验证和识别所需的内容修改请求或响应的代理”。“'非透明代理'是修改请求或响应以便向用户代理提供一些附加服务的代理,例如组注释服务,媒体类型转换,协议减少或匿名过滤”。

典型的透明代理应用,是上网行为管理类设备,此文不作展开。

4、小结

此时,再回到最初的问题,"XX资源是正向代理还是反向代理?"

1)、隧道资源(Layer 4/Layer 3)相对明确,因为它默认对服务端是透明的,需要客户端主动登录后,代理访问原本不可访问的网段,属于正向代理。

2)、WEB资源则要看情况了,多数情况下,厂商的WEB资源是只支持 代理企业内部自有业务系统,此时属于 反向代理

但是部分厂商可能会提供额外的工作模式即以7层WEB的方式支持代理访问互联网站点,此时,则属于 正向代理

其效果可能会类似如下站点

唔,最后再点一下题~

从严谨意义上

虽然,从安全理念上,SDP被预期比SSL VPN更安全(实际上要看各家实现,缺乏安全设计的SDP未必安全,此言也可参考HVV系列(如 #16 HVV-Learning-006-应用安全与理解安全漏洞 ))

但是,从接入技术角度(限定前提),SDP确实是一种SSL VPN(基于SSL/TLS协议传输的VPN【具有VPN特性】即可称为SSL VPN)。


部分参考:

https://www.cloudflare.com/zh-cn/learning/cdn/glossary/reverse-proxy/

https://en.wikipedia.org/wiki/Proxy_server#Forward_proxies

https://en.wikipedia.org/wiki/Reverse_proxy

https://datatracker.ietf.org/doc/html/rfc2616

参考资料

[1]OSI model: https://en.wikipedia.org/wiki/OSI_model#Layer_7:_Application_layer

[2]Gateway (computer networking): https://en.wikipedia.org/wiki/Gateway_(computer_networking)

[3]Router (computing): https://en.wikipedia.org/wiki/Router_(computing)

[4]RFC (identifier): https://en.wikipedia.org/wiki/RFC_(identifier)

好了,这篇文章的内容发货联盟就和大家分享到这里,如果大家网络推广引流创业感兴趣,可以添加微信:80709525  备注:发货联盟引流学习; 我拉你进直播课程学习群,每周135晚上都是有实战干货的推广引流技术课程免费分享!


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 sumchina520@foxmail.com 举报,一经查实,本站将立刻删除。

您可能还会喜欢:

发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。