概述
SSL证书一种提供SSL协议的证书,通过在客户端浏览器与WEB服务器之间建立一条SSL安全通道,对网络传输数据进行加密,防止数据被截取。一份SSL证书包括一个公共密钥和一个私用密钥:公共密钥主要用于信息加密,私用密钥主要用于解译加密信息。当浏览器指向一个安全域时,SSL协议会同步确认客户端和服务器,并在两者之间建立一种加密方式和一个唯一的会话密钥,这样便可保证通话双方信息的完整性和保密性。
证书服务器部署
证书服务的安装
- 运行服务器管理器,添加角色与功能,选择”Active Directory证书服务;
- 在角色服务中选择”证书颁发机构“与”证书颁发机构WEB注册”;
- 其他步骤选择默认;
证书服务器的配置
- 安装完成后,在服务器管理器的右上角会有一个警告图标,点击它;
- 选择凭据以指定配置角色服务
- 选择要配置的角色服务,就选择安装的两项;
- 选择企业CA;
- 选择根CA
- 在接下来的选项中选择创建新的私钥,加密选项默认,密钥长度至少2048位,其他选项默认(可根据企业情况进行相应选择);
- 指定CA名称及有效期(这里我们选择默认)
-
注:需根据企业的情况,规划好相应的指定有效期,如果选择,则无法进行更改 - 保持默认下一步;
- 选择进行配置;
证书申请
- 打开IIS管理控制台;
- 打开服务器证书;
- 选择右上角创建证书申请
- 为证书创建可分辨名称;
- 选择加密服务
- 指定申请文件的保存路径
- 打开IE浏览器输入证书颁发机构的网址;
- 点击申请证书
- 选择高级证书申请
- 选择使用64位编码申请证书
- 将证书申请文件的内容全部复制进去
- 选择模板后进行提交
- 完成申请将证书下载导入
- 打开IIS管理器,单击完成证书申请
- 导入下载的证书,提供名称,单击确定,完成证书申请
证书服务器的高级配置
修改服务器级别颁发的证书有效期及自定义模板
由证书颁发机构 (CA) 所颁发的每一张证书都具有有效期限,默认情况下,我们从企业根CA申请到的证书,有效期限都是2年;企业根据自身情况往往是需要更长久的有效期,可根据下面进行部署。
- 配置证书服务器时,将证书有效期更改为100年
- 部署完CA后,打开注册表,展开到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\CertSvc\Configuration\<caname>, 将【ValidityPeriodUnits】的值修改为【100】
- 重启AD证书服务后,注册表的更改才会生效
- 然后从CA中打开证书模板,由于默认的【Web 服务器】模板是无法修改的,我们需要创建一个新模板,这里在【Web 服务器】模板上单击右键,选择【复制模板】;
- 然后在复制模板的兼容性标签选默认设置(如果不是选windows server 2003兼容设置,比如更高版本,则不能通过web方式申请)
- 在【常规】选项卡中,首先指定模板的显示名称以及有效期,这里把有效期设置为100年;
- 然后切换到【请求处理】选项卡,勾选【允许导出私钥】
- 最后切换到【安全】,为Administrator用户分配【注册】权限
- 模板创建完成后,需要将它发布,在证书模板节点上单击右键,指向【新建】,然后选择【要颁发的证书模板】
- 选择我们刚刚创建的模板【WEB服务器的副本】
- 通过管理员账户进入证书Web注册站点,在base64编码提交页,选择我们创建的【WEB服务器的副本】证书模板;
- 完成申请,查看有效期,实现证书有效期可达100年
调整CRL发布期及访问方式
默认情况下,CRL证书吊销列表通过LDAP方式访问,但此方式域网络之外是无法访问的,为了让内外都能访问,并简化部署,建议把CRL分发点设置成通过HTTP方式访问,并发布到外网,实现内外统一访问。
- 右击吊销的证书,属性,可更改CRL发布的参数
- 进入证书颁发机构属性,选择扩展标签,选CRL分发点,首先取消发布到LDAP,这个东西只能内部访问,外部又不能访问,所以取消它,只保留HTTP的方式访问CRL。
- 然后选中上面的http一行,再点下面的添加,添加如下地址,dc.contoso.com为内外网都能访问的域名,指向实际的证书服务器,最后面的contoso-dc-ca.crl是证书颁发机构的名字与crl扩展名组合,勾选发布CRL,确定后会重启AD证书服务
- 完成后手动发布一下CRL;
- 在system32\certsrv\certenroll之下的(关联到了IIS的CertEnroll目录,所以通过HTTP能够访问)
- 接着就是要在内外部DNS服务器上添加dc.contoso.com的解析,外部要访问还需要在边缘防火墙进行发布;
创建EFS恢复代理
有个别用户会使用EFS加密,但由于不了解相关知识,没有意识到备份自己的证书与私钥,导致重装系统后原来EFS文件再也不能打开(重装系统后私钥和证书都被删除了,虽然公钥在证书颁发机构有,但私钥如前面原理所说,他是只保存在用户电脑上的)。作为一种救援手段,管理员需要提前创建至少一个EFS恢复代理;
- 打开组策略管理,编辑默认的default domain policy,在计算机配置>windows设置>安全设置>公钥策略下,右击加密文件系统,选择创建数据恢复代理程序,就会自动以当前用户创建一个恢复代理;
- 双击此证书,可以看到证书目的是文件恢复;
- 切换到详细信息,点复制到文件,把恢复代理证书与私钥备份出来,以备急用;
其他角色服务
联机响应程序
PKI包含了多个组件,包括证书,证书吊销列表(certificate revocation lists)和证书颁发机构(certification authorities)。大多数情况,当应用程序需要认证,签名或者做加密操作时,需要确定证书的状态。证书状态和吊销检查主要依靠两个手段来确认:时间。证书在过期前都会被认为是有效的,直到系统时间超过过期时间,或者在过期之前已经被吊销。吊销状态。证书可以在过期之前被吊销,当密钥泄露或其他原因需要吊销证书时,管理员可以对证书吊销。确认吊销状态有多种手段,如CRLs,增量CRLs和在线证书状态协议(Online Certificate Status Protocol)。而联机响应程序使用的正是在线证书状态协议。OCSP相对CRLs,适合实时性要求较高的场合,查询数据量小,能缓解CA的带宽压力。下面就来介绍如何使用微软Active Directory Certificate Service实现OCSP。
- 安装联机响应程序服务(OSCP)
- 安装联机响应程序所需IIS服务的功能
- 等待安装完成后,可以点击“配置目标服务器上的Active Directory证书服务”,也可以关闭向导,在任务提醒处进入接下来的配置;
- 安装联机响应仅需要本地管理员角色,确认有权限,击“下一步”;
- 勾选“联机响应程序”,点击“下一步;
- 点击“配置;
- 打开“证书模板”管理单元;
- 右键单击“OCSP响应签名”模板,单击“复制模板”;
- 为新模板起一个名字;
- 切换到“安全”选项卡,添加当前服务器(SZSRVCA01v),并给它赋予“读取”和“自动注册”的权限。
- 打开“证书颁发机构”,右键当前点击证书颁发机构,打开属性
- 切换到“扩展”选项卡。单击“添加”,在“位置”处输入http://<ServerDNSName>/ocsp 。<ServerDNSName>是一个变量表示当前服务器的DNS名,所以对于我的环境来说,在此处输入http://szsrvca01/ocsp 也是对的。
- 选中“http://<ServerDNSName>/ocsp ”,勾选“包括在在线证书状态协议(OCSP)扩展中(O)”。这一步很重要。应用后,会要求重启证书服务,重启后配置生效;
- 回到“证书颁发机构”管理单元,右键单击“证书模板”,单击“要颁发的证书模板“;
- 选中我们自己创建的新OCSP响应签名模板,点击”确定“后即可发布该模板。这样我们就可以申请到以这个模板创建的证书了;
- 配置证书自动注册,登陆域控制器,打开“组策略管理”管理单元,右键编辑Default Domain Policy,展开至“用户配置”->“策略”->”Windows设置”->“安全设置”->“公钥策略”,右键点击“证书服务器客户端-自动注册”。单击“属性”
- 启用该模板,并且勾选“续订过期证书、更新未决证书并删除吊销的证书”和“更新使用证书模板的证书”;
- 回到证书服务器,打开CMD,输入命令“gpupdate/force”。回车后等待组策略刷新,重启证书服务器;
- 打开“证书”管理单元,展开至 证书(本地计算机)->个人->证书,看是否包含一个预期目的为“OCSP签名”的证书。右键点击它,点击“管理私钥”;
- 点击添加,输入NETWORK SERVICE,点击确定;
- 打开“联机响应程序”管理单元。在右侧操作窗格内,点击“添加吊销配置”。点击“下一步”;
- 为吊销配置定义一个名称;
- 勾选“选择现有企业CA的证书”;
- 点击“浏览”,选中当前CA;
- 缺省配置,勾选“自动注册OCSP签名证书”。点击下一步;
- 打开“证书颁发机构”管理单元,双击一个已颁发的证书,切换到“详细信息”选项卡;找到“CRL分发点”字段,复制CRL的URL
- 回到吊销配置向导,点击“提供程序”。点击“添加”,输入我们刚拷贝的URL。这一切都做完后,就可以点击完成了。
- 如果配置正确,打开数组配置后,应该能看到签名证书的状态是确定。