如何configuration鱿鱼(或任何其他)的代理服务器,以保持logging访问的URL和下载的文件,通过HTTPS? 可能吗?
只有在非常特殊和特殊的情况下才能做到这一点。
问题在于访问的URL以及HTTPS连接中的内容完全由SSL保护。 为了向里看,你必须突破保护。
要做到这一点的唯一方法就是对用户进行一次中间人攻击。 您必须为世界上的每个域设置一个SSL证书的代理服务器 – 全局通配符证书(具有* , *.* , *.*.* AltName),或者可以随时生成SSL证书(使用您自己的本地CA)。 您不会从已build立的“全球信任的CA”(也许Comodo …)获得这样的证书,因此您必须完成所有自签名configuration,然后configuration所有使用此代理的设备相信当地的CA. 这个信任问题就是为什么你只能在“非常具体和特殊的情况下”这样做。
完成设置后,可以解密所有HTTPSstream量,logging日志,然后使用terminal站点自己的SSL证书对其进行重新encryption。
在你跳起来之前,点击你的脚后跟,喊“yippee!”,有一些事情要注意。 这个过程中的危险和警告是相当可观的。
您需要一个代理服务器(或服务器场),该代理服务器(或服务器场)有足够的咕噜声来终止使用该代理的任何人的每个连接的SSL。 对于一个小型办公室来说,这并不难,但是如果你在任何规模较大的公司工作,那么在你面前就会出现严重的缩放问题。
安全风险也不是微不足道的。 你的代理农场现在是任何想要获得一些多汁凭证的人的一个令人难以置信的高价值目标。 注意“不要把所有的鸡蛋放在一个篮子里” – 或者在这种情况下更有用,“把所有的鸡蛋放在一个篮子里,只要确保它是一个非常强壮的篮子”。 不要以为人们不会发现, 如果你知道你在找什么东西,就不难确定这些东西,而且由于你不能在一个组织里部署这个东西(没有人发现这个或那个),任何一个可能会调皮的人想法可能会非常非常诱惑。 为了获得凭证,可能不值得打破十几台桌面计算机,但是更有价值 – 更less的工作和风险 – popup一个中央HTTPS代理并观看所有事情。
至于如何在Squid或任何其他可用的代理解决scheme中做到这一点,而不是手工input所有内容,我将引用您的Squid文档SSL缓冲和dynamicSSL证书生成 ,这将一起,让您访问encryption的stream量,而不会产生不适当的浏览器安全警告。 一旦你有了,logging连接是微不足道的。