URL 过滤可以阻止 HTTP 流量,但不能阻止 Internet Explorer 中的 HTTPS 流量。例如,网站http://www.facebook.com被 URL 过滤阻止,而https://www.facebook.com不能被阻止。在 Internet Explorer 中进行 InPrivate 浏览时,您也无法阻止 HTTPS 流量。
有没有使用 URL 过滤阻止 HTTPS 流量的解决方案?
URL 过滤可以阻止 HTTP 流量,但不能阻止 Internet Explorer 中的 HTTPS 流量。例如,网站http://www.facebook.com被 URL 过滤阻止,而https://www.facebook.com不能被阻止。在 Internet Explorer 中进行 InPrivate 浏览时,您也无法阻止 HTTPS 流量。
有没有使用 URL 过滤阻止 HTTPS 流量的解决方案?
从 SSL 外部,您只能看到服务器名称(客户端在 SSL 握手的早期阶段将其作为Server Name Indication扩展的一部分发送;并且它也出现在服务器发送的证书中);这可能足以过滤掉一些“URL”。例如,在您的示例中,您可以看到连接是 SSL 和 for www.facebook.com
; 如果你想屏蔽整个 Facebook,这些信息就足够了;不需要实际的 URL。
如果你想要更细粒度的东西,那么你需要阅读受 SSL 保护的 URL 本身。为此,您必须以某种方式破坏SSL。有一些工具可以对 SSL 进行中间人攻击(它们依赖于在客户端系统中安装流氓、过滤器控制的根 CA)。一个著名的商业工具是Blue Coat 的 ProxySG。还有开源解决方案。在任何情况下,这些系统都需要对客户端系统的某种特权访问(额外的根 CA 安装);精通计算机的用户会知道它。也可以说,这些工具“打破了用户对隐私的期望”,虽然它们在技术上是有效的,它们还可能在工作场所引发有毒的反抗气氛。小心使用。
我知道市场上的一些产品能够做到这一点或类似的。
他们使用的方法是:
通常正常的内容过滤会阻止 http,但不会阻止 https。可以做一些其他的事情来阻止给定的 https 站点。1. 您可以为给定站点 IP 地址的 https 创建防火墙规则。2. 在防火墙中添加一条 FQDN DNS 记录,将 *.facebook.com 指向 0.0.0.0。
不是最好的解决方案,但是一旦 Web 数据被解密并准备好在浏览器中呈现,像 Script Blocker for Chrome 这样的浏览器插件可以在 https/SSL 之后过滤 URL/域。