透明 MITM SSL 代理的 SSL 证书

透明 MITM SSL 代理的 SSL 证书

我想设置一个透明的 SSL 企业代理,私有网络或者乌贼

我的计划中的一个障碍是了解需要哪种 SSL 证书。我知道我可以获得多域/通配符 SSL 证书;但是,这仅用于覆盖单个组织的子域。看来我现在和将来都需要为地球上的每个 TLD 获得通配符证书。

我不希望用户通过代理时由于安全检查失败而弹出安全警告;如果可能的话,我还想避免在浏览器中安装手动 CA 信任。但是,如果商业解决方案不可行,那么自签名证书有哪些解决方案可用?

问题:

  1. 这可能吗?
  2. 如果无法满足所有限制条件,我能做什么最好的事情?
  3. 在混合 Windows / Linux 环境中,支持以下浏览器的最低成本成功途径是什么:IE、Firefox、Chrome?

答案1

有两种方法可以实现 MITMing SSL 流量:

  • 您将获得一个对所有内容进行通配符处理的可信 SSL 证书(subjectAltName:*subjectAltName:*.*等等);或者
  • 您可以获得受信任的 CA 或中级证书,并“动态”创建受信任的证书以呈现给客户端。

前者更容易做到,但如果您不想让别人知道您在做什么,后者会更好,因为对于普通观察者来说,证书看起来更“合法”。

真正的诀窍是获得这些超级特殊的证书之一。对于合法的组织代理来说,更简单的方法是生成由您自己的 CA 签名的证书,并将该 CA 证书分发到您组织控制范围内的每个设备。这种方法的挑战和局限性应该是相当明显的。

只有足够大的政府和组织才能以更狡猾的方式做事,他们可以颠覆 CA(不管怎样……)——在这种情况下,你会得到一个现有的合法 CA,其 CA 证书已经受到几乎普遍的信任,它会给你上述一个狡猾的证书,然后你就可以高高兴兴地继续走下去了。

后一种方法并非理论——专制政权的政府获得此类证书来破坏其境内的 SSL 连接并监视通过其咽喉点的流量,这样的案例数不胜数。如果这听起来像是 SSL 安全模型完全失效且存在缺陷,那么您的想法是对的。

相关内容