没有主机名和集中证书存储的 SSL 绑定?

没有主机名和集中证书存储的 SSL 绑定?

我们有一个 Web 应用程序,它通过单个 IIS 网站为大量网站提供服务。IIS 网站在端口 80 上有一个捕获所有网站的绑定。到目前为止,对于 SSL 绑定,我们已为每个需要 SSL 的域向计算机添加了一个新 IP,并向该特定 IP 地址添加了 SSL 绑定。

现在我们正在研究集中式证书存储。我们认为我们现在可以有一个捕获所有 SSL 绑定,它只使用提供的主机名并在 CCS 中查找证书。但事实似乎并非如此。您可以添加一个捕获所有 SSL 绑定,并在本地 IIS 上安装特定证书,或者您可以使用 CCS 添加单个 SSL 绑定,但您必须指定主机名。

如果我是对的,那么这对我们来说就是一个陷阱;即使证书本身在 CCS 中,我们仍将对每个正在使用的证书进行绑定。我说得对吗?

编辑: 这是一个大规模租户应用程序。它服务着大约 100 个客户端,拥有数千个唯一主机名,它们都运行在同一个 Web 应用程序上;该应用程序使用数据库来确定每个主机名要显示的内容。

对用于访问应用程序的每个主机名进行单独绑定是完全行不通的。将 SSL 证书加载到本地 IIS 实例中也是行不通的;到目前为止,我们一直以这种方式进行管理,但这种方式越来越难以处理。

在端口 80 上,我可以进行全部绑定;用于连接的任何主机名都将被定向到 Web 应用程序。

在端口 443 上,显然我无法做到这一点,除非证书加载在 IIS 实例而不是 CCS 中。并且每个 IP 地址只能以这种方式使用一个通配符证书。我不能让它使用 SNI 传递的主机名来查找正确的证书;传递的主机名必须首先匹配绑定。

理想的情况是,如果我可以在端口 443 上进行全绑定,它会自动根据传递的主机名查找正确的证书。但 IIS 似乎不想让我这样做。

这真是太令人沮丧了。看来我们不得不放弃 IIS,将所有 SSL 转移到基于 Apache 的程序上,这似乎更加灵活。

答案1

在 IIS 10 中您可以拥有:

Name              Bindings
----              --------
Default Web Site  https *:443:*.bar.com sslFlags=3
                  https *:443:*.bar.net sslFlags=3
                  https *:443:*.foo.edu sslFlags=3         

并将 CCS 用于所有绑定,但您不能执行以下操作:

https *:443:*.*.com sslFlags=3  

或者

https *:443:*.com sslFlags=3

因此,如果您的所有域都是不同的顶级域,那么这并不是很有帮助,但如果您有类似的域username.domain.com并且所有主机名的域都是相同的,那么这将非常有帮助。

答案2

您在这里谈论的是两个不同的概念:

  1. SNI 是基于主机名使用 TLS(SSL 已过时)的能力,因此您不需要为每个 TLS 站点设置单独的 IP 地址。

  2. 中央证书存储,它只是改变了 IIS 存储证书的方式,让您可以更轻松地部署证书。要使用 CCS,您需要在绑定中定义主机名,因为它用于查找正确的证书 PFX 文件。

但是您可以混合搭配,您仍然可以对某些绑定使用存储在旧证书存储中的证书,对其他绑定使用 CSS。

但是你不能对所有内容进行单一绑定并告诉它使用 CCS。

提示:在脚本中管理您的绑定和证书分配,切勿在 IIS 管理器中随意点击。

答案3

在研究了apache和之后nginx,我选择了。版本 1.5 集成了我需要的 https 支持。在编写了haproxy-1.5适当的 来指定负载平衡器节点之后,我所需要做的就是使用 将导出的 PFX 证书文件转换为 PEM 文件,然后将它们转储到一个文件夹中。我的 catchall 绑定将正常工作。haproxy.cfgopenssl

当然,我仍然有反向代理的常见问题......但与我已经使用 ARR 平衡器解决的问题没有什么不同。

这是我的一部分haproxy.cfg(当然已经过消毒)

frontend http-in
    bind *:80
    bind *:443 ssl crt /media/windowsshare/myWindowsServer/ssl/pem/
    default_backend myCluster

backend myCluster
    server member1 10.4.0.184:80 maxconn 64
    server member2 10.4.0.185:80 maxconn 64

相关内容