通过代理记录 HTTPS 流量

Abh*_*hak 4 proxy https squid http-proxy

如何配置 squid(或任何其他)代理服务器以记录通过 HTTPS 访问的 URL 和下载的文件?是否可以?

wom*_*ble 10

您只能在非常具体和特殊的情况下执行此操作。

问题是在 HTTPS 连接中访问的 URL 以及其中发生的事情都受 SSL 保护。要想看透里面,就必须突破那层保护。

做到这一点的唯一方法(除了通过破坏一两个加密算法而广为人知)是对您的用户进行中间人攻击。您必须为世界上的每个域设置一个带有 SSL 证书的代理服务器——或者是一个全局通配符证书(一个具有**.**.*.*、 等的AltNames 的证书),或者可以动态生成 SSL 证书的东西(带有您自己的本地 CA)。您不会从已建立的“全球信任”CA(好吧,也许是Comodo ……)获得这样的证书,因此您必须执行所有自签名操作,然后配置将使用此代理的所有设备信任该本地 CA。这个信任问题就是为什么你只能在“非常特殊和特殊的情况下”这样做。

完成该设置后,您可以在所有 HTTPS 流量通过时对其进行解密、记录,然后使用终端站点自己的 SSL 证书对其进行重新加密。

在你跳起来之前,踩一下你的脚后跟并大喊“yippee!”,有一些事情要注意。这个过程中的危险和警告是相当大的。

您需要一个代理服务器(或场),它有足够的流量来为使用代理的任何人建立的每个连接终止 SSL。对于小型办公室来说,这并不太难,但如果您在任何大型公司工作,您就会面临重大的扩展问题。

安全风险也不是微不足道的。对于任何想要获得一些多汁凭证的人来说,您的这个代理农场现在是一个非常高价值的目标。注意“不要把所有的鸡蛋放在一个篮子里”——或者在这种情况下更有用的是,“把你所有的鸡蛋放在一个篮子里,只要确保它真的是一个强大的篮子”。不要认为人们不会发现它;如果您知道自己在寻找什么,那么识别这些东西并不难,因为您将无法将其部署在在没有人发现的情况下(以一种或另一种方式)组织,任何可能怀有顽皮想法的内部人员都可能非常非常受诱惑。闯入十几个桌面来获取凭据可能不值得,但它更有价值 - 并且更少的工作和风险——弹出一个中央 HTTPS 代理并观察一切。

至于究竟如何在 Squid 或任何其他可用的代理解决方案中执行此操作,而不是手动输入所有内容,我将向您推荐 Squid 文档以了解SSL 碰撞动态 SSL 证书生成,它们一起为您提供访问权限到加密的流量,而不会产生不当的浏览器安全警告。一旦你有了它,记录连接就变得微不足道了。