什么是透明代理
透明代理,也称为内联代理,拦截代理或强制代理,是拦截最终用户或设备与Internet之间连接的服务器。它被称为“透明”,因为它在不修改请求和响应的情况下这样做。Squid Transparent Proxy Server是一种流行的开源透明代理工具。
例如,企业网络上的用户可能正在上网冲浪。用户请求查看 cnn.com 上的新闻文章,并查看与在家中的本地连接相同的内容。
但是,用户不知道,新闻文章不是从 cnn.com 源服务器传递的,而是从企业网络上运行的透明代理传递的。用户体验完全相同。但是,用户的雇主现在能够监控他们的行为,并限制对某些网站的访问。
透明代理部署示例
透明代理和强制代理
透明代理有时称为强制代理,因为它们可以应用于用户的连接,而无需对其计算机的代理设置进行任何更改。
因此,可以在用户同意或不知情的情况下“强制”使用透明代理(尽管在许多情况下,用户被告知代理的存在)。一些网站维护非官方的透明代理列表,以帮助用户意识到他们受到监控。
根据定义,透明代理是由网络或网站的运营商建立的,而不是由最终用户建立的。
透明代理设置
设置透明代理时,一些常见的代理设置包括:
身份验证
— 为服务器提供与代理后面的用户相同的凭据
拦截
— 定义代理应如何在操作系统级别或路由器级别拦截流量
缓存
- 定义代理服务器是否应为返回用户缓存内容
反向代理
- 您可以将代理放在 Web 服务器前面以提高用户的性能(而不是将其设置为拦截远程访问)
过滤聊天、数据流、洪流线程等
— 配置透明代理,不允许用户访问某些协议或端口
客户端透明代理的用途
您可以在客户端部署透明代理,这意味着代理会拦截进出客户端终结点的所有流量。客户端透明代理的用例包括:
您可以使用透明代理来过滤掉通过代理设置定义的不需要的内容。例如,当请求特定网站时,代理可以避免将请求转发到 Web 服务器。相反,它会拦截连接并向用户显示错误或通知。
您可以使用网关代理根据规则修改或阻止网络流量。例如,防火墙是一个透明代理,它允许流量在内部网络和 Internet 之间传递,但如果它违反了防火墙的规则表,则会阻止流量。
如果多个人从同一位置访问相同的内容(例如,许多学生通过其大学网络查看同一新闻网站),则最初缓存内容并将其从缓存提供给后续用户会更有效。透明代理可以为组织、设施或社区执行此操作。
如果操作网络,则可以设置透明代理来监视用户流量和行为。
流量监控也可能有非法用途 - 例如,肆无忌惮的公共wifi运营商可以监控用户的连接并窃取数据和凭据。
公共WiFi点和蜂窝互联网运营商有时会使用透明代理来强制用户在网络上进行身份验证,并同意服务条款。只有在用户进行身份验证并同意后,才允许他们上网。
用户可能没有意识到,即使在初始身份验证屏幕之后,整个连接也会被拦截,并且可能作员通过透明代理进行监控。
服务器端透明代理的用途
用于 DoS 保护的 TCP 拦截
TCP 拦截是一种透明代理,可用于保护服务器免受 SYN 泛洪拒绝服务 (DoS) 攻击。它拦截到 Web 服务器的所有流量,接受客户端请求,并执行三向握手。如果成功,它将与服务器执行三向握手,并加入客户端和服务器之间的两个半连接。
TCP 拦截监视 TCP 请求,并等待(通常为 30 秒)以建立连接。当非活动连接数超过一定阈值时,TCP 拦截进入“主动模式”。在此模式下,每个新到达的连接都会导致最旧的非活动连接被删除。
这种技术不再有效对抗现代的大规模分布式拒绝服务 (DDoS) 攻击。控制高性能服务器或数百万台僵尸计算机的攻击者可以创建 SYN 洪水,轻松淹没 TCP 拦截控制器。
这就是为什么许多组织使用基于云的服务,如Imperva的DDoS保护。基于云的DDoS服务能够按需扩展以处理大规模攻击,还可以防范其他类型的DDoS。例如,DDoS服务可以防止协议攻击和应用层攻击,这些攻击不会发生在TCP层。
用于前端优化的透明代理和 CDN
内容交付网络 (CDN) 是一个全球分布式代理服务器网络,用于缓存内容并将其提供给其地理位置附近的用户。
CDN,如Imperva的全球内容交付网络,是一种在服务器端运行的透明代理,其目的是执行前端优化以改善最终用户体验。它拦截到Web服务器的流量,而不是让用户直接访问源服务器,它从其缓存中提供相同的内容。这样可以提高用户的性能并减少服务器上所需的系统资源。
-
672
-
coder_pig
Android
自动化运维
-
377
-
AirtestProject
Python