APP下载

排除CA服务器迁移“后遗症”

2018-03-03

网络安全和信息化 2018年3期
关键词:编辑器后遗症列表

CA证书服务器对于保护内网安全是极为重要的,随着笔者单位硬件的升级,系统版本从Windows Server 2008 R2升 级到 了Windows Server 2012 R2。对应的,原基于Windows Server 2008 R2的CA证书颁发机构也升级到了Windows Server 2012 R2环境。

故障现象

升级过程比较顺利,客户机也顺利地从新的CA服务器上申请到了证书,用户感觉和使用之前的CA服务器是一样的。但是,在实际使用中,发现了一些问题,例如无法正常验证证书吊销列表、CA变量存在异常、对新的CA服务器没有访问权限等。

故障分析

在本例中原CA服务器名称为“caserver08”,迁移后的CA服务器名称为“caserver082”,域名为PStools,解压PStools到C盘的PStools目录。

3.点击“开始→运行(或者Windows+R键)”输入:“C:PStoolspsexec.exe -d -i -s regedit.exe”确定后点击“同意”按钮。

4.修改注册表,当前已处于特权模式,运行regedit后依次打开:[HKEY_LOCAL_MACHINESYSTEMCurrentControlSet“xxx.com”。 运 行 ADSI编辑器,在左侧的“ADSI编辑器”节点的右键菜单上点击“连接到”项,在连接窗口中选择“选择一个已知命名上下文”项。在列表中选择“配置”项,点击“确定”按钮,在左侧选择“ADSI编辑器→配置→CN=Configu ration,DC=xxx,DC=com→CN=Services→CN=Public Key Services→ CN=CDP”分 支下,可以看到两个“CN=xxx”项目,其中的“xxx”为两个CA服务器的名称,例 如“CN=caserver08”、“CN=caserver12”,这表示的不是两台主机,而是两个容器。

打开Active Directory站点和服务控制台,点击菜单“查看→显示服务节点”项,在左侧选择“Services→ Public Key Services→AIA”项,在右侧选择与CA服务同名的项目,在属性窗口的“安全”面板中查看组或用户名列表,可以看到原CA服务器拥有访问权限,而新的CA服务器没有访问权限。实际上,如果原CA服务器和新CA服务器同名的话,迁移起来就顺畅得多。当迁移完毕后,将原CA服务角色删除即可。

但是,如果两者不同名,例如本例中的“caserver08”和“caserver12”,就存在一定的问题。例如,在原CA上发布的证书,在进行校验时,路径依然指向原CA服务器。打开“caserver12”服务器上迁移过来的证书,在属性窗口中的“详细信息”面板中选择“CRL分发点”项,可以看到URL路径指向的是与“caserver08”相关的路径。但是在“caserver12”上颁发的证书, CRL路径指向的是自身。

也就是说,在原CA服务器上颁发的证书,虽然证书信息迁移过来了,但是校验路径依然未变。因此,在迁移完成后,可以将“caserver08”上的活动目录证书服务删除,但是必须保证和证书LDAP校验模式相关的配置信息依然存在。运行“adsiedit.mac”程序,在ANSI编辑器左侧选择“ADSI编辑器→配置→CN=C onfiguration,DC=xxx,DC=com→CN=Services→CN=Public Key Services → CN=CDP”分支,在其下必须保证存在以上两个容器。如果将“caserver08”容器删除,那么原CA服务器颁发的证书将无法进行校验。

当CA证书颁发机构迁移后,原CA服务器停止服务之后,在域中就只有新的CA证书服务器在运作。在该机上打开证书颁发机构窗口,在左侧选择CA服务器名,在属性窗口中打开“扩展”面板,在“选择扩展”列表中选择“CRL分发点”项,在CRL列表中的“LDAP”路径中进行分析,不难看出对应的实际上是名为“caserver12”的容器。这样,在发布吊销列表时,只能将相关证书信息写入到和本机同名的容器中。

此外,当域中客户机执行“certutil.exe -url e:xxx.cer”命令,对导出的证书进行校验,可以看到校验可以顺利通过。其中的“xxx.cer”为证书文件名称。注意,在新的CA服务器上校验证书吊销列表时,可能会出现一些问题,主要原因是后台的OCSP服务器依然连接到原有的CA服务器读取数据。OCSP服务器可以让客户端在复杂的网络环境中,通过访问证书吊销列表,来检测CA以及相关证书是否有效。至于CA变量出现异常的情况,就需要对注册表中的相关项目进行修改。

故障解决

打开Active Directory站点和服务控制台,点击菜单“查看→显示服务节点”,选 择“Services→ Public Key Services→ AIA” 项,在右侧选择与CA服务同名的项目,在属性窗口“安全”面板中查看组或用户名列表。点击“添加”按钮,将“caserver12”计算机添加进来。之后针对该服务器分配权限,使其拥有完全控制的权限。对应的,选择“Services→ Public Key Services→CDP→caserver08”项,在属性窗口中打开“安全”面板,执行同样的操作,为“caserver12”主机配置完全访问的权限。在这样,就针对新的CA服务器设置了合适的访问权限。

根据以上分析,实际上是存在着以“caserver08”和“caserver12”命名的两个容器,但是在吊销证书列表时,只针对其中一个容器写入数据,另外的“caserver12”容器处于闲置无用状态,不会存储证书列表更新信息。对于在“caserver12”上颁发的新的证书,在执行吊销操作时是没有影响的,但是对迁移过来的原CA服务器颁发的证书进行吊销时,就会出现无法写入“caserver08”容器,而不能进行更新的问题。当然,如果这类证书已经过期,在续约时可以使用“caserver08”容器,就不存在该问题了。

因此,将吊销的证书信息同时写入到上述两个容器中,才可以化解该问题。方法是,在上述“扩展”面板中点击“添加”按钮,在添加位置窗口中的“位置”栏中输入“ldap:///CN=,CN=caserver08,CN=CDP,CN=Public Key Services,CN=S ervices,CN=,CN=”,将发布路径明确指向原来的容器。点击“确定”按钮,保存该路径信息。选择该路径项,在窗口底部只选择“发布CRL到此位置”和“将增量CRL发布到此位置”项,点击“应用”按钮,保存配置信息。这样,当发布吊销证书列表时,就可以将相关的信息同时写入以上两个容器中。

在OCSP服务器上打开联机响应程序,在左侧选择“吊销配置”项, 在属性窗口中的“吊销提供程序”面板中点击“提供程序”按钮,在“基本CRL”列表中显示连接的依然是原CA服务器。点击“编辑”按钮,将其修改为新的CA服务器名即可。在左侧选择“数组配置”项,在右键菜单上点击“刷新吊销数据”项,执行对应的刷新操作。这样,OCSP服务器就会和新的CA服务器互传数据了。

为了让迁移更加彻底,需要对注册表中相关数据进行修改。在注册表编辑器中打开“HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesCertsvcConfigurationxxx”分支,其中的“xxx”为CA服务器名,在其中查找包含源CA服务器名的项目,找到后修改为新的CA服务器名。例如,将“caserver08”修改为“caserver12”等。这样做的好处在于可以正确使用CA变量。

猜你喜欢

编辑器后遗症列表
春天的“后遗症”
学习运用列表法
司空见惯感觉烦 锁屏画面快走开
你有没有网络消遣的后遗症
扩列吧
你距离微信创作达人还有多远?
28天肌力恢复,告别夏日肌肤后遗症
车辆段收发车运行图编辑器的设计与实现
脑便后遗症应如何调治
列表画树状图各有所长