通配符X.509证书 - 它们在开发环境中是否有意义

时间:2017-04-14 14:40:35

标签: x509 wildcard-subdomain

我刚开始为一家新公司工作。他们是一家专注于硬件的工程公司。他们在大数据开发/测试环境方面没有太多经验。该公司拥有广泛的IT安全策略。其中一个是#34;绝对没有通配符证书"。我曾在其他软件商店工作,其中通配符证书通常用于开发和测试环境。优点是您可以启动服务器并使用通配符证书,而无需等待会计部门向CA发出采购订单。我相信我理解通配符的所有安全问题,

  1. 如果某个子域遭到入侵,则所有子域都会受到攻击。
  2. 如果您撤销证书,则会撤消所有子域名。
  3. 通配符可能不兼容"真的很老"浏览器和服务器。
  4. 在多个服务器上浮动的单个私钥会带来安全风险。
  5. 某些CA对通配符证书的保证无效。
  6. 我可能不会将通配符用于生产服务器 - 主要是因为#4。但是,我无法看到上述安全问题是开发和测试环境的问题。开发和测试服务器具有面向Internet的端口。它们都具有通常的密码和内置的多因素安全性。只暴露必要的端口,所有端口都是https。数据全部是测试的,所有服务器都在自己的域中,没有与公司内部域的连接。

    有没有人看到任何潜在的安全问题或我可能遗失的其他事情?

1 个答案:

答案 0 :(得分:2)

我开始认为通配符X.509证书是中等到大型服务器/实例开发环境的方法。但是,AlexP的建议非常有用,我相信这是一种更好的方式来处理多个环境和X.509证书的分发和管理。以下是对他的建议的描述。

您必须支持多种环境。每个环境都有多个服务器或实例。每个服务器/实例都需要自己的 X.509证书。

  DEV1, DEV2, ...  Development environment
  TEST1, TEST2,... Test environment
  STG1, STG2,...   Production staging and test
  PROD1, PROD2,... Production Live environment

推荐的方法是构建私有SSL证书颁发机构(CA)。私有CA将为DEV,TEST和STG颁发X.509证书。任何开发或测试机器浏览器都将使用您的私有CA的根证书手动加载。这样浏览器就不会对证书安全问题发出尖锐声音。每个服务器或实例都拥有自己的唯一证书。可以想象每个环境都有多个服务器或实例,因此您可以轻松地部署和管理许多10个证书。使用子域或完全限定域名(fqdn)也很有用 - DEV1.admin.mydomain.com,DEV1.rest.mydomain.com,TEST1.admin.mydomain.com,...等。您需要使用fqdn作为每个证书的通用名称 - 例如STG1.mongodb.mydomain.com。对于生产环境,您将使用Comodo,Symantec或其他商业CA.此环境的fqdn将是mydomain.com,rest.mydomain.com等。私有CA证书是免费的,易于创建和快速部署。商业证书可能很昂贵,并且需要更多时间来创建和部署,但这是必要的。私有CA代表了在中等到大型开发环境中的良好成本,安全性和易于证书管理权衡。