Angelo Lee's Blog
This is my kingdom .If i don't fight for it ,who will ?
用组策略实现用户证书的自动注册申请
在前面的博文中,我们已经在邮件加密,安全 Web 站点, TLS 通讯,智能卡等诸多的应用领域中接触到了证书,证书在安全领域的重要性已是不言而喻。如果我们在内网搭建了 CA 服务器,用户应该如何获取证书呢?用户申请证 书一般有两种方式,如下图所示,用户既可以通过 MMC 控制台也可以利用浏览器进行证书的注册申请。但这两种证书申请方式对普通用户来说都有一定的技术难度,如果管理员代为用户申请证书,在 用户众多的环境下又不太现实。那我们在大型企业中应该如何处理用户证书的注册申请呢?
 


我们可以通过组策略结合
CA 服务器来完成证书的自动注册申请,利用这种方式,我们可以对整个域的用户或某个组织的用户,只要用户在开机后以域用户身份登录,就可以 自动完成证书的注册申请。怎么样,听起来是否很不错?下面我们通过一个实验来说明如何实现这个构想,拓扑如下图所示, Florence 是域控制器和 CA 服务器, Perth Istanbul 是用户 User1 User2 使用的工作站。
 
创建企业根 CA
要实现用户证书的自动注册,需要有企业级 CA 的支持,因为只有这种类型的 CA 服务器才能和组策略结合使用。由于我们创建的 CA 服务器是域中的第一个证书服务器,因此服务器类型应该选择企业根。
在域控制器 Florence 上打开控制面板-添加或删除程序-添加 / 或删除 Windows 组件,如下图所示,勾选“证书服务”。
 
证书服务器的类型应该选择“企业根 CA ”。
 
CA 命名为 ITETCA ,有效期限 5 年。
 
证书数据库的存储路径取默认值即可。
 
如下图所示,我们成功地完成了企业根 CA 的安装,结束了实验的第一步。
 
创建证书模板
有了 CA 服务器,我们接下来要创 建一个支持用户自动注册的证书模板。具体步骤如下,我们在 Florence 上运行 MMC ,添加“证书模板”管理单元。如下图所示,右键点击“用户”模板,选择“复制模板”。 之所以选择复制出一个新模板,而不是直接在用 户模板上进行操作,是因为不希望影响其他应用程序对用户模板的使用。
 
如下图所示,在复制出的新模板的常规标签处,我们为此模板命名为“用户自动注册模板”,注意,模板名称一旦确定就无法更改。同时确保勾 选“在 Active Directory 中颁发证书”。
 
切换到证书模板的“处理请求”标签,如下图所示,确保选择“注册证书使用者时无需用户输入”。
 
切换到证书模板的“安全”标签,我们在此可以分配证书模板的权限,如果我们希望哪些用户可以利用这个证书模板进行证书的自动注册,一定 要为这些用户赋予“读取”,“注册”和“自动注册”的权限。在本次实验中,我们希望域内所有的用户都可以实现证书的自动注册,因此如下图所示,我们为 Domain Users 组的成员赋予了上述三项权限。
 
使用自动注册的证书模板
创建了支持自动注册的证书模板,我们就要在证书服务器中使用这种证书模板。在 Florence 的管理工具中打开“证书颁发机构”,如下图所示,右键点击证书模板,选择新建“要颁发的证书模板”。
 
选择我们新创建的“用户自动注册模板”。
 
如下图所示,现在证书服务器已经使用了支持用户自动注册的证书模板,证书服务器已经可以支持用户自动进行证书的注册申请了。
 
配置组策略
证书服务器已经可以支持用户证书的自动注册申请,接下来我们需要在组策略中进行配置,允许用户自动进行证书的注册申请。由于我们希望域 内所有用户都能实现证书的自动注册,因此我们需要在域级别进行组策略设置。在 Florence 上打开 Active Directory 用户和计算机,如下图所示,在 CATEST.COM 域的属性中切换到“组策略”标签,由于我们只是进行实验,因此选择编辑默认的域用户策略即可。
 
如下图所示,在组策略编辑器中定位到 用户配置- Windows 设置-安全设置-公钥策略,编辑右侧面板中的 “自动注册设置”。确保选择“自动注册证书”,如有必要,也可选择“续订过期证书,更新未决证书并删除吊销的证书”和“更新使用证书模板的证书”。这样一 来,用户不但可以完成证书的自动注册申请,还可以完成证书的自动更新,续订以及吊销。
 
组策略设置完毕后,我们可以在工作站上使用 Gpupdate / Force 来加速组策略的生效。
 
用户测试
万事俱备,只欠东风,下面我们就在 Perth 上进行证书的自动注册测试,如下图所示,域用户 User1 在工作站 Perth 上登录。
 
User1 登录后我满怀信心地用 MMC 打开用户证书的管理单元查看成果,咦,怎么回事?如下图所示, User1 没有申请到证书!重新启动 Perth ,让 User1 重新登录也无济于事。利用别的用户申请也是无功而返,问题出在哪里呢?
 
打开 Florence 上的证书颁发机构,如下图所示,在失败的申请中我们发现了问题所在,证书模板要求用户属性中提供电子邮件地址,但我们没有为用户填写电 子邮件地址,域内也没有部署 Exchange 服务器,因此用户提供的属性不能满足证书模板的注册需求,这才导致申请被拒绝。
 
打开用户自动注册证书模板查看,如下图所示,果然证书模板要求用户注册证书时提供电子邮件地址。
 
找到了问题的原因,接下来就容易处理了,我们既可以取消证书模板对邮件地址的要求,也可以如下图所示,在 User1 的属性中填写电子邮件地址。
 

我们填写了 User1 的邮件地址后,让 User1 再次在 Perth 上注销登录,哈哈,如下图所示,这次终于成功了, User1 完成了用户证书的自动注册申请。

posted on 2010-04-17 10:37  Angelo Lee  阅读(319)  评论(0编辑  收藏  举报