在计算机安全问题日益严重的趋势下,Exchange Server 2010在默认情况下,对所有的网络连接全部使用加密方式进行。包括:组织间的Exchange服务器之间使用TLS、Exchange服务器与客户端之间使用SSL,以及Exchange与组织外的服务器之间使用TLS(分为强制和可选两种)。
在计算机之间进行加密连接,证书是一个必不可少的要素。如果要就证书的原理进行详细介绍,需要写上一本书。对于Exchange管理员来说,并不需要了解得十分深入。下面会就证书是什么、如何申请、如何使用等几个方面进行简要的说明。
每个证书都有如下几个关键信息:名称、用途、颁发机构,这些信息是公开的、可读的。当打开一个证书时,可以从证书的属性页面中获取这些信息。例如下图所示的是个人证书:
上面是两个用户打开同一个证书时的截图,注意到有什么不同吗?左边的截图中,显示“您有一个与该证书对应的私钥”,这说明当前查看证书的用户是该证书的所有者;右边的截图中,由于用户不是证书的所有者,因此没有这个提示。
在证书的属性页面中,切换到“证书路径”(Certification Path),就可以看到这个证书颁发的完整信息,这个页面中,需要注意的是证书颁发机构,即根证书的信息。使用者必须信任这个根证书。
例如:A和B之间将使用证书实行安全通讯,A提供了自己的证书给B,B将验证这张证书的信息:证书名称是否与A声称的名称一致、证书目的是否允许用于加密通讯、证书的颁发机构是否受信任以及证书是否在有效期内。以上的任意一点没有满足条件,B将拒绝使用该证书。这里的A和B可以是个人,也可以是计算机。在上面的场景中,如果A是Exchange服务器而B是Exchange的用户,那么B所使用的客户端软件(IE或Outlook)就会弹出警告信息。
以下是IE访问时的警告信息示例,该警告信息提示了两个问题:证书不是受信任的颁发机构所颁发的;证书名称与当前访问的名称不匹配。
要解决这些问题,需要:1、安装证书颁发机构的根证书;2、确保证书名称与连接的服务器名称向匹配。
安装证书颁发机构的根证书
使用Windows服务器自带的证书颁发机构时,可以启用证书的Web引用方式。这样Windows会在IIS中创建CertSrv虚拟目录,用户可以使用浏览器访问这个虚拟目录来进行证书相关的操作。
- 用浏览器访问http://CAServer/CertSrv,然后点击下载CA根证书。
- 将根证书保存到客户端
- 双击打开,并点击“安装证书”(Install Certificate)。按照默认设置将证书安装到系统中即可。
- 要验证根证书是否安装成功,可以在“启动”中输入MMC并运行,然后在MMC中依次选择:文件=>添加/删除管理单元=>证书=>我的用户帐户。
- 在MMC控制台中,依次展开受信任的根证书颁发机构,检查前面导入的证书是否存在。
- 也可以跳过第3步,直接在MMC控制台中,右键单击“受信任的根证书颁发机构”,从弹出菜单中选择“所有任务”=>“导入”;然后选择前面保存的证书文件进行导入。
- 在导入时,选择“将证书存放到以下位置”(Place all certificates in the following store),然后点击浏览Browse,选择“受信任的根证书颁发机构”(Trusted Root Certification Authorities)
如果部署的是Windows证书颁发机构,默认情况下,在活动目录中的所有用户帐号、计算机帐号都会信任该证书颁发机构,无需额外设置。而如果客户端没有加入域,就需要使用前面的步骤来进行根证书的导入了。这里就会遇到另一种情况,用户在Internet上发起连接,而公司的证书服务器没有发布到Internet上,客户端就无法访问证书服务器来获取根证书。针对这种情况,可以在Exchange保存根证书,然后修改OWA的登录页面,添加一个下载根证书的链接,使用户能够在访问OWA时,直接下载根证书进行安装。
在Exchange Server 2007/2010安装时,安装程序会自动为Exchange服务器颁发一个自签名证书,这张证书将用于Exchange组织内部的服务器通讯。而对于Exchange的客户端,例如Outlook/OWA等,由于证书信任的关系,并不会接受这种自签名证书。因此需要为Exchange的客户端访问服务器专门颁发正式的服务器证书,才能保证客户端通过加密方式进行连接。
另外一个需要考虑的问题是客户端连接的服务器接入点(Service Connection Point),对于不同类型的客户端,可能需要使用不同的SCP。例如:OWA客户端希望使用owa.contoso.com连接;而Outlook Anywhere的客户端希望使用outlook.contoso.com;POP客户端希望使用pop.contoso.com。前面提到,服务器上使用的证书名称必须和客户端连接时指定的服务器名称相同,否则客户端会弹出证书安全性警告。这时就需要使用到多主机名称证书(Subject Alternative Name,SAN)了。
以下是一个多主机名称证书的示例,可以看到,该证书有多个名称:cas2,cas2.pcoe.com,exchallinone,exchallinone.pcoe.com,autodiscover.pcoe.com以及pcoe.com等。
在Exchange Server 2007时,如果需要为服务器分配一个多主机名称证书,需要使用命令行工具进行。在Exchange Server 2010中,新增了通过图形界面进行证书申请的功能。这个功能分为4个部分来实现一个完整的证书申请。
- 指定证书中包含的主机名称,创建证书申请文件;
- 向证书颁发机构提交证书申请并获取证书;
- 在Exchange中导入获得的证书;
- 为Exchange的服务指定证书,或者可以称为:将证书绑定到Exchange的服务上。
创建证书申请
- 在Exchange Management Console左边的导航栏中,点击“服务器配置”
- 在中间结果栏中,点击选择需要分配证书的服务器
- 在右边的操作栏中,点击“新建服务器证书”,这将启动服务器证书向导。
- 在证书向导中
- 输入一个好记的名称,例如:Exchange CAS Server。点击下一步
- 不要启用通配符证书,直接点击下一步
- 选择需要使用证书的服务,为每个服务接入点指定名称
- 检查即将使用的证书名称,并指定证书的通用名。通用名称十分关键。首先,通用名称将作为证书的主要名称来使用;其次,如果在Outlook Anywhere中选择指定服务器证书,那么在Outlook中指定的服务器名必须与证书的主要名称相同。
Outlook中的配置信息:
需要在申请证书时指定的证书通用名称:
- 输入组织信息,并指定保存证书申请文件的路径
- 完成向导,这时,在指定位置就会产生一个纯文本的证书申请文件。
向证书颁发机构提交申请并获取证书
使用Windows服务器自带的证书颁发机构,并且在配置时选择“基于Web分发”的安装方式,就可以利用IE客户端向证书颁发机构提交申请并获取证书。
- 使用IE浏览器,打开证书颁发机构的网站。例如:https://ca.pcoe.com/certsrv
- 选择“申请证书”
- 选择“高级证书申请”
- 选择向CA提交证书申请
- 用记事本打开前面创建的证书申请文件,复制其中的内容。不要复制第一行和最后一行
- 将复制出的内容粘贴到网页中,并且指定证书模板为Web Server/网络服务器,然后点击Submit提交
- 将申请到的证书下载到Exchange服务器本地
在Exchange中导入获得的证书
- 回到Exchange Management Console,可以看到一个未完成的证书图标,右键单击该项目,并选择Complete Pending Request,这将启动证书向导
-
将前面保存的证书文件提交给该向导,完成证书的导入
-
要查看证书信息,可以从Exchange Management Console中,双击这个证书来打开其属性页面。注意在证书的General页面中,显示有“You have a private key that corresponds to this certificate”。
将证书绑定到Exchange的服务上
- 在新证书上右键单击,并选择“Assign Services to Certificate”
- 选择服务器,以及需要使用该证书的服务,完成向导后,证书就会被绑定到指定的服务上
- 在服务器栏目中,可以检查该证书的绑定状态
声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。