如何使用 AD CS 自动更新证书以保护使用 SNI 的 IIS 网站?

如何使用 AD CS 自动更新证书以保护使用 SNI 的 IIS 网站?

我有 AD CS,它可以自动为绑定到目录的服务器提供和更新机器证书。(有一个证书模板可以控制此自动颁发。)

我有一台 IIS 服务器绑定到目录,该目录为一些网站提供服务,我想使用 AD CS 颁发的证书来保护这些网站。只有信任 AD CS 根证书的客户端才能访问这些网站。

我知道在编辑站点绑定时,我可以在 IIS 中简单地选择机器证书。我不知道当机器更新该证书时,这是否会自动处理。

但我实际上想在不同于机器名的主机名上运行站点,并且让多个具有不同 SNI 的站点从同一个 IIS 实例运行。

理论上,IIS 可以自动从 AD CS 请求和更新证书以匹配给定站点的主机名配置,但我不认为此功能内置于 IIS 10 中。下一个最佳选择是什么?

答案1

您不能指望 CA 允许 IIS 为您的所有 SNI 站点注册证书,而且 CA 不知道您拥有这些名称。如果 CA 为客户端请求的任何主题颁发证书,那么它就没有什么权威 :-)

相反,您需要以某种方式证明您确实拥有这些名称,或者至少对这些名称负责。这就是互联网上使用 ACME 等协议的地方,因为它用于向 CA 证明您确实拥有特定的 FQDN。不幸的是,如果没有第三方工具,Microsoft ADCS 不支持 ACME。

不过,你可以使用模板颁发证书,该模板最初需要CA 证书管理员批准并且配置为随后续订证书而无需 CA 管理员批准,从而减少工作量。在这种情况下,CA 证书管理员将有责任验证您是否对所有这些名称负责。

  1. 在模板上主题名称选项卡,将模板设置为在请求中提供,然后选择使用现有证书中的主题信息进行自动注册续订请求
  2. 发行要求选项卡设置入学要求如下CA 证书管理员批准,然后从重新注册需要满足以下条件下面,有效的现有证书

确保证书客户服务 - 自动注册已启用组策略,并且续订过期证书、更新待处理证书以及删除已撤销的证书更新使用证书模板的证书均已设置。

让 CA 管理员在您的 CA 上启用此模板,然后从 IIS 服务器注册它。

您需要添加所有主题主题备用名称仅在初次注册时才将此字段添加到此认证请求中。

续订时,客户端将使用存储在主题和主题备用名称字段中的信息自动向 CA 提交请求。由于此请求由有效现有证书(的私钥)签名,因此 CA 将信任它,因此无需 CA 证书管理器再次批准该请求,而是会自动颁发该请求。

这种方法的缺点是,如果您托管一个新站点并且需要向主题备用名称扩展中添加另一个 SNI 名称,那么您将必须从头开始生成新请求并让 CA 证书管理器批准它。

相关内容