我的公司向客户销售应用服务器;其中 90% 的服务器都离线在专用网络中。我们目前有一个根据服务器 IP 自动生成的自签名证书。
是否可以购买通配符证书并在本地所有服务器上使用它?
假设我们购买了 *.mydomain.com 的证书(mydomain.com 是我们拥有的真实域名)。证书安装在服务器上。在本地网络上,我们有一个 DNS(或修改后的主机文件),将服务器的 IP 映射到子域。这样可以吗?我们只需避免浏览器中出现证书无效的大警告即可。不需要 EV 认证或所有这些花哨的东西。
我尝试使用 let's encrypt 和标准证书(不是通配符)以及修改后的主机文件,看起来不错,但是对于像 Globalsign、Thwathe 等“大”CA 来说可以吗?
答案1
如果您不控制 TLS 客户端信任,并且不从他们可能拥有的任何私有 PKI 颁发证书,那么您只能依靠普遍受信任的证书颁发机构。只要客户端配置为信任其 CA,谁颁发证书都无所谓。
“通配符”证书的主要问题是,它对 中的所有内容都可信*.example.com
。您颁发的证书appserver.example.com
可用于evil.example.com
或冒充其他服务器。如果您信任应用服务器管理员对该 DNS 区域中的所有内容,那很好,但听起来您对所有客户端都使用了此 TLD。RFC6125甚至可以说,通配符不应该用于最佳实践 TLS 域验证。
答案2
如果您有内部 DNS,那就应该没问题,避免购买证书的方法是,如果您的客户端上需要连接到此服务器的客户端计算机受到管理,您可以请求您的客户端将您的自签名证书和 CA 添加到授权并更新他们的策略。
如果您使用 let's encrypt,它对您的客户端和计算机来说将是透明的。