使用 squid 代理过滤 SSL 连接

使用 squid 代理过滤 SSL 连接

我们的网络和防火墙之间有一个 Ubuntu 服务器,用于 URL 过滤。当然,SSL 连接是个问题。我正在研究进行一些基本过滤的方法。我甚至想过使用 sslstrip 和 squid,但这似乎不是一个很好的解决方案。有人能建议我如何做到这一点吗?我在 Google 上搜索了很多,但没有得到任何好的答案……也许是因为没有答案?

谢谢!

答案1

目前我认为你无法用 squid 做到这一点。但潜力是存在的:

我们相信,从技术上来说,实现透明连接的动态证书生成是可能的。这样做需要颠倒 Squid 事务处理步骤,以便在与客户端建立安全连接之前先建立与服务器的安全连接。实现起来会很困难,但它将允许 Squid 从服务器证书中获取服务器名称,并使用该名称生成伪造的服务器证书以提供给客户端。欢迎提供优质补丁或赞助。

来源:参见限制部分http://wiki.squid-cache.org/Features/DynamicSslCert

我知道至少有商业解决方案可以实现这一点。可能还有更多。

答案2

你不能这么做。SSL 是为了防止任何类型的操纵/修改而创建的。

您可以阻止整个主机,但您无法看到用户看到的 URL。

答案3

这个问题有点老了,但仍然值得回答。

对您来说,“基本 SSL 过滤”是什么?您想过滤 HTTPS(SSL 包装的 HTTP)还是过滤端口 443 上的所有内容?

ufdbGuard 是 Squid 的一个 URL 过滤器,除了简单的基于 URL 的过滤之外,它还会探测端口 443 以查明通过 Squid 的流量类型。ufdbGuard 可识别 SSL+HTTP、SSH、各种隧道/VPN、各种主要聊天应用程序,无法识别的协议会被标记为“未知协议”。ufdbGuard 可以阻止每种类型,并可以强制使用有效的 SSL 证书和 FQDN。

相关内容