首页>技术支持>IIS8.0集中式SSL证书管理: SSL可扩展性和可管理性

IIS8.0集中式SSL证书管理: SSL可扩展性和可管理性

内容

问题

解决方案

分步说明

配置集中式SSL证书支持功能

创建一个安全的网站

测试一个安全的网站

总结

问题

随着越来越多的电子商务网站上线,越来越多的企业在线存储和共享敏感文件,安全的网站主机和可扩展的能力越来越重要。此外,云托管和弹性可扩展性,服务器容量必须被添加和被动态删除。当涉及到安全的网站托管和SSL证书的支持功能,在Windows Server2012之前的版本 Windows Server 系统都受到挑战:

SSL 可扩展性: 在多租户环境下, 如一个共享的主机,在Windows Server主机下可托管的安全网站的站点密度低导致的限制.

SSL 可管理性: 证书是存储在本地的Windows Server上. 因此, 证书需要在每个Windows Server进行单独管理. 一个简单的任务,如更新证书,必须在每个服务器上重复操作. 此外, 如果有数以千计的证书需要导入到Windows Server上,添加一个新的证书可能需要需要几个小时.

解决方案

在Windows Server 2012中, 集中式SSL证书的支持功能允许服务器管理员存储和访问的证书集中在一个共享文件。类似于Windows Server2008中引入的共享配置功能配置,Windows服务器可以配置在服务器中加载证书共享文件的需求。

有了这个功能,大大简化了SSL证书的绑定和管理。功能涉及到SSL,DNS名称和CN的证书名称必须相符。类似这样可以进一步扩展到证书的文件名。例如:www.contoso.com将使用该文件名为www.contoso.com.pfx证书.在 Windows Server中,无论安全的网站使用此证书功能的数量,都只能进行一个SSL证书的绑定,推导出相应的证书是由SNI值或主机名的请求的Web站点,并通过它的文件名的证书相匹配.

分步说明

先决条件:

IIS 8.0 安装上 Windows server 2012集中式 SSL 证书功能 此功能是一个可选项,没有被IIS默认安装。

要从服务器管理器安装这项功能, 一定要选择安全性节点下集中式SSL证书支持节点:

示例证书与NULL密码. (或者您可能有一个全局密码的示例证书.)

证书必须具有约定命名的CN_name.pfx (即. www.contoso.com.pfx).

如果证书是通配型证书,使用 "_" 作为通配符. (即._.contoso.com.pfx).

如果证书中有多个CN名字,它们必须被命名为单个文件。 (即. www.contoso1.com.pfx, www.contoso2.com.pfx, 等等.)

两个文件共享: 一个用于共享的配置,另一个用于集中式 SSL 证书.

IIS服务器使用的是共享的配置.

示例证书已被复制到文件共享的集中式SSL证书.

\windows\system32\drivers\etc\hosts 修改示例网站和证书. 例如, 如果 证书的CN 名称是centralCert0, 此时hosts文件中必须包含以下内容:

127.0.0.1 centralCert0

已知的bug解决办法:

当前,还未发现未知bugs.

配置集中的SSL证书支持功能:

打开IIS管理器.

在左侧的导航窗口中,选择服务器节点:

    在管理下, 双击集中证书:

    在“操作”窗格中,选择“编辑”功能设置:

    输入以下信息:

    启用集中式证书

    物理路径: 例如: \\ccdemo\centralcert

    这是证书所在的位置的文件共享的 UNC 路径.

    用户名: 指定的用户帐号具有读取访问权限的文件共享.

    密码/确认密码.

    证书私钥密码:

    这个是可选的. 如果证书没有密码,留空.

    如果证书有一个全局性的密码,请输入密码.

    现在可以使用集中式 SSL证书的支持功能. 需要注意IIS管理器读取证书和有关证书的填充的相关信息。这些信息被缓存,以获得更好的性能。

    一个值得一提的可管理性功能是对证书的有效期进行分组:

    这样就能很好的看见证书的情况:

    已过期

    明天到期

    本周到期

    下周到期

    下月到期

    将来

    创建一个安全的Web站点:

    打开IIS管理器.

    在左侧的导航窗口中选择“站点”:

    选择“添加站点”:

    填写你要创建网站的信息:

    网站名称: centralCert0

    物理路径: c:\inetpub\wwwroot

    类型: https

    主机名: centralcert0

    在新的Windows Server 2012 站点中,主机名可以被指定为SSL.

    此配置中的实际值取决于正在使用的示例证书.

    指定服务器名称: 未指定

    您也可以选择指定服务器名称,如果您选择指定服务器名称,集中式证书存储不要求您使用SNI,但它在正常工作时会使用

    注意,在开发预览版中,集中式证书存储需要使用SNI,这一限制在Bata版中被删除。

    使用集中式证书存储: 选择

    请注意,也没有必要来选择一个特定的要使用的相应的证书

    通过使用命名合同,相应的证书被自动选择。在这个例子中,IIS将自动从证书共享文件中读取centralcert0.pfx证书文件.

    验证该网站已经建立:

    就是这样. 安全的网站是使用集中式SSL证书支持。管理证书的配置绑定和传统的SSL证书配置绑定是相似的。区别是:

    证书集中存储在一个共享文件中.

    主机名被指定为SSL证书的网站.

    SSL绑定管理,一一对应.

    测试安全站点:

    打开浏览器导航到:https://centralcert0/. 请注意hosts作为服务请求的先决条件,请修改本地主机路由的hosts文件:

    另外, 若要查看新的SSL绑定类型, 提升权限的命令行窗口中应输入以下内容:

    netsh http show sslcert

    需要注意SSL证书绑定的主机名: 端口值 *:443. 另外, 没有证书的哈希值是与此相关的约束力,是因为相应的证书加载需要根据证书文件合同的证明.

    情景

    尝试部署下列情况:

    设置一个规模为多租户的环境下使用集中式SSL证书的支持. 尝试配置大量安全站点使用此功能.

    大量证书部署后, 打开命令后窗口运行以下命令.不管安全站点的数量多少, 都使用以下命令进行绑定:

    netsh http show sslcert

    尝试添加一个新的服务器,部署服务器场景。使用共享的配置和集中式证书支持功能,需要如下三个步骤过程:

    配置新的服务器使用共享配置.

    配置新的服务器使用统一的证书支持.

    创建SSL绑定. 打开命令行窗口。输入:

    add sslcert hostnameport=*:443 appid={00112233-4455-6677-8899-AABBCCDDEFF}

    与以前的Windows Server版本相比, 在 Windows Server 2012 中的证书是被加载到内存中. 大量站点使用集中式SSL证书支持功能配置后, 发送一个 GET 请求带安全站点并观察内存的使用情况,发现占用内存可忽略不计。在以前的Windows Server版本中, 如果已经配置了数百个安全站点,仅发送一个GET 请求会导致Windows Server 加载所有证书, 导致内存占用过高,限制了可扩展性.

    创建SNI的安全网站, 传统的和集中式的SSL证书支持,它们在设计中是共存的.

    总结

    您已成功地探索了在Windows Server 2012的集中式SSL证书管理功能.