考虑一个防火墙网络,其高级要求是正常的网页浏览应该可以进行,但其他任何功能都不能进行(例如,禁止 ssh 和 skype)。(当然,传入连接会被拒绝。)
应该如何处理 HTTP CONNECT 流量?在一个极端,它可能允许所有流量通过,这会使防火墙失效。在另一个极端,它可能被阻止:这会完全阻止 HTTPS 吗?(假设防火墙不会充当中间人,希望客户端不会注意到假证书。)
换句话说,CONNECT 的实际“正常”用途是什么,以及将其使用限制在“正常”情况下的良好近似值是什么?
答案1
HTTP CONNECT 旨在用于隧道传输,并非必需。阻止 CONNECT 对通常处理 GET、HEAD 和 POST 请求的普通网站没有影响。这种阻止将假定对数据包进行深度检查。与防火墙相比,Web 代理可能是一种更合适的工具。
阻止 CONNECT 不会阻止 HTTPS。加密会包装连接,请求会通过加密通道传递。因此,您无法阻止 HTTPS 连接内的 CONNECT 请求。