由于我对HTTPS的知识有限,我开始思考:代理服务器如何过滤HTTPS网站? 我的意思是添加一个代理服务器本质上是一个中间人攻击,这是什么HTTPS明确应该防止
我能想到的唯一方法是通过IP和端口来阻止服务器。 然而,像SNI和通配符证书,这意味着你可以阻止合法的内容(假设一个必须被阻止的站点与一个必须在这种情况下必须可用的站点共享一个IP)。
那它做了什么? 自encryption以来,您无法读取连接的内容; 所有你知道的是,有人很可能发送一个HTTPS请求到某个IP地址。
代理服务器如何过滤HTTPS网站?
这不是很容易。 你有几个很差的select,每个都有自己的问题。
您可以纯粹在通过HTTP CONNECT请求传递的NAME / IP上进行。 这意味着你可能会有很多误报/消极的。
你可以执行一个MITM攻击。 在企业环境中的一对产品中,CA被设置,并且必须被客户端信任,并且代理服务器根据需要创build证书,因此客户端认为一切正常。 代理必须validation用户连接到的站点的证书。 这也意味着,如果一个网站没有有效的SSL证书,那么客户可能完全不可能继续到该网站。 如果你这样做,我怀疑你也会有更大的法律问题的可能性。
也可以在客户端机器上运行filter,但除非客户端机器真的被locking,否则这可能无法正常工作。
但是,像SNI和通配符证书这意味着你可以阻止合法的内容
如果你真的需要过滤SSL,你几乎可以肯定需要做一个白名单,而不是黑名单。 所以你允许你信任的网站,并阻止坏的网站。
浏览器知道它连接到一个代理服务器,它不是真的“被愚弄”。 有一些可以设置的被动代理服务器,但是如果代理服务器不是直接路由stream量,浏览器仍然会知道代理服务器是第一次访问encryption的URL。 代理服务器和浏览器的configuration通常与代理服务器的连接始终是encryption的或始终未encryption的。
如果您的意思是反向代理,代理服务器作为目标服务器和代理(通常用于性能,故障转移或负载平衡function)作为后端服务器; 代理必须专门configurationSSL信息才能欺骗浏览器。 这个信息将是特定的目的地,它不能模仿任何目标服务器。 通过这些,后端服务器和代理之间的连接,以及浏览器和客户端之间的连接都可以被encryption,但不一定是这样,并且它们不一定依赖于另一个(尽pipe一些代理可以被configuration成所以)。
无论哪种情况,代理服务器都必须由您的networking或目标networking进行configuration。 代理将知道正在通过的内容,但没有涉及第三方,只是原来的双方扩展。