管理 Windows Server 2003 公钥结构

发布日期: 2004年09月23日

公钥结构 (PKI) 要求在操作和维护方面进行的规划与其初次实现时进行的规划一样多。本文提供了有关如何规划和实现 Microsoft® Windows Server 2003 PKI 的管理和操作的指南。其中包括有关评估管理 PKI 所需资源的详细信息,以及有关分配管理角色和安排操作任务的指南。本文用较大篇幅描述了为使 PKI 保持最佳状态而需完成的日常操作和支持任务。本文基于 Microsoft System Architecture (MSA) 证书服务部署,也是对它的补充。

本页内容
简介简介
规划资源以管理 Windows PKI规划资源以管理 Windows PKI
配置 PKI 操作环境配置 PKI 操作环境
操作 PKI操作 PKI
容量规划和优化容量规划和优化
管理更改和配置管理更改和配置
常见支持任务常见支持任务
摘要摘要
相关链接相关链接
附录 A - PKI 设计概述附录 A - PKI 设计概述
附录 B - 通用标准管理角色附录 B - 通用标准管理角色

简介

管理 Windows Server 2003 公钥结构 是 Windows® PKI 的操作和管理指南。具有 Windows XP 客户端的 Windows Server 2003 提供了一些迄今为止最为简便的 PKI 技术来进行部署和管理,尽管如此,仍需要对 PKI 进行管理。如果没有适当的操作支持,即使是只是中等复杂程度的 PKI 最终也会失败。

本文旨在提供简单明了的参考资料,使您了解为保持 PKI 正确运行而需要完成的管理、监视和支持任务。本文还包含如何规划资源以有效管理 PKI 和分配管理角色的一些指导原则,以及对其他相关 Microsoft 文档的引用。

本文是 Windows Server 2003 PKI Operations Guide(Windows Server 2003 PKI 操作指南)的姊妹篇,该指南中收集了一些可帮助您管理 PKI 的技巧和最佳做法。不过,本文是参照操作参考手册的形式组织的。您应该可以将本文中的指导信息直接作为 IT 操作的一部分实现。您需要使用 Windows Server 2003 PKI Operations Guide 和 Windows Server 2003 产品文档中的“公钥结构”章节作为本文内容的补充(请参见“相关链接”)。为最大限度地在这些资料之间减少重复和可能出现的不一致情形,本文中并未包含某些任务的详细信息,而是让您参见详细介绍该任务的文档。

本文中的指导准则以 Microsoft Systems Architecture version 2.0 Implementation Kit(Microsoft Systems Architecture 版本 2.0 实现工具包)和文章 Best Practices for Implementing a Microsoft Windows Server 2003 Public Key Infrastructure(Microsoft Windows Server 2003 公钥结构的最佳实现方法)中定义的企业 PKI 设计(使用具有 Windows XP 客户端的 Windows Server 2003)作为依据。上述两个文档描述的是基本相同的 PKI 的设计和构建。不过,对于其他 PKI 设计而言,本文中的大部分指导信息同样适用,稍加修改即可使用。

本文中的许多内容最初是为 Microsoft Solution for Securing Wireless LANs(Microsoft 安全无线 LAN 解决方案)准备的。本指南的概念和框架依据的是 Microsoft 操作框架 (MOF) 和 Microsoft 管理解决方案 (MSM)。有关对所有上述文档的引用,请参见“相关链接”。

概述

本文分为 6 大部分。前 2 个部分讨论规划和初始配置,其余 4 个部分集中阐述如何运行 PKI。

规划资源以管理 Windows PKI 重点讨论如何准备和规划任务,其中包含帮助您评估 Windows PKI 管理成本的指南。这一部分的内容涉及如何分配团队角色和为操作人员提供培训。此外,还包含了一个用于建立管理完善的 PKI 的任务以及需要定期执行的系统维护任务的列表。完成每项任务所需工作量的估计也包括在内。这些信息提供了一个良好的基础,您可以在此基础之上规划 PKI 所需的日常资源。

配置 PKI 操作环境讨论如何针对生产环境准备 PKI,其中包括创建管理组、建立备份和配置监视的详细步骤。这一部分的内容根据 MOF 过程模型中使用的类别来进行组织。

操作 PKI 涵盖了与 PKI 的正常维护有关的所有任务。其中包括续订证书颁发机构 (CA);发布证书吊销列表 (CRL);监视、审核和检查任务;以及 CA 数据库维护。

容量规划和优化集中讨论几项有助于管理 PKI 容量和性能的基本任务。

管理更改和配置包含可帮助您管理 PKI 更改的一般过程,以及帮助收集和维护 PKI 基本配置信息的过程。

常见支持任务集中讨论从系统故障中恢复的过程,包括 CA 故障期间从备份中还原 CA、吊销 CA 证书以及延长 CRL 有效期的过程。这一部分还包含一个常见支持问题表,其中提供了对包含有助于解决问题的疑难解答和支持信息的其他文档的引用。

相关链接列出了本文中引用的文档以及查找这些文档的方法。

注意:除非另有说明,否则引用所链接的是本文中的相应部分。

范围

本文不包括任何有关以下内容的指导信息:

PKI 本身的规划、设计和安装。此项内容在文档“最佳做法”及“MSA 实现工具包”等处已有相当详尽的描述。

使用硬件安全模块 (HSM) 来保护 CA 密钥。不过,本文中会指出在哪些地方如果使用 HSM 将使某个特定过程发生较大的变化。

使用 Microsoft 以外的供应商提供的其他软件组件,例如,注册机构 (RA) 附加组件或联机证书状态协议 (OCSP) 组件。

数字证书应用程序(如安全电子邮件、智能卡和加密文件系统 (EFS))特定的过程。

理解本文内容所需具备的条件

您应该熟悉 PKI 概念,尤其是 Microsoft 证书服务。还需要熟悉 Windows Server 2003(以及相关的 Windows XP)的以下方面:

Windows Server 2003 的基本操作和维护,包括“事件查看器”、“计算机管理”及“Windows 备份”等工具的使用

Active Directory®,包括 Active Directory 结构和工具,操作用户、组和其他 Active Directory 对象及使用组策略

Windows 系统安全:用户、组、审核、访问控制列表 (ACL) 等安全概念;使用安全模板;使用组策略或命令行工具应用安全模板

Internet 信息服务 (IIS) 管理

了解 Windows Scripting Host,熟悉 Microsoft Visual Basic® 脚本编辑 (VBScript) 语言(这有助于理解提供的脚本,但并非必要条件。)

继续阅读前,建议您先阅读 Microsoft Systems Architecture version 2.0 Implementation KitBest Practices for Implementing a Microsoft Windows Server 2003 Public Key Infrastructure 一文中的证书服务规划和构建章节(请参见“相关链接”),以了解本文所依据的解决方案的结构和设计。本文中所描述的大多数操作的前提条件是,PKI 是参照这些文档中所描述的相同规范设计和构建的,因此,了解这些前提条件非常重要。

本文中使用的 PKI 设计

“附录 A – PKI 设计概述”简要介绍了本文中使用的 PKI 设计。这是一个三层的 PKI 层次结构,具有基于 Windows Server 2003 平台的脱机根 CA 及中间 CA。文中描述的大部分任务都适用于更简单的配置(两层或者甚至一层),而无需进行更改或只需稍加改动。

返回页首返回页首

规划资源以管理 Windows PKI

这一部分讲述管理 Windows PKI 所需的人力资源规划。此处假定使用的是“简介”及“附录 A – PKI 设计概述”中描述的企业 PKI。尽管这一过程对于较简单的 PKI 安装也很类似,但需要对团队结构,尤其是必须完成的任务的工作量估计数字进行适当的调整。

需要考虑的有 4 个主要方面。前 2 个方面是分配管理角色和规划支持人员所需的培训。第 3 个方面是使 PKI 做好运行准备所需完成的任务。其中包括配置备份,分配管理权限,恢复规划及安排操作任务。第 4 个方面是保持 PKI 成功运行所需完成的有关操作、支持及服务台人员的日常任务。

这一部分不讲述 PKI 服务器或其他基础结构的规划、设计、安装和配置。

分配 PKI 管理角色

在 PKI 的管理中有若干种角色,每种角色代表一个与 PKI 有关的特定功能集。例如,批准证书申请、审核 CA 以及管理备份和存储就分属于不同管理角色的职责。在高安全性的环境中,可能会将每种角色分配给不同的人员,以防权限滥用。在其他组织中,可能只有一名管理员来负责所有的 PKI 任务;而大多数组织则介于这两种极端情形之间。

CA 管理角色具有一个通用标准配置文件。“附录 B — 通用标准管理角色”讨论了此配置文件与本文中使用的管理模型之间的关系。

确定管理模型的精细度

本文中使用的管理模型可满足多种不同的组织需求,从划分得非常细的管理角色到极为简单的职责划分,均可适用。PKI 管理功能已分为多个角色组,每个组对应一个域或本地安全组。本文中的所有过程均指明了执行这些过程所需的管理安全组成员身份。

借助这一方法,不同的组织就可以通过向所需的组中添加 IT 人员帐户来实现所需的角色精细度。例如,只由一名管理员负责所有 PKI 操作和支持任务的组织可向所有 PKI 角色组中添加该人员的帐户。对于需要在 PKI 管理员、备份操作员、审核员及应用程序所有者之间划分职责的更复杂组织,可将这些人员的帐户仅添加到完成各自的工作所需的 PKI 管理角色组中。

如果您尚未给 PKI 分配管理责任,则需要在 PKI 进入生产状态前完成分配。可使用表 1 来确定您需要为 PKI 管理人员分配哪些功能。“配置 PKI 操作环境”的第一组任务包括创建和填充 PKI 角色安全组以及为这些组分配适当的权限。

将功能角色映射到安全组

表 1 中描述了每个 CA 范围及企业范围内的 PKI 管理角色的功能,以及用于实现该角色的安全组。这些安全组用于描述本文中各过程的安全要求。每个过程都有一个“安全要求”部分,其中列出了操作人员需要成为哪些安全组的成员才能完成该过程。

该表也分为多个部分,分别对应于常见的管理边界。这种划分尽管很常见,但决非普遍适用,因此可能与您的组织并不完全匹配。例如,“应用程序所有者”可能是业务部门中的某个人而非支持组织。

脱机 CA(根 CA 及中间 CA)不能使用域组,而只能使用本地安全组。对于这些 CA,必须在 CA 自身上创建各个本地帐户,然后使用它们来填充本地管理组。对于联机 CA(属于域成员),将使用域安全组来应用适于每种角色的权限。域帐户用于填充角色组。

表 1:将证书服务角色映射到安全组

管理角色名称域安全组(联机 CA)本地安全组(脱机 CA)功能
管理员/第三层支持角色   

Enterprise Administrator

Enterprise Admins

控制林中包括公钥服务容器在内的所有 Active Directory 资源;因此,包括对模板、信任发布及其他企业(林)范围内的配置元素的控制。

Enterprise PKI Administrator

Enterprise PKI Admins

控制 Active Directory 公钥服务容器;因此,包括对模板、信任发布及其他企业(林)范围内的配置元素的控制。

Enterprise PKI Publisher

Enterprise PKI Publishers

可以将企业受信任的根证书、子 CA 证书以及 CRL 发布到目录中。

CA Administrator

CA Admins

CA Admins

具有 CA 的“管理 CA”权限;控制 CA 的角色分配;还具有更改 CA 属性的权限;往往与 CA 服务器的本地管理员合而为一,除非强制执行角色分离。

Administrator

Administrators

CA 服务器的本地管理员。

Certificate Manager

Cert Managers

Cert Managers

具有 CA 的“颁发和管理证书”权限;可在每个 CA 上设置多个 Certificate Manager,分别管理一小组用户或其他最终实体的证书。

审核员角色   

CA Auditor

CA Auditors

CA Auditors

具有 CA 的“管理安全和审核日志”用户权限。

操作员/第二层支持角色   

CA Backup Operator

CA Backup Operators

CA Backup Operators

具有 CA 服务器的“备份和还原”权限。

应用程序所有者

注册 Templatename

自动注册 Templatename

可允许用户及计算机注册(或自动注册)给定的证书类型。请参见“创建证书注册组”过程。

培训员工

操作和支持人员的培训内容差别很大,具体取决于他们的经验及其各自的角色和职责。以下部分列出了适合大多数大型 IT 组织不同职责级别人员的培训类型(包括 Microsoft Official Curriculum 课程)。有关这些课程的更详细信息,请参见“相关链接”。

PKI 管理员和第三层支持

在这一级别工作的 IT 人员极有可能是 Windows 2000 或 Windows Server 2003 的 Microsoft 认证系统工程师 (MCSE),或具有同等知识和经验的人员。

以下课程非常有用。

课程 2823:实现和管理 Microsoft Windows Server 2003 网络中的安全功能

课程 2821:设计和管理 Windows 公钥结构

操作员和第二层支持

为服务台提供支持并定期执行操作和监视任务的 IT 人员可能是 MCSE 或具有同等知识的人员。

以下课程对基本掌握 PKI 及 Windows Server 2003 平台中的其他安全技术特别有用。

课程 2823:实现和管理 Microsoft Windows Server 2003 网络中的安全功能

服务台

服务台培训需求取决于服务台人员是提供全面支持,还是只为特定应用程序或系统提供支持。为 PKI 应用程序服务台支持人员进行客户端平台 (Windows XP) 和客户端应用程序(例如,Microsoft Office)的基本培训,对他们会大有帮助。重要的是,为服务台人员提供定期更新的常见问题解答 (FAQ)、文章及常见问题解决方法,这样他们就可以尽可能多地解决客户反映的问题,而不必向第二和第三层支持提交这些问题。

用户

用户培训的重要性往往被忽略,尽管这通常并不是 IT 运行部门的责任。由于用户对应用程序的工作方式的混淆不清,因此就不可避免地会产生支持需求。重要的是,提供有关应用程序或服务的正确使用方法的培训,包括用户在要求服务台提供支持前可以尝试的自助工具。还应就组织安全策略的相关方面对用户进行适当培训,使他们了解自身的职责。例如,他们应该知道报告丢失或被窃计算机或智能卡的程序,如何选择有效密码,如何防止他们的数据和凭据被滥用以及如何防范病毒。

操作环境配置任务

表 2 中列出了使您的 PKI 做好运行准备所要完成的任务。每项任务描述了如何配置 PKI 管理系统的某个方面,使之为进入生产环境做好准备。完成每项任务所需小时数的估计也包括在内。有关每项任务的描述,请参见“配置 PKI 操作环境”。

您不必执行所有这些任务,但在作出此项决定前,应该检查每项任务的细节。您可能需要重复执行其中的一些任务;例如,如果利用备份重建 CA,则可能需要为其重新配置备份和监视作业。

注意:工作量(小时数)为估计值,具体取决于组织的安全要求和操作方法。

表 2:初始设置任务

任务名称工作量(小时)
一般 

创建操作时间表

8

部署 PKI 支持服务

16

准备目录 

为证书服务管理准备域 OU 结构

0.5

安全管理 

创建 PKI 管理组

1

为 PKI 管理组分配权限

1

委派企业 PKI 权限

1

委派权限以安装企业 CA

1

创建证书注册组

1

在 Web 服务器上设置 CRL 和证书发布权限

3

配置颁发 CA 以将 CRL 发布到 Web 服务器

1

启用 CA 审核

1

禁止中间 CA 检查吊销状态

1

系统管理 

配置操作系统更新

8

配置可用性和恢复选项 

为高可用性 PKI 进行规划

16

配置颁发 CA 数据库备份

4

配置脱机 CA 数据库备份

4

配置监视和警报 

为监视警报分类

4

监视服务可用性

8

配置 CA 安全监视

16

计算潜在的 CA 容量限制

8

为挂起证书申请配置 SMTP 警报

2

监视客户证书是否到期

总小时数

105.5

总天数

13

日常操作任务

表 3 中列出了保持 PKI 正常运行而需要定期执行的任务。它还包括可能的支持工作量估计,该值基于 Microsoft 内部 PKI 操作部门。有关这些任务的详细信息,请参见本文的“操作 PKI”及后续部分。

包括每项任务所需小时数、任务频率及年总工作量估计。“任务工作量”指的是任务的一个实例,而“年次数”指的是所有 CA 的总和。将两者相乘,便可得到该任务的年总工作量。

这些任务均与 PKI 结构服务有关,并且不包括 PKI 应用程序支持的工作量,因此,它们大都由第三和第二层支持人员来完成。对于不同的 PKI 应用程序,其支持工作量也千差万别。不过,在“示例:Microsoft OTG PKI 操作资源”中提供了 Microsoft 的操作和技术组 (OTG) 使用的支持资源,用于为 Microsoft 的 60,000 位 PKI 用户部署的应用程序提供支持(作为一个指南)。

注意:工作量(小时数)为估计值,具体取决于组织的安全要求及操作方法。

表 3:PKI 操作和支持任务

任务名称任务工作量(小时)频率年次数年工作量(小时)
安全管理    

为用户或计算机启用证书类型的注册(或自动注册)

0.25

每周一次

52

13

为用户或计算机禁用证书类型的注册(或自动注册)

0.25

每周一次

52

13

检查和批准挂起的证书申请

0.5

每日一次

200

100

吊销最终实体证书

0.25

每日(估计每月 50 次)

600

150

吊销存档的私钥

0.5

根据需要(估计每月 20 次)

240

120

续订根 CA 证书

4

每年 8 次

0.125

0.5

续订中间 CA 证书

4

每年 4 次

0.25

1

续订颁发 CA 证书(每年允许 CRL 分割续订)

4

每年一次

2

8

将脱机 CA 的 CRL 发布到 Web 服务器

1

每年 6 次(2 次根 CA、4 次中间 CA)

6

6

监视    

检查审核日志

1

每周一次

52

52

审核 PKI

8

每年一次

1

8

检查性能和容量数据

4

每月 3 次

4

16

生成管理信息报告

4

每月一次

12

48

CA 数据库和设置管理    

备份脱机 CA

1

每年一次

3

3

备份 CA 密钥和证书

1

每年一次(CA 续订后)

2.4

2.4

测试颁发 CA 数据库备份

8

每月 3 次

4

32

测试 CA 密钥备份

4

每月 6 次

2

8

存档 CA 中的安全审核数据

1

每月一次

12

12

管理更改和配置    

更新操作系统版本

8

每年 2 次

0.5

4

安装 SP 和安全更新(仅限脱机 CA,假定联机 CA 是自动更新的)

8

每月 3 次

4

32

测试更新(CA 特定测试)

16

每月 3 次

4

64

配置管理    

收集企业 PKI 配置信息

2

每年一次

1

2

收集证书模板配置信息

2

每年一次

1

2

收集 CA 配置信息

2

每年一次

1

2

收集 CA 和 PKI 管理组信息

2

每年一次

1

2

收集证书客户端配置信息

2

每年一次

1

2

常见支持任务    

支持任务

从备份中还原 CA

16

每年 2 次

0.5

8

将 CA 证书和密钥对还原到临时计算机

2

每年 2 次

0.5

1

重新签署 CRL 或证书以延长其有效期

2

每年 2 次

0.5

1

吊销孤立证书

4

每年 2 次

0.5

2

吊销和替换颁发 CA 证书

8

每年 4 次

0.25

2

吊销和替换中间 CA 证书

16

每年 8 次

0.125

2

吊销和替换根 CA 证书

40

每年 10 次

0.1

4

年总小时数

720

年总天数

90

示例:Microsoft OTG PKI 操作资源

如前所述,表 3 中不包含 PKI 应用程序的支持要求。Microsoft OTG 部署了大量依赖于数字证书的应用程序。其中有:

智能卡身份验证(用于远程访问和域登录)

安全无线网络

加密文件系统

电子邮件安全

Internet 协议安全 (IPsec)

表 4 中列出了这些应用程序和证书结构的支持资源。由于智能卡及相关照片 ID 和进门系统的物理管理开销很大,因此智能卡管理的工作量非常大。

表 4:支持资源

角色Microsoft OTG 人员(60,000 个用户)

服务台(非智能卡)

2 名全职人员

服务台(智能卡)

4 名全职人员

第二层支持

2 名全职人员

第三层支持

1 名全职人员

第三层设计和工程(他们通常也是第三层支持人员。)

2 名全职人员

OTG 还使用单独的呼叫筛选中心来记录呼叫,并将它们发送到相应的服务台人员。服务台数字中未包含此项。

考虑到以下几点,您可以根据这些数字推定贵组织所需的人员数量。

较少的应用程序可减少支持负荷,特别是服务台和第二层支持工作量。这些数字反映了相对丰富的应用程序集。

对于不同规模的 PKI,都要完成一组相同的核心任务;工作量并非呈线性下降,第三层支持尤其如此。

第三层设计和工程工作量取决于贵组织部署的新 PKI 应用程序的数量。(Microsoft 具有多种使用 PKI 技术及优化其目前使用情况的计划,因此与大多数组织相比,这是一个资源高度集中的领域。)与组织规模相比,这一因素对此项所需资源的影响要大得多。

返回页首返回页首

配置 PKI 操作环境

配置系统的操作环境是部署任何 IT 项目必不可少的步骤。它包括部署计划作业,配置监视和警报参数,创建性能测量基线和制订定期维护作业的时间表。如果不执行此步骤,进入生产环境的任何系统都无法达到性能预期值并最终失败。

这一配置阶段适用于 PKI,也同样适用于任何其他结构组件。这一部分描述了创建操作时间表;准备目录;为系统可用性做准备;配置监视和警报;并描述了将 PKI 投入生产而需要完成的其他基本任务。

配置任务清单

一般

创建操作时间表

部署 PKI 支持服务

准备目录

为证书服务管理准备域组织单元 (OU) 结构

安全管理

创建 PKI 管理组

为 PKI 管理组分配权限

委派企业 PKI 权限

委派权限以安装企业 CA

创建证书注册组

在 Web 服务器上设置 CRL 和证书发布权限

在 Web 服务器上设置 CRL 和证书发布权限

配置颁发 CA 以将 CRL 发布到 Web 服务器

启用 CA 审核

禁用对中间 CA 的吊销检查

系统管理

配置操作系统更新

配置可用性和恢复选项

为高可用性 PKI 进行规划

配置颁发 CA 数据库备份

配置脱机 CA 数据库备份

配置监视和警报

为监视警报分类

监视服务可用性

配置 CA 安全监视

计算潜在的 CA 容量限制

为挂起的证书申请配置简单邮件传输协议 (SMTP) 警报

监视客户证书是否到期

作业计划

安排联机 CA 上的作业

创建操作时间表

创建操作时间表是部署 PKI 时最主要的部分之一。某些 PKI 维护任务每几个月或几年才执行一次。因此,如果未正确地安排这些任务,就可能存在实际需要执行任务时将其遗漏的风险。

可使用“日常操作任务”中的列表作为起点,为您的 PKI 制订一个操作时间表。该时间表应列出需要定期执行的所有任务,描述每项任务的频率并指定负责完成每项任务的人员。

该时间表应具有以下特点。

时间表中的每个条目应指定任务的实际日期和时间;应使用“每星期一上午 10 点”或“每年 2 月 1 日和 8 月 1 日”,而不要使用“每周执行一次”。

每个任务项应说明在指定日期未能执行任务(例如,执行日期恰好是假期或任务负责人缺席)时应采取的措施。

应同时列出负责完成任务者及其替代者的姓名,以防任务所有者缺席。任务所有者必须意识到这一点,并在制订时间表时加以考虑。

该时间表可使用某种自动方法,在需要执行任务时通知负责人。您可以使用 Microsoft Outlook 等日历系统记录、分配任务和提供任务通知。

该时间表应定义任务完成的记录方式(用于审核目的),它可以是电子或纸面日志。

时间表列表还必须包含您的应用程序和环境所特有的手动任务以及“日常操作任务”列表中的核心任务。例如,如果您已手动注册了需要每年续订其证书的 Web 服务器,则应将其包括到时间表中。

部署 PKI 支持服务

在部署 PKI 结构和依赖于该 PKI 的应用程序时,您应该确保已将该 PKI 的支持资源联机。您应将结构(CA 及支持服务)和 PKI 应用程序的部署时间错开,以便根据新的需求调整支持服务时间。以下步骤显示了如何配合 PKI 部署来实现这一目的。

1.

对相关操作和支持人员进行培训,使他们为 PKI 服务部署做好准备。

2.

部署不含任何 PKI 应用程序的 CA 结构,以测试支持和操作任务。

3.

检查和完善操作和支持服务。

4.

规划第一次 PKI 应用程序部署。关键在于,这是最终用户可见的 PKI 部署的第一部分,因此需要服务台做好为应用程序提供支持的准备。

5.

准备支持资源,如 FAQ、疑难解答图表、升级过程,并可能包含服务台和第二层支持要使用的常见问题。这些资源将会发生变化,因此不要指望在这个阶段能够考虑到所有的可能性。

6.

在通用 PKI 和应用程序特定的支持方面,对服务台人员和升级支持人员进行培训。

7.

使用一组可管理但具有代表性的用户来测试应用程序。

8.

检查和完善服务台及支持过程。(应在应用程序的有效期内,定期检查并不断改进支持服务。)

9.

对于每个应用程序,重复步骤 4 到 8。

准备目录

为证书服务管理准备域组织单元 (OU) 结构

此项任务的目的是,创建一个合适的 OU 结构来管理证书服务安全组。

安全要求

具有在 Active Directory 的指定部分创建 OU 权限的帐户

任务详细信息

此项任务只是对如何组织 PKI 的相关安全组的建议。实际使用的 OU 结构取决于现有 OU 结构及目前的管理策略和过程。表 5 中提供了一个简单 OU 子树的示例,可使用它来帮助组织本指南中创建和提及的安全组。应为 Enterprise PKI Admins 组授予为这些 OU 创建和删除组对象的权限。

表 5:安全组在 OU 结构内的位置

OU 名称用途OU 中存储的组

证书服务管理

包含用于管理 CA 和企业 PKI 配置的管理组

Enterprise PKI Admins

Enterprise PKI Publishers

CA Admins

CA Auditors

Cert Managers

CA Backup Operators

证书注册组

包含被授予了同名模板的“注册”或“自动注册”权限的组,可随后将这些组的控制权委派给合适的人员,从而在不修改模板本身的情况下保持灵活的注册体系

例如:

注册用户证书

自动注册用户证书

注册电子邮件签名证书

安全管理

安全管理涵盖与 IT 结构的安全组件有关的任务。

创建 PKI 管理组

管理角色和功能是使用域用户帐户和安全组定义的。

注意:该解决方案定义了多个安全组,分别对应于不同的管理角色。这样,您在委派 CA 管理职责时就可以拥有相当大的控制权。不过,如果它们不适合您的管理模型,则不必使用所有或任何角色。在极端情况下,如果您只有一名 PKI 管理员,他负责服务的各个方面,则可将此帐户添加到 CA 的所有角色组中。实际上,大多数组织使用某些角色分离功能,但很少会有组织使用 Windows 证书服务的所有角色分离功能。有关详细信息,请参见“分配 PKI 管理角色”。

在域中创建 PKI 管理组

1.

使用具有在“证书服务管理 OU”(在前面的任务中创建)中创建用户和组对象权限的帐户登录到某个域成员。

2.

创建表 6 中列出的域 CA 管理组。

表 6:PKI 组名和用途

组名组类型用途

Enterprise PKI Admins

通用

“公钥服务”配置容器的管理员。

此组功能非常强大。它在 Active Directory 林中对 PKI 具有完全控制权,包括安装和更换根 CA 和企业 CA,更改根信任关系以及安装交叉证书的权限。就像 Enterprise Admins 组一样,应小心使用该组。

Enterprise PKI Publishers

通用

允许将 CRL 和 CA 证书发布到“企业”配置容器中。

此组同样功能强大,它具有安装和删除整个林中受信任的根 CA 及交叉证书等权限。请小心使用。

CA Admins

通用

具有 CA 的完全管理功能,包括确定其他角色的成员身份。

Cert Managers

通用

管理证书颁发和吊销。

CA Auditors

通用

管理 CA 的审核数据。

CA Backup Operators

通用

具有备份和还原 CA 密钥和数据的权限。

如果您的每个企业 CA 都需要单独的 CA 管理员、证书管理员,审核员以及备份操作员组,请为每个 CA 创建单独的域组,而不是为每个角色创建单个组(如此处所示)。将它们命名为“CANameCA Admins”(其中,CAName 是 CA 的名称)或这些行中的其他内容。

这些组被创建为“通用”组,因为它们需要具有全林性作用域(可见性),并且可能包含来自多个域的成员。如果您只需要来自单个域的组成员,则可以使用域全局组。您只能在具有 Windows 2000 本机模式或更高版本的域功能级别的域中创建通用组。(有关域功能级别的详细信息,请参见“相关链接”。)如果您的域处于混合模式,则必须使用全局组。

您可以并且应该限制能够更改这些组成员的人员。以下过程将此功能限定为 Enterprise PKI Admins 组的成员。在执行此过程之前,您应该将至少一个有效的域帐户添加到 Enterprise PKI Admins 组中。以下过程使用名为 PKIGroupOwner 的帐户。该帐户被指定为 PKI 管理组的所有者,即从默认 Administrators 转让所有权。名称并不重要,您可以根据需要使用其他名称。

限制可以修改 PKI 管理组成员的人员

1.

以 Domain Admins 成员(或具有创建帐户的权限以及完全控制在上一过程中创建的组对象的帐户)的身份登录。

2.

创建将用作这些组所有者的帐户 PKIGroupOwner。此帐户仅用于从默认域 Administrators 组转让所有权。您不需要使用此帐户来完成管理任务。

3.

为其中的每个组对象授予 PKIGroupOwner 的完全控制权限。

4.

使用 PKIGroupOwner 帐户登录并依次获得每个组的所有权。

5.

删除 Domain Admins、Administrators 和 Enterprise Admins 的权限。

6.

为每个组授予 EntPKIAdmins 的完全控制权限。

7.

注销并使用第 1 步中所用的相同帐户重新登录。禁用 PKIGroupOwner 帐户以防止将其误用。

注意:无法防止域或企业管理员修改这些组。但是,此过程中的步骤(尤其是从内置 Administrators 组删除组所有权)有助于确保可以对任何未经授权的修改进行审核,因而不会出现无意中进行未经授权修改的情况。

脱机 CA 不能使用域组,因此需要在 CA 本身中为其创建等效的本地组。Enterprise PKI Admins 或 Enterprise PKI Publishers 组没有等效的本地角色。

在脱机 CA 中创建 CA 管理组

1.

以本地 Administrators 组的成员身份登录到 CA。

2.

创建表 7 中列出的本地 CA 管理组。

表 7:CA 组的组名和用途

组名用途

CA Admins

具有 CA 的完全管理功能,包括确定其他角色的成员身份。

Cert Managers

管理证书颁发和吊销。

CA Auditors

管理 CA 的审核数据。

CA Backup Operators

具有备份和还原 CA 密钥和数据的权限。

为 PKI 管理组分配权限

要在 CA 中使用管理角色(如审核员和证书管理员),您必须为每个角色授予安全组的适当权限。

注意:虽然本文使用了多个管理角色,但您也可自行将相同的帐户添加到多个角色中,以获得更简单的管理模型。有关详细信息,请参见“分配 PKI 管理角色”。

任务详细信息

第一项任务是使用域组为联机颁发 CA 设置权限。第二项任务是使用本地组为脱机 CA 设置权限。

为联机颁发 CA 配置管理角色

1.

在“证书颁发机构”MMC 中,单击“属性”以编辑 CA 的属性。

2.

单击“安全”选项卡,并添加表 8 中列出的域安全组。对于每个组,添加所示的权限。

表 8:要添加的权限项

组名权限允许/拒绝

CA Admins

管理 CA

允许

Enterprise PKI Admins

管理 CA

允许

Cert Managers

颁发和管理证书

允许

注意:如果您计划强制进行通用标准角色分离,则还必须从本地 Administrators 组中删除“管理 CA”权限。有关详细信息,请参见“附录 B - 通用标准管理角色”。

3.

将 CA Auditors 组添加到本地 Administrators 组中。

4.

将 CA Backup Operators 组添加到本地 Backup Operators 组中。

5.

您需要为某些 PKI 管理组授予用户权限。您可以在应用于 CA 的域组策略对象 (GPO) 中或每个 CA 的本地 GPO 中执行此操作。用户权限是在 GPO 的“计算机配置\Windows 设置\安全设置\本地策略\用户权限分配”部分设置的。请在“Active Directory 用户和计算机”中创建或打开所选的域 GPO,或者打开“本地安全策略”编辑器(在“管理工具”中)以编辑“用户权限分配”。

6.

为 CA Auditors 组授予“管理安全和审核日志”用户权限。

7.

为以下组授予“允许在本地登录”用户权限。(Administrators 和 Backup Operators 默认拥有此权限,但您也必须将它们包括在内,以防此 GPO 覆盖默认设置,并误删了这些组的权限。)

Administrators(本地组)

Backup Operators(本地组)

CA Admins(域组)

CA Auditors(域组)

Cert Managers(域组)

Enterprise PKI Admins(域组)

为脱机 CA 配置管理角色

1.

在“证书颁发机构”MMC 管理单元中,单击“属性”以编辑 CA 的属性。

2.

单击“安全”选项卡,并添加表 9 中列出的域安全组。对于每个组,添加所示的权限。

表 9:要添加的 CA 权限项

组名权限允许/拒绝

CA Admins

管理 CA

允许

Cert Managers

颁发和管理证书

允许

注意:如果您要强制进行完整角色分离,则还应该从本地 Administrators 组中删除“管理 CA”权限。

3.

将 CA Auditors 的所有成员添加到本地 Administrators 组中,因为只有 Administrators 组的成员能够打开安全事件日志。

4.

将 CA Backup Operators 组的所有成员添加到本地 Backup Operators 组中。

5.

您需要为某些 PKI 管理组授予用户权限。您必须在 CA 中设置此本地 GPO。用户权限是在“计算机配置\Windows 设置\安全设置\本地策略\用户权限分配”中设置的。打开“本地安全策略”编辑器(在“管理工具”中)。

6.

为 CA Auditors 组授予“管理安全和审核日志”用户权限。

7.

为以下组授予“允许在本地登录”用户权限。(Administrators 和 Backup Operators 默认拥有此权限,但您必须将其添加到此权限中以防覆盖默认设置。)

Administrators

Backup Operators

CA Admins

CA Auditors

Cert Managers

委派企业 PKI 权限

全林性的 PKI 配置信息存储在“Active Directory 配置”容器中一个称为“公钥服务”的子容器内。默认情况下,仅限 Enterprise Administrators 安全组拥有此容器及其所有子容器和对象的写入权限。

此任务将“公钥服务”容器的权限授予 Enterprise PKI Admins 和 Enterprise PKI Publishers 组,以使他们能够行使通常为 Enterprise Admins 保留的某些职责。Enterprise PKI Admins 被授予管理大部分全林性 PKI 配置的权限。其中包括管理模板和 PKI 策略对象标识符 (OID),指定根 CA 信任关系和颁发机构信息访问 (AIA) 以及目录中的 CRL 发布点。Enterprise PKI Admins 唯一不能执行的任务是将新的企业 CA 添加到林中。(本过程的后面部分详细介绍了如何将此任务委派给 Enterprise PKI Admins 组)。Enterprise PKI Publishers 具有更有限的一组权限,它可以将证书吊销列表和 CA 证书发布到目录中。

注意:此过程委派对 Active Directory 非常敏感的部分的控制权,它影响整个林范围内的用户和计算机。授予“公钥服务”容器控制权时要慎重。除其他功能外,具有修改此容器及其子容器权限的用户可以添加和删除受信任的根 CA,在“NT 验证”容器中添加和删除企业 CA 项,以及使用此权限为林中的任何用户创建有效的登录凭据。

安全要求

具有 Enterprise Admins 的成员身份

任务详细信息

为 Enterprise PKI Admins 授予权限

1.

以 Enterprise Admins 安全组成员的身份登录。

2.

在“Active Directory 站点和服务”MMC 管理单元中,选择“查看”菜单中的“服务”节点。导航到“公钥服务”子容器,然后打开其“属性”。

3.

在“安全”选项卡上,添加 Enterprise PKI Admins 安全组,并为此组授予完全控制权限。

4.

在“高级”视图中,对此组的权限进行编辑,确保将“完全控制”应用到“这个对象及全部子对象”。

5.

选择“服务”容器并打开其“属性”。在“安全”选项卡上,添加 Enterprise PKI Admins 安全组,并为此组授予完全控制权限。

6.

在“高级”视图中,对此组的权限进行编辑,确保将“完全控制”应用到“只是这个对象”。

为 Enterprise PKI Publishers 授予权限

1.

以 Enterprise PKI Admins(或 Enterprise Admins)安全组成员的身份登录。

2.

在“Active Directory 站点和服务”MMC 管理单元中,选择“服务”节点并打开“公钥服务\AIA”容器的“属性”。

3.

在“安全”选项卡上,添加 Enterprise PKI Publishers 安全组,并为此组授予以下权限。

读取

写入

创建所有子对象

删除所有子对象

4.

在“高级”视图中,对此组的权限进行编辑,确保将权限应用到“这个对象及全部子对象”。

5.

对于下列容器,重复步骤 2 到 4。

公钥服务\CDP

公钥服务\证书颁发机构

委派权限以安装企业 CA

将企业 CA 添加到林中是一项极其敏感的操作。企业 CA 可以为林中的任何帐户(包括任何域或企业管理员)颁发登录凭据,因此它只能由 Enterprise Admins 的成员进行安装。Microsoft 推荐并支持采用这种方法,并且它已经过了全面测试。除非您有委派此任务的特殊需求,否则,不要执行此操作。

但是,在有些情况下,您可能需要将此任务委派给不是 Enterprise Admins 成员的管理员。可通过执行下列两个过程为 Cert Publishers 组授予适当的权限,并为 Enterprise PKI Admins 组授予“还原文件和目录”用户权限来实现此目的。

重要信息:通过委派此任务,您可以不必在 Enterprise Admins 和 Enterprise PKI Admins 之间划定严格的安全边界;第二组的成员可将其权限提升到 Enterprise Admins 组的权限。您应将此委派过程视为一个用来支持管理策略的步骤,而不应视为一种严格的安全控制。

安全要求

具有要安装企业 CA 的域的 Domain Admins 成员身份

任务详细信息

Cert Publishers 安全组包含某个域中所有企业 CA 的计算机帐户。此组具有向用户和计算机对象发布证书以及向 CDP 容器(在前面过程中提到的)发布 CRL 的权限。在安装了联机 CA 后,需要将其计算机帐户添加到此组中。默认情况下,只有 Domain Admins、Enterprise Admins 以及内置的域 Administrators 组具有修改 Cert Publishers 成员的权限。要允许 Enterprise PKI Admins 成员安装企业 CA,您必须将此组添加到 Cert Publishers 的权限中。对于要安装企业 CA 的每个域,必须重复此过程。

为 Cert Publishers 授予“修改成员”权限

1.

以(将安装颁发 CA 的域的)Domain Admins 成员身份登录。

2.

打开“Active Directory 用户和计算机”MMC 管理单元。

3.

在“查看”菜单中,确保启用了“高级功能”。

4.

找到“Cert Publishers”组(默认情况下在“用户”容器中)并查看该组的属性。

5.

在“安全”选项卡中,添加 Enterprise PKI Admins 组,然后单击“高级”。

6.

从列表中选择 Enterprise PKI Admins 组,然后单击“编辑”。

7.

单击“属性”选项卡,确保在“应用到”框中选中了“只是这个对象”。

8.

向下滚动,然后单击“允许”栏中的“写入成员”框。

9.

在每个窗口中单击“确定”,保存更改并关闭窗口。

要安装企业 CA,您还需要在安装 CA 的域中具有“还原文件和目录”权限。证书服务安装过程需要使用此权限,将证书模板安装到域中。更具体地说,必须具有此权限才能将模板中的安全描述符以及其他目录对象合并起来,并进而为目录中存储的 PKI 配置对象授予正确的权限。在默认情况下,内置的域组 Administrators、Server Operators 以及 Backup Operators 具有此权限。通常,只有在林中安装第一个企业 CA 时才会用到此权限。对于要安装企业 CA 的每个域,需要重复此过程。

为 Enterprise PKI Admins 授予“还原”权限

1.

以(将安装颁发 CA 的域的)Domain Admins 成员身份登录。

2.

打开“Active Directory 用户和计算机”MMC 管理单元。

3.

选择“域控制器 OU”,然后打开该 OU 的属性。

4.

在“组策略”选项卡中,选择“默认域控制器策略 GPO”,然后单击“编辑”。

5.

导航到“计算机配置\Windows 设置\安全设置\本地策略\用户权限分配”,然后双击“还原文件和目录”。

6.

将 Enterprise PKI Admins 组添加到所示的列表中。

7.

关闭窗口和 GPO 编辑 MMC 管理单元。

重要信息:如果任何其他 GPO 在域控制器中设置了“还原文件和目录”用户权限,则必须对具有最高优先级的 GPO(而非“默认域控制器策略”)执行先前的过程。用户权限设置不是累计的,只有设置了此权限并且最后应用的 GPO(即具有最高优先级的 GPO)有效。

创建证书注册组

可以使用证书注册组,方便地控制哪些用户可以注册特定证书类型,或者哪些用户可以自动注册特定证书类型。您不必对证书模板的安全设置进行编辑,而只需在安全组中添加和删除用户或计算机,即可实现此目的。您也可以为某些管理人员委派这些组成员身份的控制权(这些管理人员无权直接编辑证书模板的属性)。您可能希望使用此过程,使程序所有者能够控制哪些用户可以注册特定的证书类型,而不必授予其修改模板本身的权限。

安全要求

具有 Enterprise PKI Admins 的成员身份(以更改证书模板的权限)以及在 OU 中创建所需安全组的权限

任务详细信息

为每个证书模板类型创建一个注册组,或至少为自动批准证书的所有证书模板类型创建一个注册组。在对证书类型使用显式注册过程的情况下,可能不需要使用此机制。如果要自动注册证书类型,可创建一个单独的组来控制哪些用户和设备自动注册该证书。

注意:您必须使用域全局组或通用组来设置模板权限,因为它们是在整个林中唯一可见的组类型。但是,全局组只能包含来自创建此组的域中的成员。要使用来自多个域的成员,请为每个域创建全局组(您可以在其中添加来自每个域的所需用户和计算机)和通用组以设置模板权限。然后,将全局组添加到通用组中。

为证书模板创建注册组

1.

以 Enterprise PKI Admins 的成员身份登录,然后打开“Active Directory 用户和计算机”MMC 管理单元。

2.

在“证书注册组”OU 中,创建域安全组,其命名方式如下(将 CertTemplateName 替换为证书模板的名称,例如“注册智能卡登录证书”)。

注册CertTemplateName 证书

自动注册CertTemplateName证书(如果需要)

3.

将“证书模板”管理单元加载到 MMC 中。

4.

打开模板属性以编辑安全性。

5.

添加“注册 CertTemplateName 证书”组,并授予其“读取”和“注册”权限。

6.

添加“自动注册 CertTemplateName 证书”组,并授予其“读取”、“注册”和“自动注册”权限。

注意:您可以委派这些注册组的控制权,以使证书应用程序所有者能够指定哪些用户可以注册(和自动注册)此证书类型,而哪些用户不能进行注册(和自动注册)。

在 Web 服务器上设置 CRL 和证书发布权限

您必须在 IIS(或其他 Web 服务器)上创建一个虚拟目录,并将其作为 CA 证书 (AIA) 和 CRL 发布 (CDP) 的超文本传输协议 (HTTP) 位置。此任务专用于 IIS 6.0(在 Windows Server 2003 中),但也可对其进行修改以用于 IIS 早期版本及其他 Web 服务器。

安全要求

具有 Web 服务器的本地 Administrators 成员身份

任务详细信息

此任务创建虚拟目录,并为 Enterprise PKI Publishers 组和联机 CA 授予向此位置发布文件的权限。

创建 IIS 分发点

1.

以本地 Administrators 组的成员身份登录到 IIS 服务器。

2.

创建文件夹 C:\WWWPKIpub(它将包含 CA 证书和 CRL)。

3.

使用 Windows 资源管理器设置文件夹的安全性。表 10 中指出了应该应用的权限。前 4 项应该已经存在。

表 10:文件夹权限

用户/组权限允许/拒绝

Administrators

完全控制

允许

System

完全控制

允许

Creator Owners

完全控制(仅限子文件夹和文件)

允许

Users

读取

列出文件夹内容

允许

Enterprise PKI Publishers

修改

允许

Cert Publishers

修改

允许

IIS_WPG

读取

列出文件夹内容

允许

Internet 来宾帐户

写入

拒绝

4.

将此文件夹共享为 WWWPKIpub。如表 11 所示设置共享权限。

表 11:共享权限

用户/组权限允许/拒绝

Enterprise PKI Publishers

修改

允许

Cert Publishers

修改

允许

5.

在“Internet 信息服务”MMC 中,在默认的 Web 站点下创建一个新的虚拟目录,并将其命名为 pki。指定 C:\WWWPKIpub 作为路径。

6.

在虚拟目录访问权限中,清除“运行脚本(如 ASP)”选项。

7.

确保为虚拟目录启用了匿名身份验证。

如果您要使用多个 IIS 服务器来发布 CRL 和 CA 证书(例如,您在不同的服务器上拥有内部和外部 PKI 发布点),则需要重复此任务。

配置颁发 CA 以将 CRL 发布到 Web 服务器

颁发 CA 通常会颁发 CRL(增量 CRL 为每日甚至每小时一次)。因此,找到一种方法将 CRL 自动发布到分发点 (CDP) 是非常重要的。企业 CA 自动将 CRL 发布到目录,而不是发布到 Web 服务器上的 HTTP CDP。但是,如果颁发 CA 和目标 Web 服务器之间存在连接,则可以将 CA 配置为自动直接发布到 Web 服务器。

注意:此方法不适用于直接发布到连接到 Internet 上的 Web 服务器,因为它需要直接连接并使用 CA 和 Web 服务器之间共享的服务器消息块 (SMB) 文件。要发布到 Internet 服务器,您可以使用此任务中描述的方法,先将内容发布到一个中间位置,然后再使用标准方法将其安全地发布到 Web 服务器。要记住,应考虑到这一额外步骤造成的延迟,它可能会降低 CRL 的时效性。

安全要求

具有 CA 的本地 Administrators 成员身份

任务详细信息

注意:出于打印考虑,其中的某些命令可能显示为多行,但实际应在单行输入。

自动发布 CRL

1.

以具有本地 Administrators 组成员身份的帐户登录到颁发 CA。

2.

确保可以通过此服务器来访问 Web 服务器文件夹(作为远程共享或本地路径)。(请参见“在 Web 服务器上设置 CRL 和证书发布权限”。)

3.

在命令行提示符下运行下列命令,将 \\pki.contoso.com\WWWPKIpub 替换为到共享 Web 服务器发布文件夹的通用命名约定 (UNC) 路径。

certutil.exe -setreg CA\CRLPublicationURLs "+65:file://\\pki.contoso.com\WWWPKIpub\%3%8%9.crl\n"

重要信息:如果 CA 无法访问目标 Web 服务器共享,它将禁止发布 CRL,并可能禁止将 CRL 发布到其他 CDP。(这将导致在 Windows 事件日志中记录一个事件。)如果无法保证 Web 服务器的可用性,您可以考虑使用计划任务将 CRL 从 CA 配置文件夹 (%systemroot%\system32\certenroll) 复制到目标位置,而不必执行此任务。

启用 CA 审核

有关设置 CA 审核的完整描述,请参见“相关链接”中的 Windows Server 2003 PKI Operations Guide

安全要求

具有 CA Admins 组的成员身份

任务详细信息

启用 CA 审核

1.

在应用到 CA 的审核策略中,启用“对象访问审核”。它通常是在域 GPO 中为联机 CA 设置的,但必须在本地 GPO 中为脱机 CA 进行设置。

2.

在“证书颁发机构”MMC 中,启用对下列类别的审核。

备份和还原 CA 数据库

更改 CA 配置

更改 CA 安全设置

颁发和管理证书申请(此项目可生成大量的审核事件,所以您可能不希望在繁忙的颁发 CA 中启用此功能。)

吊销证书和发布 CRL

存储和检索存档的密钥

启动和停止证书服务

您还应考虑在下列位置启用文件系统和注册表审核,以便将未经授权对 CA 数据或配置信息进行的修改记录下来。

%systemroot%\system32\certsrv 文件夹

存储 CA 数据库和日志的其他文件夹(如果不在默认驱动器中)

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\CertSvc\Configuration 注册表项

禁用对中间 CA 的吊销检查

CA 必须能够检查其自身证书以及它所颁发证书的吊销状态。虽然这对联机颁发 CA 是很有益处的,但会给脱机 CA 带来麻烦。因为它是脱机的,所以无法访问根 CA 的任何发布 CDP,也无法访问其自身的任何 CDP。这使 CA 无法启动和颁发证书。

此问题的一种解决办法是,将 CRL 从根 CA 及其自身发布到计算机的本地证书存储区。但是,这一过程非常麻烦,而且在大多数情况下,它不会明显地改善安全性能。(此吊销检查与联机用户执行的证书吊销检查没有任何关系。)

此处所使用的方法是,使 CA 停止执行这些强制的吊销检查。在 CDP 脱机的情况下,可通过将 CA 配置为跳过吊销检查来实现此目的。

注意:在 Windows Server 2003 Service Pack (SP) 1 以前,下列过程没有完全禁用吊销检查。尽管该过程可使 CA 跳过对它所颁发的证书的吊销检查,但它在启动时仍会对其自身的证书进行检查,因此需要从其父 CA 访问 CRL。SP1 版本以前的一个修复程序可以消除此缺陷。如果您无法更新 CA,则必须继续将根 CA CRL 发布到中间 CA 证书存储区。

安全要求

具有中间 CA 的本地 Administrators 成员身份

任务详细信息

禁用中间 CA 的吊销检查

1.

登录到 CA。在命令行提示符下,运行下列命令。

Certutil.exe -setreg ca\CRLFlags +CRLF_REVCHECK_IGNORE_OFFLINE

2.

重新启动 CA(“证书服务”服务)。

3.

对于所有脱机中间 CA,重复此过程。

您可以使用下列命令撤消此更改。

Certutil.exe -setreg ca\CRLFlags -CRLF_REVCHECK_IGNORE_OFFLINE

系统管理

系统管理包括与 CA 操作系统维护有关的任务。

配置操作系统更新

像大多数其他计算机一样,联机颁发 CA 也存在恶意软件或人员试图利用系统漏洞对其进行攻击的风险。要减少受到这些威胁的风险,找到一种及时为系统部署安全更新的方法是非常重要的。部署修补程序管理系统的内容已超出了本文的范围。有关实现此目的的其他方法的详细信息,请参见“相关链接”中的 Microsoft Solution Accelerator for Patch Management(Microsoft 修补程序管理解决方案加速器)。

只要不打算将脱机 CA 连接到网络(它们绝不应该连接到网络上),则不需要像联机系统那样始终保持最新。但是,最低限度您应该跟踪 Service Pack 和操作系统版本升级,使服务器始终以受支持的配置运行。本文还建议您定期安装安全更新,以使其始终保持最新。

表 12:安全更新摘要

CA 类型操作系统版本Service Pack功能性更新(非安全性)安全更新

联机 CA

正常升级

正常升级

只有在更新必不可少时

使用 Microsoft Systems Management Server (SMS) 或 Microsoft 软件更新服务 (SUS) 等自动修补程序部署来安装安全更新。

脱机 CA

正常升级

正常升级

只有在更新必不可少时

每 3 个月安装一次累积安全修补程序。

重要信息:虽然操作系统更新已经过 Microsoft 的全面测试,但在系统中部署更新之前,您自己也一定要进行测试。您可使用单独的 SUS 服务器或单独的 SMS 目标组来控制 CA 的安全更新。您可能无法使用与其他系统相同的时间表来测试 CA 更新;有些更新可能并非针对 CA。

配置可用性和恢复选项

这一节中的任务旨在确保您的 PKI 具有良好的故障适应性,并使您能够迅速从可能遇到的故障中恢复。

为高可用性 PKI 进行规划

PKI 可用性的两个最重要的方面是:

注册服务的可用性

吊销信息的可用性(通常是 CRL 形式)

如果注册服务中断,您将无法为用户颁发证书。这会影响到新用户以及现有证书即将到期的用户。Windows Server 2003 的默认设置是,在自动注册的证书到期前 6 周自动进行续订,因此实际上只有新用户会受到严重影响。您必须确定贵组织允许注册服务中断的最长时间,并相应地规划服务可用性和恢复措施。

无法访问证书吊销信息所带来的潜在影响会更加严重。如果当前吊销信息不可用,检查证书吊销状态的应用程序将会失败。这可能会影响组织内的所有用户。因此,必须采取适当措施,确保吊销信息始终可用。本文附带的监视脚本中包括了对到期、即将到期以及不可用 CRL 进行的专门检查。在“常见支持任务”中还给出了一种补救过程以延长 CRL 的有效期。有关吊销检查问题的详细信息,请参见“相关链接”中的文章 Troubleshooting Certificate Status and Revocation(证书状态和吊销疑难解答)。

在可用性计划过程中,应该特别注意以下方面。

冗余颁发 CA 如果有多个 CA 能够颁发各种证书类型,则在单个 CA 失败的情况下,您还可以继续颁发和续订证书。每个 CA 上必须有相同的证书模板。这不会提高吊销信息的可用性,但它可能具有一定的价值。您需要判断提高的注册服务可用性与重复 CA 所带来的问题孰轻孰重。

冗余 CRL 使用多个 CRL 分发点 (DP) 来提高吊销信息的可用性。通过对 HTTP DP 使用群集(IP 负载平衡)Web 服务器以及使用 Active Directory 域控制器(具有内置冗余)来提供轻量目录访问协议 (LDAP) DP,可实现这一目的。

硬件选择 使用可恢复的服务器硬件能够减少硬件组件出现故障的可能性。要特别注意容易出现故障的硬件组件(如磁盘和电源)。对所有 CA 只使用一种或两种同样的硬件规格,可更方便地对其进行恢复。

可恢复的磁盘布局 将证书数据库和数据库日志放到不同的物理卷中(即独立的磁盘集),可使您在出现灾难性的磁盘故障后最大限度地恢复 CA 数据。

创建一个冷备用服务器 为了尽快从故障中恢复,您可以创建一个备用服务器。备用服务器中预装了操作系统,但未安装证书服务。利用此系统,您可以快速恢复系统状态备份。通常,只有联机颁发 CA 需要此功能。此服务器必须使用与要恢复的 CA 相同的硬件规格(尽管内存数量等存在一些很小的差异,但通常都无关紧要)。如果您使用的是 HSM,则需要使用相同的 HSM 作为备用配置的一部分。安装的操作系统版本应与 CA 中使用的版本相同。

制订恢复过程 您需要记录恢复一个或多个 CA 所需的手动步骤。在此过程中,将执行恢复过程的支持人员需要接受培训。您还需要对整个过程进行预演,以确保它能够正确且及时地运行。

恢复时出现不测事件 您还应确保有适当的应急方案来处理恢复时出现的不测事件,以使 PKI 在执行恢复过程中能够继续工作。最重要的是,如果颁发 CRL 的 CA 无法及时恢复联机状态以颁发新的 CRL,如何延长 CRL 的有效期。您可以使用“重新签署 CRL 或证书以延长其有效期”过程延长 CRL 的有效期。(您必须有权访问 CA 的私钥才能执行此操作。)您可能还需要对 CA 进行备份,以暂时接管失败 CA 的证书颁发和续订职责。

使用 HSM 您必须为 HSM 硬件、密钥存储区以及操作员和密钥再生卡制订专门的过程和控制。其中应包括定期对卡持有者进行审核,以确信您可以在紧急情况下迅速获取正确的卡。

配置颁发 CA 数据库备份

此任务的目的是备份 CA 私钥和证书、证书数据库以及证书服务配置信息的副本。证书服务配置信息包括 CA 依赖的所有操作系统配置和其他状态信息。备份这些项目的最佳方式是使用 Windows 系统状态备份。Windows Server 2003 提供的“Windows 备份”实用工具以及多种商业备份系统都支持此操作。您应与您的备份解决方案供应商进行核实,看其是否支持 Windows 系统状态备份或等效功能。

注意:如果您未使用 HSM 来保护 CA 密钥,则 CA 备份数据是高度机密的,因为它包含 CA 自身的私钥材料。(它可能还包含用户的存档私钥。)在传送和存储此数据时,要采取必要的安全措施,因为它与 CA 同等重要。在这种情况下,您可以考虑对 CA 使用单独的备份系统。

如果贵公司的备份系统不支持 Windows 系统状态备份,则可以使用“Windows 备份”将 CA 备份保存到一个文件中,然后再使用公司的备份系统保存该文件。在还原 CA 时,需要先将该备份文件还原到服务器,然后再使用“Windows 备份”从存档文件中还原 CA。

由于每天多次运行 CA 的完整备份通常是不切实际的,因此也可以每小时执行一次差异备份。它将复制数据库日志,其中记录自每日完整备份以来的所有事务。

安全要求

CA 的本地 Administrators。可以使用 CA 的“Local System”帐户来运行备份作业,但也可以使用不同的帐户来运行备份,只要它是 CA Backup Operators 组的成员即可。

任务详细信息

此任务配置一个计划作业,每夜对 CA 服务器进行备份。

注意:如果您使用 HSM,则此过程不适于备份受 HSM 保护的密钥。您可能需要备份某些受保护的 CA 密钥材料。但是,您还需要确保拥有相同的 HSM 和所需的 HSM 访问密钥,以备将来还原 CA 之需。按照 HSM 供应商的说明进行备份操作,或妥善保管好密钥材料和访问密钥。

配置 CA 的每日完整备份

将备份作业安排为在每晚午夜运行。您可能需要根据贵组织的地理分布情况来更改此时间。尽管在备份期间 CA 并不需要完全静止,但您应尽量选择一个使用量较低的时段,以避免备份操作与正常的生产任务争用资源。

要估算所需的时间,可在服务器开始颁发大量证书之前,在服务器上运行系统状态备份(启用验证功能)。在“证书服务”服务关闭的情况下运行备份。(这可防止此次测试备份操作截断 CA 日志。)它将备份大约 500 MB 的系统状态数据。记录此次操作的时间,并计算 CA 数据库外加系统状态备份大约花费的时间(如下所示):

总时间 = 系统状态时间 x (500 + ((用户数 + 计算机数) x 证书数 x 20KB)) ÷ 500

此公式假定在最坏情形下(即每年为每个用户和每个计算机颁发 5 个证书),5 年后的总存储量。如果每个证书 20 KB,则每个用户每 5 年的存储量为 1 MB。在此公式中,如果单独备份系统状态所需的时间为 5 分钟,则对拥有 10,000 个用户的 CA 备份需要 105 分钟。(它将要备份包含 500,000 个证书的 10 GB 数据库。)

这只是一个粗略的指标。该时间并不是一成不变的,具体取决于用户和计算机数以及为每个用户和计算机颁发的证书数。

安全地存放备份媒体。将备份数据与 CA 本身存储到不同的地点。这样,在该地点的所有计算机设备损坏或无法访问时,仍可以对 CA 进行恢复。

差异备份保存自上次执行完整备份以来的所有信息。差异备份使用 certutil.exe 实用工具,将证书服务数据库日志文件复制到一个文件夹(每小时复制一次)。

配置每小时执行一次的 CA 数据库差异备份

1.

创建一个存储临时差异备份文件的目录:C:\CABackup。运行下列命令来保护该目录。

cacls c:\CABackup /G system:F administrators:F "Backup Operators":C "CA Backup Operators":C

2.

运行以下一系列命令来安排每小时执行一次的差异备份(只显示了第一个小时;对于一天中希望运行差异备份的每个小时,都需要运行此命令)。如果贵组织的工作日只有 10 小时,则没有必要在每天的其他 14 小时安排差异备份。应根据您的工作时间调整备份时间表。

SCHTASKS /Create /RU system /SC daily /ST 01:00 /TN "CA Differential Backup" /TR "certutil -backupdb c:\CABackup incremental keeplog"
SCHTASKS /Create /RU system /SC daily /ST 02:00 /TN "CA Differential Backup" /TR "certutil -backupdb c:\CABackup incremental keeplog"
SCHTASKS /Create /RU system /SC daily /ST 03:00 /TN "CA Differential Backup" /TR "certutil -backupdb c:\CABackup incremental keeplog"
SCHTASKS /Create /RU system /SC daily /ST 04:00 /TN "CA Differential Backup" /TR "certutil -backupdb c:\CABackup incremental keeplog"

3.

对公司的备份解决方案进行计划以备份 C:\CABackup 的内容。应对此频率进行调整以与差异备份相适应。

注意:在计划差异备份时,要避免其与完整备份的时间过于接近。使用前一过程中给出的计算方法,估计完整备份所需的时间,并随着 CA 数据库的增加监视此时间的变化情况,确保它不会与差异备份作业重叠。

配置脱机 CA 数据库备份

此任务的目的是准备备份时所需的 CA 私钥和证书、证书数据库以及证书服务配置信息。证书服务配置信息包括 CA 依赖的所有操作系统配置和其他状态信息。与颁发 CA 不同,脱机 CA 的备份过程是手动完成的。有关详细信息,请参见“备份脱机 CA”。

安全要求

具有 CA 的本地 Administrators 组成员身份

任务详细信息

通常情况下,根 CA 只颁发少量的证书,因此,CA 数据库肯定不会很大。数据也很少会发生变化;几个月甚至几年才会改变一次。任何其他脱机 CA 也是如此,如脱机中间 CA。

由于这些 CA 是脱机的,所以您需要一个本地备份设备(如磁带机或可写 CD 或 DVD 驱动器)来存储备份文件。如果您使用“Windows 备份”或其他能够对系统状态进行备份的系统,则可使用它直接备份到可移动媒体上。如果您选择的备份系统并不执行 Windows 系统状态备份,则应该使用“Windows 备份”将 CA 和操作系统备份到一个文件,然后将该文件备份到可移动媒体。

注意:如果使用的是 HSM,则此过程可能会备份加密密钥材料(取决于 HSM 的工作方式),但如果没有相同的 HSM 和 HSM 访问密钥,则在还原的计算机上无法使用备份的密钥。按照 HSM 供应商的说明妥善保管好密钥材料和访问密钥。

配置监视和警报

操作人员可通过服务监视来实时观察 IT 服务的状态。

这一节描述如何对系统监视工具集进行配置,以提供 PKI 的正确警报类型和状态信息。在本文中,假定您正在使用 Microsoft Operations Manager (MOM) 等系统监视工具,它可以根据事件日志条目生成警报。有关 MOM 部署的详细信息,请参见“相关链接”中的 Microsoft Operations Manager 2000 SP1 Deployment Guide(Microsoft Operations Manager 2000 SP1 部署指南)。

为监视警报分类

您的监视系统只应就非常严重的事件向操作人员发出警报。如果所有很小的错误都生成事件警报,那么操作人员将很难辨别出紧急事件。

任务详细信息

表 13 中的警报类别是一些常见警报分类级别的示例,MOM 默认使用这些类别。这些警报类别是按照重要程度由高到低排列的。在这些类别当中,只有前三个类别(服务不可用、违反安全规程以及严重错误)应在操作控制台生成警报以提醒操作员立即采取措施。错误和警告并不被视为紧急事件,但应向 PKI 操作支持人员咨询解决方案。

表 13:警报类别

警报类别说明

服务不可用

此时应用程序或组件完全不可用。

违反安全规程

此时应用程序受到黑客攻击或被破坏。

严重错误

此时应用程序出现严重错误,需要尽快采取管理措施(但不必立即执行)。应用程序或组件在低于标准的性能级别运行,但仍然能够执行最关键的操作。

错误

此时应用程序出现暂时性问题,但不需要立即采取措施,或采取任何可能的管理措施(或解决方案)。应用程序或组件在可接受的性能级别运行,并且仍然能够执行所有关键的操作。

警告

此时应用程序生成一条警告消息,但不需要立即采取措施,或采取任何可能的管理措施(或解决方案)。应用程序或组件在可接受的性能级别运行,但仍然能够执行所有关键的操作。但是,如果问题持续存在,这种情形可能会转为“错误”、“严重错误”或“服务不可用”。

信息

此时应用程序生成信息性事件。应用程序或组件在可接受的性能级别运行,并且执行所有关键和非关键的操作。

成功

此时应用程序生成成功事件。应用程序或组件在可接受的性能级别运行,并且执行所有关键和非关键的操作。

监视服务可用性

除证书注册以外,CA 不直接向用户提供联机或实时服务。这与 Active Directory 或 Microsoft SQL Server 等应用程序不同,它们必须持续联机才能提供有用的服务。需要对 PKI 服务某些方面的可用性进行不间断的监视,以使 PKI 应用程序能够正常工作。

吊销信息必须可用。对所有希望检查证书吊销状态的证书用户而言,当前 CRL 必须可用。或者,您可以在其中一个 Microsoft 合作伙伴的支持下实现 OCSP。对颁发 CA 和中间 CA 而言,吊销信息必须可用。

所有 CA 当前必须有一个有效的证书。无效 CA 证书会妨碍对该 CA 或其子 CA 颁发的任何证书进行验证。它还会妨碍颁发新的证书。

证书注册服务必须可用;如果 CA 服务不可用,则用户无法注册或续订证书。

CA 必须具有有效的密钥恢复代理 (KRA) 才能存档私钥(其中密钥存档是在证书模板中指定的)。

对于大多数应用程序而言,前两项要比后两项重要得多。

安全要求

MOM(或监视系统)管理员

任务详细信息

对证书服务而言,表 14 中的事件是最重要的。此表描述了各种事件类型的重要性,以及应为该事件分配哪种警报严重程度(用于操作控制台)。表 15 中列出的是检测这些事件的方法;大多数事件是使用本文附带的监视脚本进行检测的。

“严重程度”栏与先前在“为监控警报分类”过程中定义的“警报类别”有关。

表 14:评估证书服务事件的严重程度

证书服务状态重要性严重程度

CA 服务器失败

CA 服务器在网络中不可见;没有可用的注册或 CRL 发布服务。

严重或服务不可用

CA 操作系统的运行状况存在严重问题

服务器硬件或 Windows 可能出现严重问题。

严重

CA 操作系统的运行状况存在错误/警告

服务器硬件或 Windows 可能出现一些问题,但并不严重。

错误或警告

证书服务未联机

客户接口脱机

管理接口脱机

证书服务远程过程调用 (RPC) 接口脱机;无法颁发证书。

严重

CA 证书已到期

此 CA 证书已到期

父 CA 证书已到期

CA 证书已到期;这通常会导致所有 PKI 应用程序的服务中断。

服务不可用

CA 证书的有效期还剩不到一个月

CA 证书不久将到期,如果不加以纠正将造成服务中断。当前仅颁发有效期很短的证书。

错误

CA 证书的有效期已过去多半

当 CA 证书的有效期过去一半时,就应该进行续订。这可能意味着,颁发的证书的有效期比预期的短。

警告

CA 证书已吊销

CA 证书已吊销;这通常会导致所有 PKI 应用程序的服务中断。

服务不可用

CRL 已到期

发布的 CRL 已超过其“有效终止日期”,不能再继续使用;这可能会导致执行吊销检查的 PKI 应用程序的服务中断。但是,备用 CDP 中可能提供了有效的 CRL。

服务不可用

CRL 已误期

CRL 仍然有效,但新的 CRL 已误期,应早该发布。

严重

CRL 不可用

无法从 Active Directory 中检索 CRL

无法从 Web 服务器中检索 CRL

CRL 在发布的 CRL 分发点不可用。这可能会导致执行吊销检查的一个或多个 PKI 应用程序的服务中断。但是,备用 CDP 中可能提供了有效的 CRL。

服务不可用

KRA 证书已到期

CA 的 KRA 证书已到期,这可能会妨碍 CA 颁发需要密钥存档的证书,从而导致某些服务中断。

严重

KRA 证书的有效期还剩不到一个月

KRA 证书不久将到期,如果不加以纠正可能会造成服务中断。

警告

KRA 证书已吊销

KRA 证书已吊销,这可能会妨碍 CA 颁发需要密钥存档的证书,从而导致某些服务中断。

严重

KRA 证书不可信

无法建立从 KRA 证书到受信任的根证书的链。

严重

CA 备份失败

CA 系统状态备份失败,这可能会造成信息丢失。

严重或错误

您可以使用 CAmonitor.vbs 脚本来检查这些情况。可从 TechNet 脚本中心获取该脚本。(请参见“相关链接”)

在检测到任何错误时,该脚本就会将事件项写入 Windows 应用程序日志中。随后,MOM 代理或其他监视解决方案可将这些事件挑选出来。您需要设置一些筛选规则来检查表 15 中所列脚本生成的事件来源和事件 ID。该脚本可发送电子邮件来响应警报情况,并创建事件日志条目,也可只发送电子邮件而不创建事件日志条目。

该脚本只能在联机颁发 CA 上工作;不需要在脱机 CA 上运行它,也不需要从中获得什么好处。但是,该脚本确实可以自动检查父 CA(及父 CA 的父级,直至根 CA)的 CA 证书和 CRL 状态。该脚本必须在 CA 本身中运行,它并不是为远程执行检查而设计的。

重要信息:该脚本要求服务器中安装了 CAPICOM 2.0 或更高版本

如果使用了 MOM(或其他基于代理的监视系统),则应由 MOM 客户端代理执行该脚本。如果没有能够执行此操作的管理代理,可使用 Windows 任务计划程序来运行这些检查,每小时至少运行一次;可通过电子邮件发送警报,也可以使用事件日志监视工具。

表 15 中列出的是来自表 14 的事件,但这次要说明的是用来检测每种事件类型的 Windows 事件或其他指示器。此表列出了 CAMonitor.vbs 监视脚本生成的事件 ID 以及该脚本检测出来的各种问题。

表 15:证书服务监视脚本

事件脚本或事件检测方法事件来源事件 ID

CA 服务器失败

本机 MOM 服务器故障检测

CA 操作系统的运行状况存在严重问题

本机 MOM 服务器运行状况监视

CA 操作系统的运行状况存在错误/警告

本机 MOM 服务器运行状况监视

“证书服务”服务客户 RPC 接口脱机

CAMonitor.vbs

CA 操作

1

“证书服务”服务管理 RPC 接口脱机

CAMonitor.vbs

CA 操作

2

CA 证书已到期;此 CA 或父 CA 的证书已到期

CAMonitor.vbs

CA 操作

10

CA 证书的有效期还剩不到一个月

CAMonitor.vbs

CA 操作

11

CA 证书的有效期已过去多半

CAMonitor.vbs

CA 操作

12

CA 证书已吊销

CAMonitor.vbs

CA 操作

13

CRL 已到期

CAMonitor.vbs(不是增量 CRL)

CA 操作

20

CRL 已误期

CAMonitor.vbs(不是增量 CRL)

CA 操作

21

CRL 不可用;无法从 Active Directory 中进行检索

CAMonitor.vbs(不是增量 CRL)

CA 操作

22

CRL 不可用;无法从 Web 服务器中进行检索

CA 操作

23

KRA 证书已到期

CAMonitor.vbs

CA 操作

30

KRA 证书的有效期还剩不到一个月

CAMonitor.vbs

CA 操作

31

KRA 证书已吊销

CAMonitor.vbs

CA 操作

32

KRA 证书不可信

CAMonitor.vbs

CA 操作

33

CA 备份失败

NTBackup.exe 的失败代码如此处所示。可借助 MOM 或其他监视系统功能就备份问题发出警告。(请注意,您需要检查系统状态备份和公司备份。)

Ntbackup

8019

其他事件

CAMonitor.vbs 执行失败

CA 操作

100

CAMonitor.vbs 的语法如下:

cscript CAMonitor.vbs {/CAAlive | /CACertOK | /CACRLOK | /KRAOK} [/smtp /smtpserver:MyServer.Dom _ 
    /smtpto:"recip1@co.dom, recip2@co.dom"] [/noeventlog]

第一个参数表示要运行的一项或多项检查的类型(至少必须有一项,也可同时使用多项)。第二个参数指定将要发出 SMTP 电子邮件警报。如果使用此参数,则必须指定 SMTPServer 和 SMTPTo 参数。前者定义电子邮件服务器的主机名称或 IP 地址;后者则是将要接收此邮件的收件人列表(收件人之间以逗号分隔)。最后一个参数禁止将警报写入 Windows 事件日志。

此脚本旨在为您提供一个范例。我们鼓励用户对其进行修改和完善,以便更好地满足用户自己的需求。就其目前的形式而言,它还有一些局限性。

它只检查完整 CRL;而不检查增量 CRL。

它只检查 HTTP 和 LDAP DP;而不检查 FILE 或文件传输协议 (FTP) URL。

将根据 KRA 证书发出警报,即使 CA 可能有足够的有效 KRA 证书来继续运行。例如,如果 CA 有两个 KRA 证书,其中一个被吊销,但只需要一个 KRA 证书来加密存档的密钥,这时脚本将就吊销的证书发出警报,即使它并未导致服务失败。

配置 CA 安全监视

证书服务可生成多种安全事件(审核)日志条目来响应不同的安全事件。大多数日志条目都是日常操作任务产生的结果。但是,某些事件指出进行了一些较大的配置更改,您可能需要做进一步的调查。后面的操作任务“检查审核日志中是否有安全事件”使用本过程中的预备工作,并且着重强调了一些需要引起注意的更严重的安全事件。

安全要求

具有 CA Auditors 的成员身份(检查安全日志)

为通过 MOM(或类似工具)进行监视而指定的安全监视帐户

任务详细信息

表 16 中列出了由证书服务生成的审核事件以及建议的警报分类(遵循在“为监控警报分类”过程中定义的分类)。对监视系统进行配置以查找这些事件,并提升相应的警报级别。或者,如果您没有集中的事件监视系统,可定期检查 CA 服务器安全日志(理想情况是每天一次)以检查这些项目。

“成功”审核事件的默认警报类别是信息。由于可能更改了 CA 安全配置而生成的任何“成功”事件均作为警告处理。所有警告级别的事件都属严重事件,在日常操作中通常不会出现此类事件。所有警告事件应与某一批准的更改申请相关联。如果没有此类关联,应将该事件视为可能违反了安全规程的事件,应立即对其进行调查。

通常,在日常操作或在对 CA 进行标准更改期间,不会出现“失败”审核事件。几乎所有此类事件都属严重事件,需要对其进行调查(尽管它可能只表示分配的权限不正确,而不是恶意攻击)。

注意:这也存在一些例外情况,如事件 792“证书服务拒绝证书申请”。当 Certificate Manager 合理拒绝某一申请时,既可以生成成功事件,也可以生成失败事件;但当没有足够权限的人员试图拒绝申请时,只会生成失败事件。

表 16 中列出的更多例外情况与您对 CA 进行配置更改时所采用的不同方式有关。如果使用“证书颁发机构”MMC 进行更改,则只记录事件 789(“更改审核筛选”)、795 和 796(“更改 CA 配置或属性”)。如果有人试图通过直接编辑 CA 注册表(或使用 certutil -setreg 命令)来更改 CA 配置值,则不会记录这些事件。

如果已启用注册表审核(如“启用 CA 审核”任务中所建议的一样),则将这些更改作为普通的事件 560“对象访问审核”项目记录下来。(请参见表 16 中的最后一项。)应该为 CA 注册表配置子项启用审核,并记录成功的更改以及所有失败的访问。要跟踪对 CA 注册表项所做的更改,可结合使用审核事件的“对象名”参数以及“事件 ID”和“事件类型”,创建一个筛选器来生成正确的警报。

除了审核证书服务事件以外,您还必须监视和生成有关标准操作系统安全事件的警报,如登录事件、权限使用以及对象访问等。应该对 CA 注册表和数据库以及日志目录进行配置,为所有失败的访问和任何成功的更改生成安全审核事件。此外,还要考虑在公钥服务容器(在“配置\服务”中)和 PKI 管理组中设置审核,但要注意,来自目录对象的审核事件将被记录到进行访问操作的域控制器的安全事件日志中。将不同域控制器中的这些种类的事件关联起来是一项复杂的任务。如果您有合并和筛选这些日志的工具(如 MOM),则可在所有 Active Directory PKI 配置对象和容器以及 PKI 管理组中启用审核。

注意:有关对运行 CA 的 Windows 操作系统进行安全监视的内容超出了本文的范围,它可能包括对来自专门的入侵检测代理的安全事件进行处理。如果其中的任何来源表明有违反安全规程的情况,应结合这些来源的输出对证书颁发机构审核事件进行彻底调查。

表 16 中列出的“成功和失败警报类别”与“为监控警报分类”过程中定义的警报类别相关。应在当天对所有“错误”和“警告”类别的警报进行调查,以确保其都有合理的原因。“信息”事件不需要进行调查,可继续将其作为常规 PKI 操作的审核记录。有少量的安全事件是特别严重的事件。“检查审核日志中是否有安全事件”操作过程中已着重强调了这些事件。

表 16:证书服务审核事件

事件 ID事件说明成功警报类别失败警报类别

772

Certificate Manager 拒绝了一个挂起的证书申请。

警告

错误

773

证书服务收到了一个重新提交的证书申请。

警告

错误

774

证书服务吊销了一个证书。

信息

错误

775

证书服务收到了一个发布 CRL 的申请。

信息

警告

776

证书服务发布了 CRL。

信息

错误

777

证书申请扩展已更改。

信息

错误

778

一个或多个证书申请属性已更改。

信息

错误

779

证书服务收到了一个关闭申请。

警告

错误

780

证书服务备份已启动。

信息

781

证书服务备份已完成。

信息

782

证书服务还原已启动。

警告

783

证书服务还原已完成。

警告

784

证书服务已启动。

信息

785

证书服务已停止。

警告

786

证书服务的安全权限已更改。

警告

错误

787

证书服务检索到一个存档的密钥。

信息

错误

788

证书服务将证书导入到其数据库中。

信息

警告

789

证书服务的审核筛选已更改。

警告

错误

790

证书服务收到了一个证书申请。

信息

错误

791

证书服务批准了一个证书申请并颁发了一个证书。

信息

错误

792

证书服务拒绝了一个证书申请。

警告

793

证书服务将证书申请的状态设置为挂起。

信息

794

证书服务的 Certificate Manager 设置已更改。

警告

795

配置项在证书服务中已更改(请参见子类型)。

警告

错误

节点:

项目:CRLPeriod 或 CRLPeriodUnits 或者 CRLDeltaPeriod 或 CRLDeltaPeriodUnits

描述 CRL 发布日程中的更改。

CRLDeltaPeriodUnits 值等于 0 表示已禁用增量 CRL 发布。

节点:PolicyModules\CertificateAuthority_MicrosoftDefault.Policy

项目:RequestDisposition

值:1

设置 CA 以颁发传入的申请(除非另有指定)。

节点:PolicyModules\CertificateAuthority_MicrosoftDefault.Policy

项目:RequestDisposition

值:257

设置 CA 以使传入申请处于挂起状态。

节点:ExitModules\CertificateAuthority_MicrosoftDefault.Exit

项目:PublishCertFlags

值:1

允许将证书发布到文件系统。

节点:ExitModules\CertificateAuthority_MicrosoftDefault.Exit

项目:PublishCertFlags

值:0

禁止将证书发布到文件系统。

节点:ExitModules

项目:Active

活动退出模块中的更改。它的值将指定新模块的名称。空白表示没有更改。

节点:PolicyModules

项目:Active

活动策略模块中的更改。它的值将指定新模块的名称。

节点:

项目:CRLPublicationURLs

CDP 或 AIA 中的更改。它的值将指定 CDP 的结果集。

节点:

项目:CACertPublicationURLs

AIA 或 CDP 中的更改。它的值将指定 AIA 的结果集。

796

证书服务的属性已更改(请参见子类型)。

警告

错误

属性:29 类型:4

在 CA 中添加/删除模板。它的值是按名称和 OID 排列的结果模板列表。

属性:26 类型:3

向 CA 中添加 KRA 证书。它的值是证书的 Base64 表示形式。

属性:25 类型:1

从 CA 中删除 KRA 证书。它的值是 KRA 证书的总数。

属性:24 类型:1

添加/删除多个用于密钥存档的 KRA 证书。它的值是最终要使用的证书数量。

797

证书服务存档了一个密钥。

信息

798

证书服务导入并存档了一个密钥。

信息

799

证书服务将 CA 证书发布到 Active Directory。

信息

800

从证书数据库中删除了一行或多行。

警告

错误

801

角色分离已启用。

警告

错误

560

对象访问

位置:对象,类型:密钥

对象名称:\REGISTRY\MACHINE\SYSTEM\ ControlSet001\Services\CertSvc\Configuration Information

错误

计算潜在的 CA 容量限制

检测潜在的容量限制对于将服务保持在最佳水平至关重要。随着子系统逐渐接近其操作容量限制,性能会急剧下降(通常是非线性的)。因此,对容量趋势进行监视并及早发现和处理将来的限制趋势是一项非常重要的任务。

安全要求

使用的性能监视解决方案指出了所需的权限。

任务详细信息

下列性能计数器对确定证书服务中的容量限制非常有用。处理器和磁盘是证书服务使用最频繁的两种资源,因此它们比网络和内存更早地指出容量限制。

表 17:用于证书服务的重要容量监视计数器

性能对象性能计数器实例

处理器

% Processor Time

_Total

物理磁盘

% Disk Time

_Total

物理磁盘

Average.Disk Read Queue Length

_Total

物理磁盘

Average.Disk Write Queue Length

C: (System)

D: (CA Logs)

E: (CA Database)

网络接口

Bytes Total/sec

NW adapter

内存

% Committed Bytes in use

–––

有关容量限制和相关性能计数器的更一般性的信息,请参见“相关链接”。

在所有支持的结构中对容量指示器进行监视也很重要。重要的项目有:

证书服务与 Active Directory 之间进行的通讯。(企业 CA 使用 Active Directory 进行身份验证和授权服务;读取和存储 CA 和 PKI 配置信息;对于某些特定的证书类型,它还将颁发的证书发布到目录中。)

客户与 Active Directory 之间就证书相关问题进行的通讯。(客户从 Active Directory 读取 CA 和 PKI 信息,这包括下载 CRL,每个客户每周下载的 CRL 可能多达数 MB。)

客户与 Web 服务器之间就证书相关问题进行的通讯。(客户从 Web 服务器检索 CRL 和 CA 证书,但它所产生的负载不足以达到容量限制,除非服务器的负载已经非常沉重。)

为挂起的证书申请配置简单邮件传输协议 (SMTP) 警报

如果您将某些证书类型配置为需要 Certificate Manager 批准,它们将继续在“挂起的申请”文件夹(属于“证书颁发机构”MMC)中排队,直到申请被批准或被拒绝。您可能希望进行配置,以便在每次有申请排队时都发送电子邮件警报。自动批准的申请不会发送电子邮件警报。

也可以为其他 CA 事件配置电子邮件警报。证书服务联机帮助讲述了如何配置这些事件,Windows Server 2003 PKI Operations Guide 的“Configuring the "SMTP Exit Module"”(配置“SMTP 退出模块”)一节中包括一个详细的示例脚本。(请参见“相关链接”)

频率

设置任务

安全要求

具有 CA Admins 的成员身份

任务详细信息

为挂起证书申请启用电子邮件警报

1.

决定应将警报发送到哪些电子邮件地址,并指明用于转发电子邮件时的 SMTP 服务器的 IP 地址或主机名称(将下列命令中使用的示例“mail.contoso.com”和“Admin@contoso.com, PKIOps@contoso.com”替换为您自己的值)。

2.

运行以下一系列命令,为排队的挂起申请启用电子邮件警报。

certutil –f -setreg exit\smtp\SMTPServer mail.contoso.com
certutil –f -setreg exit\smtp\SMTPAuthenticate 0
certutil –f -setreg exit\smtp\eventfilter +EXITEVENT_CERTPENDING

3.

运行下列命令来设置电子邮件的标题字段。

certutil –f -setreg exit\smtp\Pending\To "Admin@contoso.com, PKIOps@contoso.com"
certutil –f -setreg exit\smtp\Pending\From "%COMPUTERNAME%@USERDNSDOMAIN%"
certutil –f -setreg exit\smtp\Pending\titleformat "A certificate is pending on %1"

4.

运行下列命令来配置电子邮件的内容。

certutil –f -setreg exit\smtp\Pending\BodyArg +"Request.RequestID"
certutil –f -setreg exit\smtp\Pending\BodyArg +"UPN"
certutil –f -setreg exit\smtp\Pending\BodyArg +"Request.RequesterName"
certutil –f -setreg exit\smtp\Pending\BodyArg +"Request.SubmittedWhen"
certutil –f -setreg exit\smtp\Pending\BodyArg +"Request.DistinguishedName"
certutil –f -setreg exit\smtp\Pending\BodyArg +"CertificateTemplate"
certutil –f -setreg exit\smtp\Pending\BodyArg +"Request.DispositionMessage"
certutil –f -setreg exit\smtp\Pending\BodyArg +"EMail"
Certutil –f -setreg exit\smtp\Pending\BodyFormat +"Request ID: %1"
Certutil –f -setreg exit\smtp\Pending\BodyFormat +"UPN: %2"
Certutil –f -setreg exit\smtp\Pending\BodyFormat +"Requester Name: %3"
Certutil –f -setreg exit\smtp\Pending\BodyFormat +"Time submitted: %4"
Certutil –f -setreg exit\smtp\Pending\BodyFormat +"Distinguished Name: %5"
Certutil –f -setreg exit\smtp\Pending\BodyFormat +"Certificate Template used: %6"
Certutil –f -setreg exit\smtp\Pending\BodyFormat +"Request Disposition Message: %7"
Certutil –f -setreg exit\smtp\Pending\BodyFormat +"Requester Email: %8"

监视客户证书是否到期

监视单个客户的证书是否到期通常不适用于客户数量很大的情况。但是,您需要确保证书续订没有被遗漏。有多个选项可供使用。

使用证书自动注册;这是一种最简单且最有效的方法,可以确保客户始终持有有效的证书。只有 Windows XP 和 Windows Server 2003 客户端上提供自动注册功能。(对于某些证书类型,Windows 2000 系统可使用类似的自动证书申请服务,即自动证书申请服务 (ACRS)。)自动注册客户端与颁发 CA 必须属于同一林的成员。

使用续订事件的手动计划。(应该将它记录在您的操作日程中。请参见“创建操作日程”。)当处理脱机系统(如 CA)或难于集中监视的系统(如 Internet 数据中心的 Web 服务器)时,这通常是唯一的途径。

自定义监视解决方案;您可以使用 CAPICOM 接口编写一些脚本,然后在受监视的系统中运行它们,使其在证书到期或即将到期时向您发出警报。本文中使用的 CA 监视脚本就是这样的一个例子,可以对其进行修改以满足您自己的需要。

用户发起;您可以将职责移交给用户,使其查明其应用程序或服务无法再正常运行,而需要申请一个新证书。

证书管理系统;Microsoft 开发了一个供内部使用的工具,可帮助用户跟踪和管理所有 CA 中的数字证书。这个工具名为“证书有效期管理工具”,它使用一个自定义的 CA 退出模块,在颁发证书时将每个证书的详细信息写入到数据库中。可以根据此数据运行报告,来检查是否有要到期的证书。尽管此工具尚未公开发布,但我们为用户提供了一个工具包,作为 Microsoft 咨询服务协议的一部分。

作业计划

在 MOF 过程模型中,作业计划是指对作业和过程进行编排以形成一个高效的序列,使系统达到最大的吞吐量和利用率。此处的目标是类似的,但是更简单一些。为了避免作业之间发生潜在的冲突,记录下系统中运行的所有自动作业的时间是至关重要的。可通过 Windows 任务计划程序、管理代理或其他应用程序和服务(如病毒扫描程序)对作业进行计划。

安排联机 CA 上的作业

需要在 CA 上运行许多重复性的任务,以保持 PKI 的平稳运行。这些任务都是自动运行的,以便减少操作负担。

安全要求

CA 的本地 Administrators

任务详细信息

表 18 中列出的是颁发 CA 上运行的一些自动作业。这些作业是在本文其他地方的任务中定义的(如“引用的任务”一栏所示),此表仅供参考。

只有颁发 CA 运行自动作业。脱机 CA 可能会长时间关机,因此无法在这台计算机中进行可靠的时间安排。

表 18:颁发 CA 上的计划作业列表

作业描述时间安排执行者引用的任务

CA 数据库的完整备份

每日一次

Windows 任务计划程序或备份系统自己的计划程序

配置颁发 CA 数据库备份

CA 数据库的差异备份

每小时一次

Windows 任务计划程序

配置颁发 CA 数据库备份

将 CRL 发布到 IIS

每日一次

证书服务

配置颁发 CA 以将 CRL 发布到 Web 服务器

监视联机 CA 的运行状况

每小时一次

MOM 或 Windows 任务计划程序

监视服务可用性

监视 CRL 颁发和发布状态

每小时一次

MOM 或 Windows 任务计划程序

监视服务可用性

监视 CA 证书的有效性

每小时一次

MOM 或 Windows 任务计划程序

监视服务可用性

监视 KRA 证书的有效性

每小时一次

MOM 或 Windows 任务计划程序

监视服务可用性

返回页首返回页首

操作 PKI

这一节描述的是保持 PKI 运行所需的维护任务。其中的很多任务有明确的时间安排,而其他一些任务则是根据需要来执行。这一节中的任务与 MOF 过程模型“操作”部分相对应。

操作任务清单

安全管理

为用户或计算机启用证书类型的注册(或自动注册)

为用户或计算机禁用证书类型的注册(或自动注册)

检查和批准挂起的证书申请

吊销最终实体证书

吊销存档的私钥

续订 CA 证书

发布脱机根 CA 证书

将中间 CA 证书发布到 Web 服务器

将颁发 CA 证书发布到 Web 服务器

将脱机 CA 的 CRL 发布到 Web 服务器

将根 CA 的 CRL 发布到脱机中间 CA

强制颁发联机 CRL

监视

检查审核日志中是否有安全事件

审核 PKI

检查性能和容量数据

CA 数据库和设置管理

备份脱机 CA

备份 CA 密钥和证书

测试 CA 数据库备份

测试 CA 密钥备份

存档 CA 中的安全审核数据

安全管理

安全管理涵盖与 IT 结构的安全组件有关的任务。

为用户或计算机启用证书类型的注册(或自动注册)

此任务使用注册安全组,以便为用户、计算机或包含用户和/或计算机的安全组手动注册证书类型或启动自动注册。

注意:还必须在 GPO 中为目标用户或计算机启用了自动注册。有关详细信息,请参见 Windows Server 2003 产品文档的“证书服务示例实现:设置用户证书的自动注册”主题中的“制订 Domain Users 的自动注册策略”过程。

频率

根据需要

安全要求

修改证书注册组成员的权限

任务详细信息

为用户或计算机启用注册或自动注册

1.

在“Active Directory 用户和计算机”MMC 中,找到与要注册的证书类型对应的“证书模板注册”安全组(或用于自动注册证书的“自动注册”组)。您必须以具有“修改成员身份”权限的用户身份登录。

2.

将用户、计算机或安全组添加到所选的模板安全组中。

为用户或计算机禁用证书类型的注册(或自动注册)

如果为用户或计算机颁发证书,通常就会为证书所有者启用某些功能;您可能需要随后吊销此功能。

频率

根据需要

安全要求

具有修改证书注册组成员身份的权限

任务详细信息

为用户或计算机禁用注册或自动注册

1.

在“Active Directory 用户和计算机”中,找到与要禁用的证书类型对应的“证书模板注册”安全组(或用于自动注册证书的“自动注册”组)。以具有此组“修改成员身份”权限的用户身份登录。

2.

将用户、计算机或安全组从模板安全组中删除。

注意:对于每个要禁用的证书用户,您还需要吊销该用户的证书。要吊销最终实体证书,请参见 Windows Server 2003 产品文档中的“吊销已颁发的证书”过程。

检查和批准挂起的证书申请

可以随时将证书申请提交到颁发 CA。使用 Active Directory 作为 RA 或使用指定 RA 中的预定义签名集,可自动颁发大多数的证书。如果将任何证书类型设置为需要 Certificate Manager 手动批准,则这些申请将会一直排队等候,直到被 Certificate Manager 批准或拒绝为止。

频率

每日一次

安全要求

具有 Cert Managers 的成员身份

任务详细信息

每天对申请文件夹进行检查,看是否有排队的申请。颁发证书前,应对申请仔细进行检查,确保申请者和申请内容都正确无误。验证使用者名称、使用者备用名称、密钥用法、策略以及扩展均与预期保持一致。如果有任何怀疑,则不要批准该申请。

您也可以对 CA 进行配置,使其针对不同的事件发送电子邮件警报。挂起申请到达即属于其中的一种事件。请参见“为挂起的证书申请配置简单邮件传输协议 (SMTP) 警报”过程。

检查挂起的申请

1.

以 Cert Managers 成员的身份登录到颁发 CA。(通过将“证书颁发机构”MMC 集中到 CA 上,可以远程执行此任务。)

2.

打开“证书颁发机构”MMC,然后打开“申请”文件夹。

3.

要查看文件夹中任何申请的详细信息,可右键单击该申请,然后在“查看”菜单中单击“查看属性/扩展”。

注意:“属性”选项卡显示作为申请的一部分而收到的申请属性;“扩展”选项卡则显示证书中将使用的证书扩展。每个扩展项指明其出现原因是由于包括在申请中,是服务器提供的值,还是由于是 CA 策略模块定义的。(后一种来源通常表明,它是一个在证书模板中定义的扩展。)

4.

根据贵组织的策略,您可能希望得到有关申请的一些其他信息,它们是人员通过电话、电子邮件或类似方式提供的。在确信申请有效后,可以右键单击该申请,然后在“任务”菜单中单击“颁发”以批准该申请。如果不确定申请是否有效,请单击“拒绝”以拒绝该申请。

吊销最终实体证书

可能由于多种原因而需要吊销证书,如:

与证书有关的功能或权限已从证书所有者吊销。

证书密钥已泄露。

颁发该证书的 CA 已泄露。

频率

根据需要

安全要求

具有颁发 CA 的 Cert Managers 成员身份

任务详细信息

有关吊销最终实体证书使用(即,颁发给 CA 以外任何对象的证书)的过程,请参见 Windows Server 2003 产品文档中的“吊销颁发的证书”过程。要吊销 CA 证书,请遵循“支持任务”中的过程。

注意:要避免使用“证书保留”吊销原因代码。虽然以后重新启用证书是一个不错的想法,但是将证书永久吊销然后再颁发一个新证书会更简单,更能减少混淆。

如果您试图吊销已不在证书数据库中的证书,请参见“吊销孤立证书”中的任务。如果 CA 数据库很大,则“证书颁发机构”MMC 的性能可能会较差,致使查找要吊销的证书这一过程变慢。在这种情况下,使用 certutil.exe 来执行吊销任务通常会更快一些。

吊销存档的私钥

加密证书的私钥可以存档在 CA 数据库中。通过在证书模板中选择相应选项,可为特定证书类型启用密钥存档。如果用户无法访问其私钥,并且该密钥已存档,则可以恢复该密钥,并将其以受密码保护的 PKCS#12 文件的形式返给用户。

频率

根据需要

安全要求

您需要具有 CA Admins 的成员身份以从 CA 数据库中提取存档的密钥,并拥有 KRA 证书(和私钥)来解密存档的密钥

任务详细信息

有关如何使用命令行和密钥恢复工具来恢复已存档私钥的详细过程,请参见“相关链接”中的“Key Archival and Management in Windows Server 2003”(Windows Server 2003 中的密钥存档和管理)。

重要信息:为防止滥用权力,应该将从数据库中提取加密密钥与解密提取的密钥这两种职责分开。

密钥恢复过程并不会强制规定如何为用户还原密钥。例如,即使原密钥的证书模板强制将密钥存储在智能卡上,也没有类似的方法防止将恢复的 PKCS#12 还原到软件 CryptoAPI 密钥存储区中。为防止意外降低密钥的安全性,您可能需要采用一种手动过程来获得更高安全保证的密钥。例如,可将恢复的密钥发送给受信任的代理(用户向此代理提供其智能卡),然后再还原密钥并销毁 PKCS#12 文件。

续订 CA 证书

您必须定期续订 CA 证书,以允许最终实体和从属 CA(如果有)继续使用此 CA 注册证书。CA 及其从属 CA 颁发的证书的到期日期不能晚于此 CA 证书的到期日期。另外,还有一些其他原因,导致在正常续订日期之前续订 CA 证书。对于联机 CA 而言,最常见的原因是为了:

更改该 CA 使用的密钥(在它已经泄露或怀疑它已经泄露的情况下)

向 CA 添加证书策略(合格的从属 CA)

更改 CDP 或 AIA 路径

分割 CRL(如果颁发 CA 非常繁忙,这是最可能的原因。)

每次续订时,务必 更改 CA 密钥。

频率

根 CA 为每 8 年一次

中间 CA 为每 4 年一次

颁发 CA 为每 2 年一次(如果您要续订以分割 CRL,您可能会决定更频繁地执行此操作,例如每年或每 6 个月一次。)

安全要求

具有被续订 CA 的本地 Administrators 的成员身份、父 CA(仅限颁发 CA 和中间 CA)的 Cert Managers 成员身份、域中 Enterprise PKI Admins 的成员身份

任务详细信息

CA 层次结构的每个级别都具有 CA 证书有效期,其长度是它下一级的二倍;在 MSA 方案中,根 CA 的有效期为 16 年,中间 CA 为 8 年,颁发 CA 为 4 年。各个 CA 需要在有效期过半后进行续订。此情况如图 1 中所示。如果 CA 在其有效期一半时未进行续订,则会限制该 CA 及其从属 CA 颁发的证书的最长有效期。

图 1:CA 级别层次结构

图 1:CA 级别层次结构

如图 1 所示,如果颁发 CA (CA111) 未续订其证书 (Cert 2),则它无法颁发完整有效期为 2 年的最终实体证书(第 5 年的 EE Cert 2)。它所能颁发的证书的有效期最长为颁发 CA 证书 Cert 2 的到期日期(第 6 年)。如果续订 CA 证书 (Cert 3),则它可以向用户颁发完整有效期长度的证书。在图 1 中,您还会注意到 CA 层次结构各个级别的续订点都是对齐的;这可使续订任务更易于管理。

贵组织中的 CA 续订任务列表与表 19 类似。

表 19:续订任务列表

持续时间任务用途

每年(可选)

续订颁发 CA

分割 CRL

每 2 年(强制)

续订颁发 CA

正常 CA 续订周期

每 4 年(强制)

续订中间 CA

续订颁发 CA

正常 CA 续订周期

每 8 年(强制)

续订中间 CA

续订颁发 CA

续订根 CA

正常 CA 续订周期

有关续订根 CA 证书的过程,请参见“相关链接”中的 Windows Server 2003 证书服务产品文档中的文章“Renew a Root Certification Authority”(续订根证书颁发机构)。在续订 CA 的过程中,还必须执行大量的辅助任务。

图 2:在根 CA 续订期间根 CA 与其他系统的交互

图 2:在根 CA 续订期间根 CA 与其他系统的交互

续订根 CA

1.

如果需要,请在 CAPolicy.inf 中指定新的密钥大小。

2.

续订 CA 证书。(请参见产品文档中的过程。)

3.

将新的 CA 证书发布到:

Active Directory 受信任的证书授权机构存储区

Web 服务器 AIA 发布点

各中间 CA 上受信任的根证书授权机构本地存储区

请参见“发布脱机根 CA”。

4.

从根 CA 颁发新的 CRL,并将其发布到 Web 服务器 CDP 发布点。

5.

如果您尚未将中间 CA 更新为 Windows Server 2003 Service Pack 1,则需要将根 CA CRL 发布到中间 CA 的本地证书存储区。请参见“将根 CA 的 CRL 发布到脱机中间 CA”。

有关续订中间 CA 证书的过程,请参见“相关链接”中的证书服务产品文档中的文章“Renew a Subordinate Certification Authority”(续订从属证书颁发机构)。(根据选项“如果没有联机的父 CA”。)

图 3:续订中间 CA 期间的交互

图 3:续订中间 CA 期间的交互

续订中间 CA

1.

如果需要,请在 CAPolicy.inf 中指定新的密钥大小。

2.

续订 CA 证书。(请参见产品文档中的过程。)

3.

将新的 CA 证书发布到 Active Directory 证书授权机构存储区(可选)。

4.

将新的 CA 证书发布到 Web 服务器 AIA 发布点。请参见“发布中间 CA”。

5.

从根 CA 颁发新的 CRL,并将其发布到 Web 服务器 CDP 发布点。请参见“将脱机 CA 的 CRL 发布到 Web 服务器”。

有关续订颁发 CA 证书的过程,请参见证书服务产品文档中的文章“Renew a Subordinate Certification Authority”。(根据选项“如果没有联机的父 CA”。)颁发 CA 续订期间的交互如图 4 所示。

图 4:续订颁发 CA

图 4:续订颁发 CA

其中只显示了与一个颁发 CA 的交互。这些流程对每个颁发 CA 都是相同的。

在续订联机 CA 期间,自动将其新证书和 CRL 发布到目录中。此时假设 CA 是一个企业 CA,此独立的 CA 并不一定会自动发布到目录中。您应使用“配置颁发 CA 以将 CRL 发布到 Web 服务器”过程,将 CA 配置为自动将 CRL 发布到 Web 服务器。唯一需要完成的手动任务是将 CA 证书发布到 Web 服务器。

对于所有 CA,在整个续订周期完成后,应对 CA 数据库进行备份。

发布脱机根 CA 证书

您必须将脱机根 CA 的证书发布到:

Active Directory 林,以使 PKI 受林成员的信任

中间 CA,以使其信任根 CA

Web 服务器 AIA 发布点,以使证书用户可以获取根 CA 证书来帮助建立链

此过程假定已使用与 Web 服务器发布点对应的 AIA 位置配置了 CA。有关如何进行配置的详细信息,请参见“相关链接”中的 Best Practices for Implementing a Microsoft Windows Server 2003 Public Key InfrastructureMicrosoft Systems Architecture version 2.0 Implementation Kit 中的证书服务建立指南。

频率

这些过程只作为根 CA 续订的一部分来使用。(请参见“续订 CA 证书”。)

安全要求

具有 CA 的本地 Administrators 成员身份或 Enterprise PKI Publishers 成员身份

任务详细信息

将脱机根 CA 证书发布到 Active Directory

1.

将 CA 证书复制到空白的可移动磁盘(其中,d:\path 是该磁盘的路径)。

Copy %systemroot%\system32\certsrv\certenroll\*.crt d:\path

2.

将磁盘装入颁发 CA 或另一个装有 certutil.exe 的域成员,然后将证书发布到目录中。(将 d:\path 替换为可移动磁盘的正确路径。)

For %i in (d:\path\*.crt) do Certutil –f –dspublish %i RootCA

将脱机根 CA 证书发布到脱机中间 CA

3.

使用上一过程中的磁盘,将 CA 证书发布到每个中间 CA 的根 CA 存储区。(将 d:\path 替换为可移动磁盘的正确路径。)

For %i in (d:\path\*.crt) do certutil –f –addstore Root %i

将脱机根 CA 证书发布到 Web 服务器

4.

使用上一过程中的磁盘,将 CA 证书发布到 Web 服务器。(将 d:\path 替换为可移动磁盘的正确路径,并将 WebServerName 替换为 Web 服务器的名称。)

copy d:\path\*.crt \\WebServerName\WWWPKIpub

将中间 CA 证书发布到 Web 服务器

您必须手动将脱机中间 CA 的证书发布到 Web 服务器 AIA 发布点,以使证书用户可以获取 CA 证书来帮助建立链。企业 CA 自动将其 CA 发布到目录中。

此过程假定已使用与 Web 服务器发布点对应的 AIA 位置配置了 CA。有关如何进行配置的详细信息,请参见“相关链接”中的 Best Practices for Implementing a Microsoft Windows Server 2003 Public Key InfrastructureMicrosoft Systems Architecture version 2.0 Implementation Kit 中的证书服务建立指南。

频率

这些过程只作为 CA 续订的一部分来使用。(请参见“续订 CA 证书”。)

安全要求

具有 CA 的本地 Administrators 成员身份或 Enterprise PKI Publishers 成员身份

任务详细信息

将 CA 证书发布到 Web 服务器

1.

将 CA 证书复制到空白的可移动磁盘(其中,d:\path 是该磁盘的路径)。

Copy %systemroot%\system32\certsrv\certenroll\*.crt d:\path

2.

从联机服务器中,将 CA 证书发布到 Web 服务器。(将 d:\path 替换为可移动磁盘的正确路径,并将 WebServerName 替换为 Web 服务器的名称。)

copy d:\path\*.crt \\WebServerName\WWWPKIpub

将颁发 CA 证书发布到 Web 服务器

必须将颁发 CA 证书发布到 HTTP(超文本传输协议)AIA 位置,以使证书用户(尤其是非域客户)可以建立一个从最终实体证书到受信任的根 CA 的信任链。

此过程假定已使用与 Web 服务器发布点对应的 CDP 位置颁发了 CA。有关如何进行配置的详细信息,请参见“相关链接”中的 Best Practices for Implementing a Microsoft Windows Server 2003 Public Key InfrastructureMicrosoft Systems Architecture version 2.0 Implementation Kit 中的证书服务建立指南。

频率

对于颁发 CA,每 2 年执行一次此任务,但只需作为该 CA 证书续订的一部分来执行。(请参见“续订 CA 证书”。)

安全要求

具有 Enterprise PKI Publishers 的成员身份

任务详细信息

CA 证书很少需要更新,因此每次在续订 CA 证书后,将其手动发布到 AIA 并不麻烦。

将颁发 CA 的证书发布到 Web 服务器

1.

以具有发布的 Web 服务器文件夹写入权限的帐户(Enterprise PKI Publishers 的成员)登录到颁发 CA。

2.

确保 Web 服务器文件夹是共享的(请参见“在 Web 服务器上设置 CRL 和证书发布权限”),并记录下共享文件夹的 UNC 路径。

3.

运行下列命令,将 CA 证书发布到 Web 服务器。(将 WebServerName 替换为 Web 服务器的名称。)

Copy %systemroot%\system32\certsrv\certenroll\*.crt \\WebServerName\WWWPKIpub

将脱机 CA 的 CRL 发布到 Web 服务器

必须将脱机 CA 的 CRL 发布到 Web 位置,以使证书用户可以检查整个 CA 链的吊销状态。一个 CA 可以发布两个或更多 CRL,具体取决于 CA 证书的续订次数。您必须发布当前的所有 CRL。

此过程假定已使用与 Web 服务器发布点对应的 CDP 位置颁发了 CA。有关如何进行配置的详细信息,请参见“相关链接”中的 Best Practices for Implementing a Microsoft Windows Server 2003 Public Key InfrastructureMicrosoft Systems Architecture version 2.0 Implementation Kit 中的证书服务建立指南。

频率

根 CA 为每 6 个月一次;中间 CA 为每 3 个月一次

安全要求

具有 CA 的本地 Administrators 成员身份或 Enterprise PKI Publishers 成员身份

任务详细信息

将脱机 CRL 发布到 Active Directory

1.

将 CA CRL 复制到空白的可移动磁盘(其中,d:\path 是该磁盘的路径)。

Copy %systemroot%\system32\certsrv\certenroll\*.crl d:\path

2.

从联机服务器中,将 CRL 发布到 Web 服务器。(将 d:\path 替换为可移动磁盘的正确路径,并将 WebServerName 替换为 Web 服务器的名称。)

copy d:\path\*.crl \\WebServerName\WWWPKIpub

将根 CA 的 CRL 发布到脱机中间 CA

Windows Server 2003 Service Pack 1 之前的版本需要使用此过程,在这些版本中,您已选择禁用对 CA 的吊销检查。(请参见“禁用对中间 CA 的吊销检查”。)

您必须将根 CA 的 CRL 发布到每个脱机从属 CA 的本地证书存储区。由于这些 CA 是脱机的,因此,它们无法访问根 CA 发布的 CDP 位置,并且无法检查其自身证书的吊销状态。这将使其无法启动。

频率

每 6 个月一次(每次从根 CA 发布新的 CRL 时)

安全要求

具有根 CA 和中间 CA 的本地 Administrators 成员身份

任务详细信息

将根 CA CRL 发布到 Active Directory

1.

将根 CA CRL 复制到空白的可移动磁盘(其中,d:\path 是该磁盘的路径)。

Copy %systemroot%\system32\certsrv\certenroll\*.crl d:\path

2.

将 CRL 发布到中间 CA 的本地证书存储区。(将 d:\path 替换为可移动磁盘的正确路径。)

For %i in (d:\path\*.crl) do certutil –addstore –f Root %i

3.

对于每个中间 CA,重复上一步骤。

强制颁发联机 CRL

联机企业 CA 的 CRL 是自动颁发和发布的;通常情况下不需要强制颁发联机 CRL。但是,如果出现严重的吊销情况(如 CA 颁发的所有证书),并且需要在尽可能短的时间内发布新的 CRL,则可能必须执行此操作。

注意:无法向客户发布新的 CRL;他们将保留其现有的缓存副本,直到这些 CRL 到期为止。但是,强制发布新的 CRL 可确保此时申请 CRL 的任何客户都会收到新的 CRL(如果不考虑传播延时)。

频率

根据需要

安全要求

具有 CA 的本地 Administrators 成员身份

任务详细信息

将脱机 CA CRL 颁发和发布到 Active Directory

1.

以 CA Admins 成员的身份登录到 CA,然后装载“证书颁发机构”MMC。

2.

在“吊销的证书”文件夹的“任务”菜单中,单击“发布”来颁发新的 CRL。

3.

选择“新的 CRL”来颁发基本 CRL,或选择“仅增量 CRL”来颁发新的增量 CRL。

监视

这一节包含监视 PKI 所需的一些过程。这些过程描述了一些特殊的计划任务(如运行审核),而不是讲述如何针对警报和错误情况执行日常监视任务。假定对 PKI 的运行状态和性能进行监视。

检查审核日志中是否有安全事件

您应定期检查 CA 的审核日志,尤其是联机 CA。如果记录的事件与 CA 中应该发生的事件的记录不相符,则可能表明存在安全问题。

频率

CA 为每周一次;脱机 CA 为每 3 个月一次

安全要求

具有 CA 的 CA Auditors 成员身份

任务详细信息

检查每个 CA 的安全事件日志中的所有严重事件,查看是否存在意外事件。表 20 中列出了需要监视的一些重要项目。(要查看证书服务生成的安全事件的完整列表,请参见“配置 CA 安全监视”和 Windows Server 2003 PKI Operations Guide 以了解有关这些事件的详细信息。)

表 20:严重安全事件

事件安全事件日志 ID事件说明

对 CA 审核策略的更改

事件 ID 789

证书服务的审核筛选已更改。

对 CA 权限的更改

事件 ID 786

证书服务的安全权限已更改。

对 CA KRA 的更改

事件 ID 796,子类型 1 和 3

KRA 证书已添加或删除。

对 Certificate Manager 设置的更改

事件 ID 794

证书服务的 Certificate Manager 设置已更改。

CA 证书的颁发

(仅对根 CA 或中间 CA 属严重事件)

事件 ID 791

证书服务批准了一个证书申请并颁发了一个证书。

密钥恢复操作

事件 ID 787

证书服务检索到一个存档的密钥。

意外从备份还原

事件 ID 783

证书服务还原已完成。

从 CA 数据库中删除行

事件 ID 800

从证书数据库中删除了一行或多行。

如果任何项目与更改控制记录不符,应立即进行调查。既要调查失败事件,也要调查成功事件,因为它们都有可能会指出危及安全的企图。您可能决定创建由其中的某些事件触发的警报,并将其在操作监视控制台上标记出来。例如,如果您不希望在标准事件过程中更改 CA 审核策略,则可以对操作监视系统进行配置,使其在 CA 中记录事件 ID 789 时触发警报。

审核 PKI

应定期对您的 PKI 进行审核以确保其按预期的方式工作。尽管前一项任务(检查审核日志中是否有安全事件)可能会成为此审核的一部分,但不应将二者混为一谈。审核旨在确认系统正在按照所实施的策略和准则运行,并找出所有与该策略不相符的情况。

但是,此任务并非旨在取代法律或规章制度方面的审核要求。如果要求您遵守外部审核标准,则应咨询您的审核员或其他合格的专业人员并听取他们的建议。

频率

每年一次(频率可能会发生变化,具体取决于规章制度要求、组织特定的标准及其他因素。)

安全要求

可能需要具有 CA 的 CA Auditors 和本地 Administrators 成员身份,以及域中 Enterprise PKI Admins 的成员身份。

任务详细信息

审核信息安全系统是一门专业学科,本文无法深入地探讨这一主题。但是,下面的列表详细说明了 PKI 审核应该包括的一些内容。

目前的做法是遵循 PKI 证书策略、证书实施细则(如果有)以及组织的信息安全策略。

对 PKI 配置进行的更改(在“配置管理”日志中指明)都有相应的更改申请和批准记录。

KRA 证书所有者依然有效,并且能够担任其角色。(例如,他们没有调往其他部门。)

操作人员具有足够的技能和专业知识来支持 PKI,即审阅所有培训需求。

仍为职员分配适当的管理角色。(如果职员更换工作,其管理权力应进行相应调整。)

HSM 密钥卡和操作员卡所有者仍有效(例如,他们尚未离开公司),他们能够担任其角色,这些卡是安全的并且能正常使用。

检查性能和容量数据

应定期对容量变化趋势进行检查,确保 CA 不会出现资源不足的情况。这只适用于颁发 CA,对于频繁使用的 CA 尤为重要。

频率

每年一次

安全要求

具有 CA 的本地 Administrators 成员身份

任务详细信息

尽管运行监视警报会在资源(如磁盘空间或内存)接近容量极限时发出警告,但时常会出现收不到足够警告信息的情况,致使您无法正确地对容量需求进行规划。因此,您应定期检查 CA 的容量变化趋势。有关容量规划的深入介绍已超出了本文的范围。如果贵组织中有容量规划方面的专业资料,应利用它来帮助您对 CA 的资源需求进行管理。

下列准则非常有用。

确保您的 CA 有足够的容量来满足其前 2 年的计划使用量。(请参见“计算潜在的 CA 容量限制”。)

在进入生产阶段之前,可使用“Windows 性能日志和警报”工具获得 CA 的测量基线。

在开始运行的头一年,每 3 个月应进行一次性能测量,直到找出资源需求的增长趋势为止。此后,您可以降低测量频率。

确保在规划时考虑了通过联机方式提供的新证书应用程序。它们将是最主要的增长因素,并导致资源需求出现激增,而不是平稳的线性增长。

磁盘容量、磁盘吞吐量以及内存容量最有可能会出现容量限制问题。

确保为 CA 的物理资源配置了合理的运行警报,这样即使您的计划未能预见到会出现资源不足的情况,您也可以提前得到警告。

CA 数据库和设置管理

这一节介绍存储管理任务,如执行备份、测试备份以及存档日志。

备份脱机 CA

此任务的目的是创建 CA 私钥和证书、证书数据库以及证书服务配置信息的备份副本。证书服务配置信息包括 CA 依赖的所有操作系统配置和其他状态信息。

频率

每次颁发新的(从属 CA)证书或吊销证书时

安全要求

具有 CA Backup Operators 的成员身份

任务详细信息

通常情况下,脱机 CA 只颁发少量的证书,因此数据量肯定不会很大。数据也很少会发生变化,有可能几年才会改变一次。脱机 CA 还需要某种本地备份设备,如磁带机或可写 CA。

注意:如果使用的是 HSM,则此过程可能会备份加密密钥材料(取决于 HSM 的工作方式),但如果没有相同的 HSM 和 HSM 访问密钥,则在还原的计算机上无法使用备份的密钥。按照 HSM 供应商的说明进行备份操作,并且妥善保管好密钥材料和访问密钥。

备份脱机 CA

1.

运行下列命令,将 CA 数据备份到临时文件 C:\CABackup\CABackup.bkf 中。可以将该文件复制到可移动媒体中,如可写 DVD。

ntbackup backup systemstate /R:yes /F C:\CABackup\CABackup.bkf /J "CA Full Backup" /L:s /V:yes

2.

如果要将数据存储到本地磁带机中,请运行下列命令将 CA 数据备份到“CA 备份”磁带。

ntbackup backup systemstate /R:yes /t "CA Backup /J "CA Full Backup" /L:s /V:yes

注意:此备份数据是高度机密的,因为它包含 CA 自身的私钥材料(如果您未使用 HSM)。在传送和存储此数据时,要采取必要的安全措施,因为它与 CA 同等重要。将备份数据与 CA 本身存储到不同的地点。这样,在该地点的所有计算机设备损坏或无法访问时,仍可以对 CA 进行恢复。

备份 CA 密钥和证书

除了备份证书数据库外,还要单独备份 CA 证书和密钥。在 CA 服务器出现故障且短期内无法恢复的情况下,可能需要使用 CA 私钥和证书来签署 CRL 或证书。

频率

每年一次或每次续订 CA 证书时,取两者较早的时间

安全要求

具有 CA Backup Operators 的成员身份

任务详细信息

CA 密钥和证书只占用几 KB 的存储空间,因此可以将其保存到磁盘中。此任务适用于组织中的根 CA、任何和全部中间 CA 以及颁发 CA。如果要将密钥备份到长期存储媒体(如 CD 或 DVD),则无需每年都进行备份。如果使用磁性媒体(如软盘或磁带),则每年都应备份密钥和证书,而且在每次续订 CA 证书后也应进行备份。随着时间的推移,磁性媒体中记录的信号会逐渐减弱,尤其是暴露在电磁场中。尽管可能要经过许多年后,信号才会减弱到无法辨认的程度,但最好还是要防患于未然。

注意:如果使用的是 HSM,此过程可能不会按预期方式工作。按照 HSM 供应商的说明进行备份操作,并且妥善保管好密钥材料和访问密钥。

将证书和密钥导出到磁盘

1.

插入一个可移动磁盘,然后运行下列命令,需要将 Password 替换为强密码,并将 TargetFolder 替换为存储所保存的密钥和证书的路径名。

certutil -backupKey -p Password TargetFolder

重要信息:务必记录此密码,并将其存放在安全的地方,而且不能与密钥备份放在一起。密码记录应清楚地标明它的相关备份(磁盘卷标、日期以及 CA 名称)。可能要经过数月或数年的时间之后才会用到这些密钥,没有人能够记得当时所使用的密码。请务必销毁此密码的所有其他记录。不要使用管理人员熟知的常用密码。

2.

至少制作两个单独的备份副本,并将其存放在不同的磁盘上。(磁盘并不总是绝对可靠的。)根据实际情况清楚地标记磁盘并注明日期,要知道可能很久以后才会再次用到它们。

3.

正确地存放磁盘。如同备份 CA 数据库一样,要采取最严格的安全措施来保护这些密钥备份。将至少两个证书和密钥的备份副本存放在两个不同的地方,并且这些地方都是安全的。

测试 CA 数据库备份

此过程将对 CA 备份进行测试,以确保备份过程和方法均正确无误。您只能将 CA 还原到一台与 CA 同样可靠的计算机上。例如,不要将脱机根 CA 还原到一台联机计算机上。用于测试还原的计算机必须在物理上是安全的,在理想情况下应是永久脱机的。

频率

在 CA 投入使用前,联机 CA 每 3 个月一次,脱机 CA 为每年一次;只要备份方法或过程发生变化,就需要重新进行测试

安全要求

具有测试计算机上的本地 Administrators 或 Backup Operators 的成员身份

任务详细信息

必须将系统状态备份还原到具有相同磁盘布局的系统中。例如,必须将 Windows 安装在与备份系统相同的目录路径下,并使用相同的驱动器布局来存储 Windows 文件(如页面文件)。CA 数据库和日志必须与备份的源 CA 相同。

警告:从开始进行系统状态还原起,用于还原的测试服务器应始终保持脱机状态。这是为了防止不必要地泄露还原的 CA 密钥,它还可以避免测试服务器和原始服务器之间出现重复名称和 IP 地址冲突现象。在任何情况下,都不能在测试时将脱机 CA 还原到联机服务器。

重要信息:如果使用的是 HSM,则此过程无法完全还原 CA。取决于 HSM 的工作方式,如果没有相同的 HSM 和 HSM 访问密钥,还原的计算机将无法工作。这可能不会对常规测试产生影响,但您应定期使用 HSM 恢复执行完全还原,以确保您的过程和备份方法都正常无误。按照 HSM 供应商的说明进行备份和还原操作,并且妥善保管好密钥材料和访问密钥。

还原 CA

1.

从备份媒体还原系统状态备份。

2.

重新启动系统。

3.

检查是否一切均按预期方式工作。测试颁发证书和 CRL。

4.

在测试结束后,清除测试服务器(或至少要清除 CA 密钥)。

重要信息:如果您选择只删除密钥(而不是清除服务器),请运行 cipher 命令来清除磁盘中未分配的部分。

Cipher /W:%AllUsersProfile%

要执行此操作,必须是本地 Administrators 组的成员。应使用 %allusersprofile% 路径,以便在存放密钥材料的驱动器上执行 cipher 命令。如果使用的是 HSM,则无需执行此操作。

测试 CA 密钥备份

定期检查 CA 密钥备份,确保其有效以备不时之需。

频率

对于颁发 CA 为每 6 个月一次;对于脱机 CA 为每年一次

安全要求

具有测试计算机上的本地 Administrators 成员身份

任务详细信息

您可以在任何系统中安装 CA 密钥和证书(但考虑到这些密钥的高度机密性,此系统应是物理安全的并且处于脱机状态)。为确保将密钥材料的所有痕迹从计算机中彻底清除,可在计算机上创建一个单独的临时本地用户帐户(专用于此目的)。

注意:如果使用的是 HSM,此过程可能无法工作。按照 HSM 供应商的说明进行备份和还原操作,并且妥善保管好密钥材料和访问密钥。

还原 CA 密钥

1.

确保计算机已与网络断开连接,以本地 Administrators 成员的身份登录,然后创建 TestCAKeys 本地用户帐户。

2.

使用此帐户登录。

3.

插入包含要测试的 CA 密钥备份的磁盘。

4.

使用 Windows 资源管理器导航到 .P12 密钥文件,并双击该文件。这将启动证书导入向导。

5.

在出现提示时输入密码,不要选择复选框以给密钥提供较高的保护级别或使其可以进行导出。

6.

单击“将所有的证书放入下列存储区”,然后单击“浏览”并选择“个人存储区”作为 CA 密钥的还原位置。

7.

打开“证书”MMC,并浏览到“个人存储区”。找到还原的 CA 的 CA 证书,然后打开该证书,检查其中是否包含相应的私钥。在“常规”选项卡的底部,您可以看到相应的说明。

对于当前的每个 CA 密钥和证书,重复此过程。

测试还原的密钥

1.

获取要测试的 CA 所颁发的 CRL 或证书。如果要还原多个密钥,则 CRL 或证书必须与要测试的 CA 密钥和证书相对应。

2.

根据您在上一步骤中选择的是 CRL 还是证书,请运行下列相关的命令之一,用步骤 1 中获取的文件名替换 CRLFileName CertFileName

Certutil -sign CRLFileName.crl NewCRL.crl
Certutil -sign CertFileName.cer NewCertFile.cer

3.

在出现提示时,选择 CA 证书(在上一过程中导入的)作为签名证书。

4.

运行相应的 certutil 命令,验证签名操作是否成功。输出内容类似于以下内容:

C:\>certutil -sign "Contoso Issuing CA 111.crl" "Contoso Issuing CA 111xxs.crl"
ThisUpdate: 2/10/2003 10:52 PM
NextUpdate: 2/25/2003 3:11 PM
CRL Entries: 0
Signing certificate Subject:
CN=Contoso Issuing CA 111
DC=contoso, DC=com
Output Length = 970
CertUtil: -sign command completed successfully.

对于要测试的每个 CA 密钥和证书,重复此过程(使用该密钥签署的 CRL 或证书)。

现在,您必须将密钥从测试系统中清除。

将密钥从系统中清除

1.

以本地 Administrators 成员的身份登录,然后使用“我的电脑”中的“高级属性”删除 TestCAKeys 帐户的用户配置文件。

2.

删除 TestCAKeys 帐户。

3.

通过运行以下命令,安全地清除未分配的磁盘区域,以便永久性地去除密钥的痕迹。

Cipher /W:%AllUsersProfile%

注意:可指定 %allusersprofile% 作为路径,确保 cipher.exe 命令在保存用户配置文件的驱动器上执行。此命令清除整个驱动器,而不是只清除指定的路径。

存档 CA 中的安全审核数据

应依照法律或规章制度要求或者内部安全策略,存档和存储审核日志。如果您拥有审核事件合并系统(如 MOM 或 Windows 审核收集系统),则可能您已经掌握了自动收集和存档审核日志的方法。有关如何配置系统以实现此功能的信息,请参见该文档。

频率

对于颁发 CA 为每月一次;对于根 CA 和中间 CA 为每 6 个月一次

安全要求

具有 CA 的 CA Auditors 和本地 Administrators 的成员身份

任务详细信息

存档安全事件日志

1.

以具有 CA Auditors 和本地 Administrators 成员身份的帐户登录到服务器上。(创建一个同时属于这两个组的帐户。)

2.

依次单击“开始”、所有程序”和“管理工具”,打开事件查看器。

3.

选择“安全日志”文件夹。

4.

右键单击该文件夹以显示一个下拉菜单,然后单击“另存日志文件”。

5.

将日志保存到一个临时文件。

6.

复制到可移动媒体(如 CD-R),然后删除该临时文件。

返回页首返回页首

容量规划和优化

容量管理是指规划、调整以及控制服务解决方案容量的过程,以使其在事先约定的性能级别满足用户的需求。这一节中的这些任务与 MOF 过程模型中的“优化”部分相对应。

确定颁发 CA 的最大负载

这一节提供了有关计算颁发 CA 的最大负载的信息。

尽管 CA 通常很少会遇到高负载的情况,但有些时候负载可能会急剧升高。通常,CA 最高负载出现在登录高峰时,或首次部署新证书类型时的开始一段时期内。类似地,如果发生大量的证书吊销或 CA 证书吊销情况(尽管这种情况非常罕见),用户和计算机重新注册时也会出现反常的负载高峰。

任务详细信息

Microsoft 的内部测试表明,对于典型的企业 CA,在高负载情况下出现的性能瓶颈都是由于与 Active Directory 的交互造成的。与执行目录查找以检索证书主题信息并可能再将证书发布到 Active Directory 的任务相比,签署和颁发证书的工作要相对轻松得多。

在典型的高负载方案中,已启用了一种新的证书类型,所有用户和计算机都需要注册此类型的证书。

用户数:10,000

计算机数:10,000

企业 CA 的最大颁发速度约为:每秒钟 30 个证书或每分钟 1800 个证书

10,000 个用户和 10,000 台计算机最少需要 11 分钟才能完成注册。

重要信息:如果还需要将颁发的证书发布到目录(这不是默认行为,通常只有电子邮件加密证书需要执行此操作),则最大颁发速度会降为每秒钟 15 个证书,这样,特定证书类型的总注册时间就会加倍。

您可以使用这些数字来确定组织中可能出现的最大高峰注册负载,然后计算总的注册时间。如果时间太长而令人无法接受,而且无论如何都无法将注册时间错开,请考虑部署其他的颁发 CA 来分散负载。应将这些 CA 部署到不同的 Active Directory 站点,以使其使用单独的域控制器。

确定颁发 CA 的存储和备份要求

您可以通过执行此任务,来计算联机磁盘和脱机备份存储的将来存储要求。对于较大的安装而言,提供足够的存储空间和性能是 Windows CA 面临的一个最大的容量管理难题。

任务详细信息

在本任务中给出的容量数字均基于下列假设。

规模为 10,000 个用户、10,000 台计算机和 500 台服务器。

每年为每个用户和计算机颁发 5 个证书;每个证书的有效期都为一年。

在极少数的情况下,如果新的证书类型通过联机方式提供,并且几乎所有用户(或计算机)都在同一天注册,则可能会出现峰值负载。

向用户颁发了安全电子邮件证书;这是唯一发布到 Active Directory 的证书类型。

绝大多数证书都是在每周的工作日内颁发的。

每天都会对数据库进行完整备份,这会截断数据库日志。

在 CA 数据库中每个证书项平均占用 20 KB 的空间;如果将私钥与证书一起存档,则平均占用 32 KB 的空间。

发布到目录的每个证书在 Active Directory 数据库中占用大约 1.5 KB 的空间(使用 1024 位密钥)。

一个 CRL 项大约为 30 个字节。已颁发证书的吊销比例最多不超过10%。超出有效期的吊销证书不包括在 CRL 中。

表 21 中列出了相同规模组织的预期容量值。某些峰值数字表示最坏或接近最坏的情况,即所有用户在同一天内自动注册同一类证书。可通过调整证书注册的持续时间来改善这些峰值。

表 21:关于存储和备份的容量值

容量项目证书存储要求注释

CA 数据库大小

每年向数据库中添加 100,000 个证书。

证书数据库每年将增加 2 GB,5 年后达到 10 GB。

知道 CA 数据库大小对规划磁盘存储和备份要求至关重要。

CA 数据库日志大小

每天平均颁发 400 个证书;峰值为每天 10,000 个证书。

日志在峰值负载时最大为每天 200 MB,但平均为每天 8 MB(在备份操作将其截断之前)。

在一年中负载不可能始终均匀分布,因此您应该允许出现峰值。

CRL 大小

在任何时候都有 100,000 个证书处于有效期内;CRL 中将包含 10,000 个证书。

整个 CRL 大小将达到 300 KB(通常每周颁发一次)。

每天 CRL 增量最大为 6 KB。

CRL 的大小和发布频率是非常重要的,因为每个客户都需要从网络位置获得一个副本。这对于通过慢速线路连接的远程客户来说尤其重要。

Active Directory 数据库大小

每年颁发 10,000 个电子邮件证书。

这将使目录数据库的大小增加 15 MB。

如果将证书发布到目录,则这些证书只影响 Active Directory 数据库的大小和复制通讯量。

Active Directory 复制通讯量

假设最坏的情况是在一天的 8 小时内出现峰值 10,000 个证书。

这将导致与所有域控制器之间出现 15 MB 的复制通讯量,平均 4 Kbps。

复制通讯量中最主要的部分是向目录发布证书。

也可以通过 CA 数据库和数据库日志大小,了解完整备份和差异备份的存储需求。在“配置颁发 CA 数据库备份”任务中,提供了执行备份所需时间的示例计算。

返回页首返回页首

管理更改和配置

管理 IT 结构中的更改是至关重要的。管理更改是指,完成规划和准备、记录以及最终发布更改这一可控的循环过程。完成这一循环过程有助于最大程度地减少更改在客观上对您的环境造成的影响,并且您还可以在需要时方便地撤消更改。在配置管理数据库中记录对 PKI 所做的更改,有助于使环境始终处于已知的状态。

这一节涉及三个功能。在“更改”部分的 MOF 过程模型文档中,更全面地介绍了这些功能。

更改管理是规划更改及准备环境的过程。

版本管理是将更改部署到环境中。

配置管理是准确地记录 IT 环境的状态。

更改和版本管理

更改管理

更改管理对任何 IT 环境的平稳运行至关重要。通常,将更改定义为以某种重要方式来改变 IT 环境的行为,例如,部署新的证书类型,升级操作系统或收回 CA。另一方面,执行计划备份等操作尽管在技术上改变了环境,但通常并不认为它们属于此处所说的更改。有一些项目还存在着一些争议,例如,可将向域中添加用户帐户视为一个日常操作,但为某一帐户授予管理权限几乎毫无疑问要完成更改管理过程。

更改管理过程的主要目标是,确保受到特定更改影响的所有各方都知道将要发生的更改,并且了解更改将会产生的影响。由于 IT 系统之间经常是密切相关的,对系统的一个部分所做的任何更改都可能会对其他部分造成极大的影响。为了减少或消除任何不利的影响,更改管理过程尽量在更改部署之前找出所有将会受到影响的系统和进程。通常,“目标”或受管理的环境是指生产环境,但它也应该包括重要的集成、测试及临时环境。

对 PKI 的所有更改都应遵循标准的 MOF 更改管理过程,如下所述:

1.

更改申请 更改过程是从提交更改申请 (RFC) 正式开始的。

2.

更改分类 为更改分配优先级和类别,可使用其紧急性及其对结构或用户的影响作为衡量标准。此分配将会影响到实现速度和途径。

3.

更改授权 更改管理员和更改批准委员会 (CAB) 考虑和批准(或拒绝)更改,这个委员会包括 IT 和业务代表。

4.

更改进展 更改的规划和进展,此过程的范围非常广,并且包括在关键的中间阶段进行审核。

5.

更改版本  发布更改并将其部署到生产环境中。(请参见“版本管理”。)

6.

更改审核 这是一个实现后的过程,它审核更改是否完成了预定目标,并确定是使更改生效还是将其撤回。

版本管理

版本管理的重点是便于将软件和硬件版本引入到受管理的 IT 环境中。通常,这包括生产环境和受管理的生产前的准备环境。版本管理是版本开发/项目团队和负责在生产中部署版本的操作组之间的协调点。

版本管理负责下列事项:

1.

评估更改是否已满足组织的所有必需版本标准,并以此判断它是否已准备就绪可以开始部署了。

2.

准备版本:确保所需的资源均已到位,例如,合乎要求的 IT 设备、经过适当培训的人员以及足够的网络容量。

3.

协调更改的部署情况,这可能包括数量有限的用户的某一阶段版本。

4.

在出现问题时撤回更改。

对 PKI 所做的重大更改

下面是一些可能需要对 PKI 所做的更改,它们应遵循正式的更改和版本管理过程。注意,这并不是一个完整的列表。

安装新的 CA

更改 CA 策略

更改 CA 的 CDP 和 AIA 发布位置

更换 PKI 管理人员

添加、删除或修改证书模板(包括更改模板权限)

更改 CRL 发布时间

更改 CA 的 KRA

更改 CA 的审核设置或权限

向目录中添加受信任的根或交叉证书

吊销 CA 证书

更新 CA 操作系统

更改备份方法或日程

重新配置 CA 硬件

配置管理

配置管理可标识、记录、跟踪和报告称为配置项目 (CI) 的重要 IT 组件或资产。捕获和跟踪的信息取决于特定的 CI,但通常包括 CI 的描述、版本、构成组件、与其他 CI 的关系、位置/分配以及当前状态等。

可将 PKI 配置管理归类到 5 个主要领域。

企业 PKI 配置,即存储在 Active Directory 中的通用信息

证书模板配置,即所有活动模板的配置详细资料

CA 配置,即 CA 特定的配置详细资料

CA 和 PKI 管理组,即 PKI 管理安全组和用户的详细资料以及他们拥有的权限

客户端配置,即通过组策略(或其他方法)配置的用户和计算机设置

下列部分详细描述了其中的每个项目,并且包括用于显示与该领域相关的配置信息的一些命令。您可能已经在组织中建立了一个配置管理数据库。可以使用这些命令的输出结果来填充该系统(但可能需要重新设置输出结果的格式)。可通过将这些命令的输出结果重定向到文本文件来创建 PKI 的基本配置管理数据库。您可以使用文本比较工具(如 Windows Resource Kit 中的 Windiff),将新配置中的内容与先前的记录进行比较,以便更容易地发现任何反常的情况。

有关配置管理的详细信息,请参见“相关链接”。

收集企业 PKI 配置信息

整个企业范围内的配置信息存储在 Active Directory 中。这包括受信任的根 CA 发布、企业 CA 配置以及公布信息。它还包括证书模板,但这些内容将在“收集证书模板配置信息”中单独阐述。

频率

每年一次或者根据需要

安全要求

具有 Domain Users 的成员身份

任务详细信息

保留 Active Directory 中存储的下列信息的记录。

受信任的根证书颁发机构

NT 验证存储

注册服务(企业 CA)

交叉证书

发布的 CRL

在以下过程中,给出了用于收集此信息的命令。对于其中的某些命令,您必须将示例根域可分辨名称 (DN) DC=contoso, DC=com 替换为您的 林根域的 DN。

注意:出于打印考虑,下列某些命令显示为多行,但实际应在单行输入。

显示受信任的根证书颁发机构

certutil -store -enterprise Root

显示 NT 验证存储

certutil -store -enterprise NTAuth

显示企业 CA

certutil -dump

显示当前企业 CA 的证书

certutil -store -enterprise "ldap:///cn=Enrollment Services,CN=Public Key Services,CN=Services,CN=Configuration,
DC=contoso, DC=com?cACertificate?one?
objectClass=pkiEnrollmentService"

显示中间和交叉证书

certutil -store -enterprise CA

显示其自身的中间 CA 证书

certutil -store -enterprise "ldap:///cn=AIA,CN=Public Key Services,CN=Services,CN=Configuration, DC=contoso, DC=com?cACertificate?one?
objectClass=certificationAuthority"

显示其自身的交叉证书

certutil -store -enterprise "ldap:///cn=AIA,CN=Public Key Services,CN=Services,CN=Configuration, DC=contoso, DC=com?cRossCertificatePair?one?
objectClass=certificationAuthority"

显示当前发布的 CRL

1.

此命令将显示在 Active Directory CDP 容器中发布 CDP 的所有 CA 的“服务器名称”。

dsquery * "cn=CDP,cn=Public Key Services,cn=Services, cn=Configuration,DC=contoso, DC=com" -attr cn -scope onelevel

2.

此命令将显示在 Active Directory CDP 容器中发布 CDP 的所有 CA 的“公用名称”。(这些将是先前列表的子对象。)注意,CA 将为每个 CA 版本创建一个新的 CDP,每次续订 CA 时版本号将递增。其存储形式为“CACommonName(X)”,其中 X 是 CA 版本号。

dsquery * "cn=CDP,cn=Public Key Services,cn=Services, cn=Configuration, DC=contoso, DC=com" _ 
    -attr cn –filter (objectclass=crlDistributionPoint)

3.

利用先前的信息,您可以使用步骤 2 中的 CA 公用名称和步骤 1 中的 CA 服务器名称来显示特定 CDP 的 CRL。将 Contoso Root CA 1 替换为 CA 的公用名称,将 RT-CA-01 替换为 CA 的主机名称,并将 DC=contoso, DC=com 替换为林根域的 DN。

certutil -store -enterprise "ldap:///cn=Contoso Root CA 1,cn=RT-CA-01,cn=CDP,CN=Public _ 
    Key Services,CN=Services,CN=Configuration, DC=contoso, DC=com?certificateRevocationList?base?objectClass=cRlDistributionPoint"

您可以编写一个命令文件(批处理)脚本来自动运行这些命令,从而简化其运行过程。

收集证书模板配置信息

证书模板存储在 Active Directory 中。对于每个模板的配置以及用于每个模板的证书注册权限,都保留一份记录。

频率

每年一次或者根据需要

安全要求

Domain Users

任务详细信息

可以使用以下命令收集此信息。

注意:出于打印考虑,其中的某些命令可能显示为多行,但实际应在单行输入。

生成在 Active Directory 中配置的模板的列表

Certutil -template

转储这些模板的配置

Certutil –dsTemplate

转储模板的权限

Dsacls "cn=TemplateName,cn=Certificate Templates,cn=Public Key Services,cn=Services,cn=Configuration,DC=contoso, DC=com"

目前还没有一种工具,能够以易于阅读的形式导出完整的模板权限。Dsacls.exe 可显示模板的权限。但是,当前版本并不显示扩展权限“自动注册”,尽管它可以显示“注册”以及其他扩展权限。这意味着,您必须手动保留一份“自动注册”权限记录。或者,您可以使用 Active Directory Services Interface (ADSI) 编写一个脚本或工具以正确读取和显示所有权限。

收集 CA 配置信息

这一节将阐述在每个 CA 本地存储的配置信息;对于企业 CA,则阐述存储在 Active Directory 中的某些信息。

频率

每年一次或者根据需要

安全要求

CA 的本地 Administrators

任务详细信息

保留下列信息的记录。

CA 注册表信息

CA 证书信息

CA 权限

为 CA 分配的模板

CA 证书实施细则 (CPS)

可以使用以下命令收集此信息。

显示 CA 注册表配置

certutil -getreg
certutil -getreg CA

显示当前(最新)的 CA 证书

certutil -f -ca.cert %temp%\CAcert.cer > nul && certutil -dump %temp%\CACert.cer

目前还没有一种工具,能够以便于使用的格式转储 CA 权限。应手动保留此信息的记录。

显示当前为此 CA 分配的模板

certutil -CATemplates

在维护 CA CPS 文件时应使用适当的版本控制,以便于确定和检索在任意给定时间有效的 CPS。

收集 CA 和 PKI 管理组信息

PKI 管理组成员是非常重要的配置信息,因为这些组控制了 CA 和企业 PKI 信息的方方面面。

频率

每年一次或者根据需要

安全要求

Domain Users

任务详细信息

对于每个 PKI 和 CA 管理组,列出并记录当前的成员。如果有任何成员自身就是一个组(在其名称前面用一个星号来表示),则依次列出该组的成员,直到您得到一个所有 PKI 组成员包括的完全用户列表。

默认的组有:

Enterprise PKI Admins

Enterprise PKI Publishers

CA Admins

Cert Managers

CA Auditors

CA Backup Operators

您可能还需要在此列表中包括 Enterprise Admins,原因是这个组的成员可以执行 Enterprise PKI Admins 能够执行的所有任务。如果您已经创建了其他的管理组,则也可以将其包括在列表中。

列出每个组的成员

1.

在域计算机上运行下列命令,并将 groupname 替换为要列出其成员的组。

net groups groupname /domain

2.

在每个脱机 CA 上运行下列命令,并将 groupname 替换为要列出其成员的组。

net localgroup groupname

收集证书客户端配置信息

此任务将查阅使用组策略部署的客户端配置信息。如果您使用任何其他机制(例如,SMS 或登录脚本)来部署与 PKI 相关的客户端设置,则在此处也将其记录下来。

频率

每年一次或者根据需要

安全要求

具有 GPO 管理权限的 Active Directory

任务详细信息

使用组策略管理控制台 (GPMC) 或“GPO 策略的结果集”MMC 来收集并列出 PKI 客户端配置信息。有关如何获取和使用 GPMC 的详细信息,请参见“相关链接”。

返回页首返回页首

常见支持任务

疑难解答和支持属于 MOF 的“支持”部分。支持过程是反应性任务,旨在将 PKI 服务还原到预期的级别。疑难解答是 MOF 问题管理的一部分,其目的是跟踪故障的来源并在源头消除故障。影响大的服务中断几乎总会涉及这两种服务管理功能。

MOF 的“支持”部分还阐明了服务台的运行,服务台将接收故障报告并启动相应的支持过程。本文不再对服务台的组织进行详细阐述。有关详细信息,请参见“相关链接”中 Microsoft 操作框架过程模型文档对服务台的描述。

这一节将列出一些可能会对 PKI 产生影响的常见支持事件或具有很大影响的支持事件。同时还列出了一些支持过程,这些过程可帮助您处理其中的一些支持事件。这些支持过程在其他资料中没有涉及。

这一节的内容与“配置监视和警报”内容密切相关。服务监视可提供一些必要信息,供操作和支持人员来检测问题。特别是,“监视服务可用性”中描述的警报事件指出了目前或将要发生的服务故障。这一节将对这些故障加以介绍。

表 22 中描述了在 PKI 管理过程中可能会遇到的许多主要支持事件。“支持任务或参考”栏列出了下面的某一项内容:

要完成的支持任务(如从备份中还原 CA)。这些任务在“支持任务”中描述。

标准操作过程(出现此类型的警报通常表明,漏掉了计划的支持任务)。这些任务在“操作 PKI”中描述。

更深入的疑难解答或支持文档参考,有助于诊断和解决问题。

表 22:主要支持事件

事件说明支持任务或参考

CRL 已到期

无法访问有效 CRL;这通常会导致服务中断。

检查操作任务:

配置颁发 CA 以将 CRL 发布到 Web 服务器

将脱机 CA 的 CRL 发布到 Web 服务器

强制颁发联机 CRL

请参见文章 Troubleshooting Certificate Status and Revocation

CRL 已误期

CRL 仍然有效,但新的 CRL 已误期,应早该发布。

检查操作任务:

配置颁发 CA 以将 CRL 发布到 Web 服务器

将脱机 CA 的 CRL 发布到 Web 服务器

强制颁发联机 CRL

请参见文章 Troubleshooting Certificate Status and Revocation

CRL 不可用:

无法从 Active Directory 中检索 CRL

无法从 Web 服务器中检索 CRL

CRL 在发布的 CRL 分发点不可用。这可能会导致服务中断。

检查操作任务:

配置颁发 CA 以将 CRL 发布到 Web 服务器

将脱机 CA 的 CRL 发布到 Web 服务器

强制颁发联机 CRL

请参见文章 Troubleshooting Certificate Status and Revocation

CA 证书已到期

此 CA 证书已到期

父 CA 证书已到期

CA 证书已到期;这通常会导致服务中断。

检查操作任务:

续订 CA 证书

CA 证书的有效期还剩下不到一个月

CA 证书不久将到期,如果不加以纠正将造成服务中断。当前仅颁发有效期很短的证书。

检查操作任务:

续订 CA 证书

CA 证书的有效期已过去多半

当 CA 证书的有效期过去一半时,就应该进行续订。这可能意味着,颁发的证书的有效期比预期的短。

检查操作任务:

续订 CA 证书

KRA 证书已到期

CA 的 KRA 证书已到期,这将妨碍 CA 颁发需要密钥存档的证书。

请参见文章 Key Archival and Management in Windows Server 2003

KRA 的有效期还剩下不到一个月

KRA 证书不久将到期,如果不加以纠正可能会造成服务中断。

请参见文章 Key Archival and Management in Windows Server 2003

CA 备份失败

CA 系统状态备份失败,这可能会造成信息丢失。

检查所使用的备份硬件和软件。

客户无法注册证书

客户注册申请失败。

请参见 Windows Server 2003 产品文档的“证书服务”部分中的“疑难解答”主题。

客户无法自动注册证书

客户自动注册申请失败。

请参见文章 Certificate Autoenrollment in Windows XP(Windows XP 中的证书自动注册)。

CA 服务器失败

服务器在网络上不可见。

检查服务器操作系统运行状况,并检查可能存在的硬件故障。

请参见 Windows 产品文档中的任务:

重新启动 CA 服务

重新启动 CA 服务器

处于紧急状态的 CA 操作系统

服务器硬件或 Windows 可能出现严重问题。

检查服务器操作系统运行状况,并检查可能存在的硬件故障。

请参见 Windows 产品文档中的任务:

重新启动 CA 服务

重新启动 CA 服务器

CA 操作系统的运行状况存在错误/警告

服务器硬件或 Windows 可能出现一些问题,但并不严重。

检查服务器操作系统运行状况,并检查可能存在的硬件故障。

请参见 Windows 产品文档中的任务:

重新启动 CA 服务

重新启动 CA 服务器

证书服务未联机

客户接口脱机

管理接口脱机

证书服务 RPC 接口脱机,无法颁发证书。

检查服务器操作系统运行状况,并检查可能存在的硬件故障。

请参见 Windows 产品文档中的任务:

重新启动 CA 服务

重新启动 CA 服务器

永久性服务器故障

需要进行还原的损坏或硬件故障。

请参见支持任务:

从备份中还原 CA

需要吊销孤立证书

如果从备份中还原 CA,数据库中将缺少自上次备份之后颁发的所有证书。无法通过正常方式吊销这些证书。

请参见支持任务:

吊销孤立证书

无法及时还原服务器,导致无法颁发 CRL 或证书

需要使用 CA 的密钥重新签署 CRL 或证书以延长其有效期。

请参见支持任务:

将 CA 证书和密钥对还原到临时计算机

重新签署 CRL 或证书以延长其有效期

最终实体证书被泄露

证书私钥丢失、公开或以其他方式泄露。

请参见操作任务:

吊销最终实体证书

颁发 CA 证书被泄露

CA 证书私钥丢失、公开或以其他方式泄露。

请参见支持任务:

吊销和替换颁发 CA 证书

中间 CA 证书被泄露

CA 证书私钥丢失、公开或以其他方式泄露。

请参见支持任务:

吊销和替换中间 CA 证书

根 CA 证书被泄露

CA 证书私钥丢失、公开或以其他方式泄露。

请参见支持任务:

吊销和替换根 CA 证书

还原存档的密钥

用户的私钥已丢失或损坏,需要从 CA 的密钥存档存储中进行还原。

请参见操作任务:

吊销存档的私钥

客户不信任根证书,或无法建立到受信任根证书的链

检查操作任务:

发布脱机根 CA 证书

将中间 CA 证书发布到 Web 服务器

最终实体证书不受信任,无法进行域身份验证

请参见 Windows Server 2003 产品文档的“证书服务”部分中的“疑难解答”主题。

客户无法使用 Web 注册页面进行注册

要获得有关使用 Web 注册页面的高级方案的帮助,请参见文章 Configuring and Troubleshooting Windows 2000(Windows 2000 配置和疑难解答)和 Windows Server 2003 Certificate Services Web Enrollment(Windows Server 2003 证书服务 Web 注册)。

支持任务

这一节包含某些 PKI 支持任务的详细信息,在其他资料中都没有全面地介绍这些任务。

从备份中还原 CA

如果由于服务器软件或硬件损坏而无法启动 CA,则需要从备份中还原服务器和密钥材料。这是指还原系统状态备份,而且可能需要重新安装 Windows。

频率

根据需要

安全要求

具有 CA 的本地 Administrators 的成员身份(如果只执行还原操作,则需要具有 CA Backup Operators 的成员身份)

任务详细信息

执行下列步骤从备份中还原 CA。

注意:如果使用的是 HSM,此过程可能不会按描述的方式工作。按照 HSM 供应商的说明进行备份和还原操作,并且妥善保管好密钥材料和访问密钥。

从备份中还原 CA

1.

需要将操作系统恢复到可以再次运行证书服务的那一点。这可能意味着需要重新安装 Windows。确保应用了当前可用的所有 Service Pack 和安全更新。安全设置和其他软件配置将在系统状态还原期间进行恢复。

警告:如果 CA 数据库和日志未存储在系统驱动器中,则即使操作系统无法恢复,这些数据仍是完好无损的。在重新安装 Windows 时,不要重新分区或重新格式化计算机的其他驱动器,这样您就可以恢复在上次备份之后创建的数据。

2.

如果可能,应保留 CA 数据库和 CA 日志。在还原系统状态备份之前,应对这些文件夹中的文件进行备份。数据库和日志可能不会受到系统故障的影响。这些日志包含重新运行 CA 上的某些事务(从上次备份到服务器发生故障这段时间内的所有事务)所需的信息。但是,还原系统状态备份可能会覆盖这些日志和现有的数据库,因此应在开始系统还原之前对其进行备份。如果这些文件仍然完好无损,则可以尝试在步骤 3 之后复制它们以覆盖 CA 文件,然后重新启动系统。如果由于数据库损坏导致此方法无效,可再次运行系统状态还原,然后继续执行步骤 4。

3.

插入最新的 CA 备份的备份媒体,然后还原服务器的系统状态。

4.

还原操作完成后,重新启动服务器并验证它是否按预期的方式运行。

5.

如果您有 CA 的差异备份(仅对联机 CA),您现在可以还原最新的差异备份文件。(如果磁盘没有损坏,则最新的差异备份文件可能仍位于 C:\CABackup 文件夹中。)在将差异备份文件复制到服务器后(创建一个文件夹,如 C:\CARestore,并将备份文件从备份媒体复制到此文件夹中),可以将这些差异日志还原到 CA 数据库。在命令行提示符下运行下列命令,并将路径 C:\CARestore 替换为包含恢复的差异备份文件的路径。

Certutil –restore C:\CARestore

将 CA 证书和密钥对还原到临时计算机

如果无法及时还原失败的 CA,致使 CA 无法颁发新的 CRL(或续订关键证书),您需要在一台临时计算机上安装 CA 证书和密钥。在这台计算机上,您可以使用它们来重新进行签署,并延长由失败的 CA 所颁发的现有 CRL 或证书的有效期。

注意:如果使用的是 HSM,此过程可能不会按预期方式工作。按照 HSM 供应商的说明进行备份和还原操作,并且妥善保管好密钥材料和访问密钥。

频率

根据需要

安全要求

具有临时计算机上的本地 Administrators 的成员身份

任务详细信息

此任务描述如何将 CA 证书和私钥还原到一台临时计算机。

重要信息:尽管这台计算机安装了 CA 密钥,但应采取与 CA 相同的安全预防措施。如果要还原脱机 CA 的密钥,应确保该计算机处于脱机状态。在完成此任务后,可以考虑重新格式化计算机磁盘以删除密钥数据。

将 CA 密钥和证书还原到一台临时计算机

1.

确保该计算机已与网络断开连接。以本地 Administrators 的身份登录,然后创建一个本地用户帐户 CAKeySigner

2.

使用此帐户登录。

3.

插入包含要测试的 CA 密钥备份的磁盘。

4.

使用 Windows 资源管理器导航到 .P12 密钥文件,然后双击该文件以打开证书导入向导

5.

在出现提示时输入密码,不要选择复选框以给密钥提供较高的保护级别或使其可以进行导出。

6.

选择“个人存储区”作为 CA 密钥的还原位置。

7.

打开“证书”MMC,并浏览到“个人存储区”。找到还原的 CA 的 CA 证书,然后打开该证书,检查其中是否包含相应的私钥。

现在,您就可以执行还原的 CA 密钥所需的任何重新签署任务。请参见“重新签署 CRL 或证书以延长其有效期”。完成后,使用下列过程从计算机中清除密钥。(如果使用的是 HSM,则无需执行此操作。)

将密钥从系统中清除

1.

以本地 Administrators 成员的身份登录,然后使用“我的电脑”中的“高级属性”删除 CAKeySigner 帐户的用户配置文件。

2.

删除 CAKeySigner 帐户。

3.

通过运行以下命令,安全地清除未分配的磁盘区域,以便永久性地去除密钥的痕迹。

Cipher /W:%AllUsersProfile%

注意:可指定 %allusersprofile% 作为路径,确保 Cipher.exe 在存放用户配置文件的驱动器上执行。此命令清除整个驱动器,而不是只清除指定的路径。

重新签署 CRL 或证书以延长其有效期

如果由于服务器的某种故障导致 CA 不可用,您可以通过重新签署 CRL 或证书文件来延长 CRL 或证书的有效期。为使服务或应用程序能够继续工作,您可能必须执行此操作。

频率

根据需要

安全要求

在 CA 密钥还原期间创建的临时帐户

任务详细信息

重新签署证书或 CRL 将会延长其有效期。默认情况下,将使用现有的有效期,而有效期从签署日期重新算起(例如,如果 CRL 的原有效期是一个月,则新有效期为从重新签署之日算起的一个月)。如果需要不同的有效期,可在 certutil 命令中进行指定。

重新签署 CRL 或证书

1.

获取一个要重新签署的 CRL 或证书的副本。

2.

登录到还原 CA 密钥和证书(它们最初用于签署 CRL 或证书)时所用的计算机。(请参见“将 CA 证书和密钥对还原到临时计算机”。)使用在此过程中创建的帐户登录。

3.

运行下列命令,并将 OldFile.ext 替换为 CRL 或证书文件的名称,而将 NewFile.ext 替换为所需的输出名称。

Certutil -sign OldFile.ext NewFile.ext

4.

在提示签署文件所用的证书时,请选择 CA 证书。

如果是 CRL,则现在必须将其发布到 CDP。(请参见“操作 PKI”中有关发布 CRL 的过程。)也需要将 CA 证书发布到目录、Web 服务器以及可能的中间 CA。请参见“续订 CA 证书”,了解需要将每个 CA 证书发布到什么地方。

吊销孤立证书

在出现某种服务器故障后,在从备份中还原 CA 时,证书数据库中可能没有自上次备份到发生故障这段时期内颁发的证书。这些证书就是所谓的“孤立”证书。在从备份还原后,如果 CA 日志损坏而且无法为 CA 数据库重新运行这些日志,则可能会出现这种情况。如果出现这种情况,将无法使用常规过程来吊销其中的任何“孤立”证书。

频率

根据需要

安全要求

具有 Cert Managers 的成员身份

任务详细信息

要吊销孤立证书,必须获取一个要吊销的证书的副本,或者获取该证书的序列号。

吊销孤立证书

1.

以 Cert Managers 成员的身份登录到颁发了要吊销证书的 CA。

2.

如果无法获取证书副本,可运行下列命令创建一个虚拟证书,并将其保存为 CertToRevoke.cer。将 SerialNumber 替换为要吊销的证书的序列号。

Certutil -sign SerialNumber CertToRevoke.cer

3.

在出现提示时,选择当前 CA 证书来签署虚拟证书。

4.

在创建了虚拟证书后(或者如果能够获取一个要吊销的真实证书的副本),您需要将其导入到 CA 数据库中。运行下列命令,将证书导入到证书数据库中。CertToRevoke 是要吊销的实际证书的副本,或者是在先前步骤中创建的虚拟证书。

Certutil -importcert CertToRevoke.cer

5.

按照标准过程吊销证书。(请参见“吊销最终实体证书”。)

重要信息:certutil 存在一个问题,在 Windows Server 2003 Service Pack 1 之前的版本中创建虚拟证书时,它导致创建操作失败。预计在后续版本中将修复此功能,因此将这一过程包含在本文中。同时,如果您找不到原证书的副本,一种备选方法是使用现有的证书,然后使用二进制编辑器将其序列号替换为要吊销的证书的序列号。可使用下列语法,对修改后的该证书重新进行签署。

Certutil -sign ModifiedCert.cer CertToRevoke.cer

然后,可使用步骤 4 将新创建的证书导入到数据库中。

吊销和替换颁发 CA 证书

如果 CA 私钥以某种方式被泄露(或者怀疑被泄露),请吊销 CA 证书,并使用新的密钥对颁发新的 CA 证书。

警告:吊销 CA 可能是极具破坏力的事件,它使该 CA 及其从属 CA 颁发的所有证书均失效。然而,通过遵循仔细规划的过程,有助于最大限度地减少造成的破坏。

频率

根据需要

安全要求

具有颁发 CA 及其父(中间)CA 的 Cert Managers 组的成员身份。要续订颁发 CA 证书,您需要具有该 CA 的本地 Administrators 组的成员身份。

任务详细信息

由于中间 CA 具有很长的 CRL 发布期,所以只吊销颁发 CA 证书和发布新的 CRL,也会导致在吊销过程开始和证书用户收到该吊销通知之间有较长时间的延迟。为了确保尽早拒绝先前由已泄露的颁发 CA 颁发的所有证书,也可以单独吊销此 CA 颁发的所有证书。

重要信息:使用吊销 CA 颁发的证书的所有用户必须使用此过程,重新注册新的证书。

吊销颁发 CA 证书及其颁发的证书

1.

以 Cert Managers 成员的身份登录到颁发 CA,然后打开“证书颁发机构”MMC。

2.

选择“颁发的证书”文件夹中的所有证书,然后在“所有任务”菜单中,单击“吊销证书”。选择“CA 泄露”作为原因代码。如果颁发的证书很多,则这可能是一项非常耗时的任务。

3.

从 MMC“吊销的证书”文件夹的属性中,增加“CRL 发布间隔”以与 CA 证书剩余的有效期相匹配。这可确保它一定比 CA 颁发的所有证书的剩余有效期长。如果选中了“发布增量 CRL”复选框,请将其清除。

4.

在“吊销的证书”文件夹的“所有任务”菜单中,单击“发布”,然后单击“新的 CRL”。

5.

以 Cert Managers 成员的身份登录到父 CA,然后打开“证书颁发机构”MMC。

6.

在“颁发的证书”文件夹中找到要吊销的颁发 CA 证书,然后在“所有任务”菜单中单击“吊销证书”。选择“密钥泄露”作为原因代码。

7.

遵循“将脱机 CA 的 CRL 发布到 Web 服务器”操作过程以发布中间 CA CRL。

8.

返回到颁发 CA,并遵循“续订 CA 证书”操作过程。

证书用户现在可以使用续订的颁发 CA 重新注册。自动注册的证书将会自动进行注册。

吊销和替换中间 CA 证书

如果 CA 私钥以某种方式被泄露(或者怀疑被泄露),请吊销 CA 证书,并使用新的密钥对颁发新的 CA 证书。

警告:吊销 CA 可能是极具破坏力的事件,它使该 CA 及其从属 CA 颁发的所有证书均失效。然而,通过遵循仔细规划的过程,有助于最大限度地减少造成的破坏。

频率

根据需要

安全要求

具有中间 CA 及其父(根)CA 的 Cert Managers 组的成员身份。要续订中间 CA 证书,您需要具有该 CA 的本地 Administrators 组的成员身份。

任务详细信息

由于根 CA 具有很长的 CRL 发布期,所以只吊销中间 CA 证书和发布新的 CRL,也会导致在吊销过程开始和证书用户收到该吊销通知之间有较长时间的延迟。为了确保尽早拒绝先前由已泄露 CA 的从属 CA 所颁发的所有证书,也可以单独吊销由从属 CA 颁发的全部证书。

重要信息:使用吊销 CA 颁发的证书的所有用户必须使用此过程,重新注册新的证书。

吊销中间 CA 证书及其颁发的证书

1.

标识从属于中间 CA 的所有颁发 CA。使用“吊销和替换颁发 CA 证书”过程吊销这些 CA,但不要续订从属 CA 的证书,也不要重新颁发中间 CA CRL。

2.

以 Cert Managers 成员的身份登录到根(父)CA,然后打开“证书颁发机构”MMC。

3.

在“颁发的证书”文件夹中,找到要吊销的中间 CA 证书。在“所有任务”菜单中,单击“吊销证书”,然后选择“密钥泄露”作为原因代码。

4.

遵循“将脱机 CA 的 CRL 发布到 Web 服务器”操作过程以发布根 CA CRL。

5.

返回到中间 CA,并遵循“续订 CA 证书”操作过程续订其证书。

6.

返回到每个颁发 CA,并遵循“续订 CA 证书”操作过程续订其证书。

证书用户现在可以使用续订的颁发 CA 重新注册。自动注册的证书将会自动进行注册。

吊销和替换根 CA 证书

如果根 CA 的私钥以某种方式被泄露(或者怀疑被泄露),您必须从其信任点删除 CA 证书,然后吊销它及其所有从属 CA 颁发的全部证书。您必须使用新密钥续订根 CA 证书及其从属 CA 的所有证书,然后将它们发布到 Active Directory。

警告:吊销根 CA 可能是极具破坏力的事件,它使该 CA 及其所有从属 CA 颁发的所有证书均失效。然而,通过遵循仔细规划的过程,有助于最大限度地减少造成的破坏。

严格来说,无法以这种方式吊销根 CA 证书。通常,就像此时的情况一样,根 CA 证书并不包含 CDP,更为重要的是,CA 证实其自身的吊销是没有意义的。它必须使用同一证书的泄露密钥来签署包含其自身吊销证书的 CRL。

频率

根据需要

安全要求

具有根 CA 的 Cert Managers 组的成员身份。要续订根 CA 证书,您需要具有该 CA 的本地 Administrators 组的成员身份。

任务详细信息

注意:在完成此过程后,所有证书用户必须重新注册新证书。

吊销颁发 CA 证书

1.

标识从属于此根 CA 的所有中间 CA。使用“吊销和替换中间 CA 证书”过程和“吊销和替换颁发 CA 证书”过程吊销这些 CA 及其从属 CA,但不要续订这些 CA 的证书,也不要重新颁发根 CA CRL。

2.

以 Cert Managers 成员的身份登录到根 CA,然后打开“证书颁发机构”MMC。

3.

选择“颁发的证书”文件夹中的所有证书。在“所有任务”菜单中,单击“吊销证书”,然后选择“CA 泄露”作为原因代码。

4.

增加“CRL 发布间隔”以与 CA 证书的剩余有效期匹配。这可确保它一定比 CA 颁发的所有证书的剩余有效期长。

5.

如果选中了“发布增量 CRL”复选框,请将其清除。

6.

遵循“将脱机 CA 的 CRL 发布到 Web 服务器”操作过程以发布根 CA CRL。

7.

遵循“续订 CA 证书”操作过程。

8.

返回到每个中间 CA,并遵循“续订 CA 证书”操作过程续订其证书。

9.

返回到每个颁发 CA,并遵循“续订 CA 证书”操作过程续订其证书。

证书用户现在可以使用新的 CA 重新注册。自动注册的证书将会自动进行注册。

返回页首返回页首

摘要

管理 Windows Server 2003 PKI 中描述了如何建立并运行 Windows Server 2003 PKI 的操作环境。该文章的第一部分阐述了 PKI 操作框架的规划和部署,如下列章节所述:

规划资源以管理 Windows PKI

配置 PKI 操作环境

第二部分的重点是阐述使 PKI 保持平稳运行所需的一些任务,如下列章节所述:

操作 PKI

容量规划和优化

管理更改和配置

常见支持任务

每个 IT 环境都是不同的;没有通用的指南可以完全涵盖每个组织的操作特点。但是,本文可以作为一个坚实的基础,您可以基于它来量身定做自己的 PKI 操作手册。

使用本文作为一个起点,在部署和增强您的 PKI 时对其进行修改。您需要针对组织中使用 PKI 的特定情况,添加一些操作和支持过程。您可能还需要将某些手动步骤编制成脚本来简化本文中的过程。最重要的是,要注意这些过程是否符合 IT 组织的做法和文化,并随时准备修改它们以达到更好的效果。如果这些操作符合 IT 组织的做法和文化,它们就会收到很好的效果,当然您的 PKI 也会如此。

返回页首返回页首

相关链接

请参见下列资源以了解更多信息。

Best Practices for Implementing a Microsoft Windows Server 2003 Public Key Infrastructure(Microsoft Windows Server 2003 公钥结构的最佳实现方法),网址为:
http://www.microsoft.com/technet/prodtechnol/windowsserver2003/technologies/security/ws3pkibp.mspx

Microsoft Systems Architecture version 2.0 Implementation Kit,网址为:
http://www.microsoft.com/resources/documentation/msa/2/all/solution/en-us/msa20ik/vmhtm1.mspx

Microsoft Systems Architecture 2.0 Build Guide(Microsoft Systems Architecture 2.0 建立指南),网址为:
http://www.microsoft.com/resources/documentation/msa/2/all/solution/en-us/msa20ik/vmhtm229.mspx

MSA 2.0 证书服务规划章节,网址为:
http://www.microsoft.com/resources/documentation/msa/2/all/solution/en-us/msa20ik/vmhtm97.mspx

MSA 2.0 证书服务建立章节,网址为:
http://www.microsoft.com/resources/documentation/msa/2/all/solution/en-us/msa20ik/vmhtm229.mspx

Microsoft 操作框架过程模型和团队模型,网址为:
http://www.microsoft.com/technet/itsolutions/techguide/mof/mofpm.mspxhttp://www.microsoft.com/technet/itsolutions/techguide/mof/moftml.mspx

Windows Server 2003 PKI Operations Guide,网址为:
http://www.microsoft.com/technet/prodtechnol/windowsserver2003/technologies/security/ws03pkog.mspx

最新版本的 Common Criteria Protection Profile for Certificate Issuing and Management Components(证书颁发和管理组件的通用标准保护配置文件),网址为:
http://niap.nist.gov/cc-scheme/pp/PP_CIMCPP_SL1-4_V1.0.pdf

Key Archival and Management in Windows Server 2003,网址为:
http://www.microsoft.com/technet/prodtechnol/windowsserver2003/technologies/security/kyacws03.mspx

Implementing and Administering Certificate Templates in Windows Server 2003(在 Windows Server 2003 中实现和管理证书模板),网址为:
http://www.microsoft.com/technet/prodtechnol/windowsserver2003/technologies/security/ws03crtm.mspx

有关 CRL 发布问题的详细信息,请参见 Troubleshooting Certificate Status and Revocation,网址为:
http://www.microsoft.com/technet/prodtechnol/WinXPPro/support/tshtcrl.mspx

有关 Certutil 疑难解答的说明,请参见 Using Certutil.exe to Manage and Troubleshoot Certificate Services(使用Certutil.exe 来管理证书服务并解决相关问题),网址为:
http://www.microsoft.com/windows2000/techinfo/administration/security/certutil.asp

有关自动注册的说明及疑难解答方面的权威指南,请参见 Certificate Autoenrollment in Windows XP,网址为:
http://www.microsoft.com/WindowsXP/pro/techinfo/administration/autoenroll/default.asp

有关使用 Web 注册页面的高级方案的详细信息,请参见 Configuring and Troubleshooting Windows 2000 and Windows Server 2003 Certificate Services Web Enrollment(Windows 2000 和 Windows Server 2003 证书服务 Web 注册的配置及疑难解答),网址为:http://www.microsoft.com/technet/prodtechnol/windowsserver2003/technologies/security/webenroll.mspx

从 Technet 脚本中心下载 CAMonitor.vbs,网址为:
http://www.microsoft.com/technet/community/scriptcenter/default.mspx

有关证书服务容量限制及相关性能计数器的详细信息,请参见 Microsoft 知识库文章 Q146005,网址为:
http://support.microsoft.com/default.aspx?scid=146005

Microsoft Solution for Securing Wireless LANs — A Windows Server 2003 Certificate Services Solution(Microsoft 安全无线 LAN 解决方案 - Windows Server 2003 证书服务解决方案),网址为:
http://go.microsoft.com/fwlink/?LinkId=14843

有关 MOM 部署的信息,请参见 Microsoft Operations Manager 2000 SP1 Deployment Guide,网址为:
http://www.microsoft.com/resources/documentation/mom/2000sp1/all/deployguide/en-us/10_d0wu1.mspx

有关附加操作任务的详细信息,请参见 Windows Server 2003 证书服务产品文档,网址为:
http://www.microsoft.com/technet/prodtechnol/windowsserver2003/proddocs/entserver/sag_CS_procs_admin.mspx

Microsoft 安全修补程序管理解决方案加速器,网址为:
http://go.microsoft.com/fwlink/?LinkId=16284

有关获取和使用组策略管理控制台的详细信息,请参见:
http://www.microsoft.com/windowsserver2003/gpmc/default.mspx

有关 Active Directory 域功能级别的描述,请参见 Windows Server 2003 产品文档中的“域和林的功能”,网址为:http://www.microsoft.com/resources/documentation/WindowsServ/2003/enterprise/proddocs/en-us/sag_levels.asp

要获取 PKI 运行状况工具 (PKIView.msc) 和密钥恢复工具 (krt.exe),请下载 Windows Server 2003 Resource Kit 工具,网址为:
http://www.microsoft.com/downloads/details.aspx?FamilyID=9d467a69-57ff-4ae7-96ee-b18c4790cffd&DisplayLang=en

有关 Windows Server 2003 的最新信息,请参见 Windows Server 2003 Web 站点,网址为:
http://www.microsoft.com/windowsserver2003

有关 Microsoft Official Curriculum 培训课程的详细信息,请参见http://www.microsoft.com/learning/training/default.asp

返回页首返回页首

附录 A - PKI 设计概述

本文基于文章 Microsoft System Architecture version 2.0 Implementation Kit(Microsoft System Architecture 版本 2.0 实现工具包)和 Best Practices for Implementing a Microsoft Windows Server 2003 Public Key Infrastructure 中描述的 PKI。PKI 设计基于虚构公司 Contoso。

在此只对 Contoso 方案进行简短描述。有关 Contoso PKI 设计和创建的详细描述,请参见这些文档。下一节将列出实现特定的设置,在本文的示例中将使用这些设置。

Contoso PKI 设计

Contoso 是一家国际化的公司,它已部署了 Active Directory 和 Windows Server 2003 PKI。Contoso 拥有各种类型的客户,他们运行的是 Windows 2000 系列产品或 Windows XP Professional。它使用多种充分利用 Windows Server 2003 PKI 的集成应用程序,包括基于安全/多用途 Internet 邮件扩展 (S/MIME) 的电子邮件安全性、EFS、L2TP/IPsec VPN 连接、802.1X 无线访问以及启用安全套接字层 (SSL) 的 Web 服务器。Contoso Active Directory 林具有多个域,并在 Windows Server 2003 林功能模式下运行。每个域在 Windows Server 2003 域功能模式下运行。

Contoso 使用一个三层的 PKI 拓扑结构,以最好地满足其安全需求。本文中的操作指南就是以此拓扑结构为模型。但是,对于更简单的两层结构而言,这些操作几乎完全相同,因此本文对很多组织都非常有用。

图 5 阐述了 Contoso 公司的证书服务结构。

图 5:Contoso PKI 设计

图 5:Contoso PKI 设计

Contoso 独立根 CA 从不连接到网络上,它始终处于脱机状态,因此是物理安全的。根 CA 将为层次结构中的中间 CA 颁发和吊销证书。CA 证书和 CRL 是手动发布的,并通过 IIS Web 服务器上的 HTTP 分发点提供。

中间 CA 是物理安全的,它通过脱机方式进行操作,这一点与根 CA 类似。图 5 中只显示了一个中间 CA,但在更复杂的层次结构中可能使用其他的中间 CA。根和中间 CA 可以是 Windows Server 2003 Standard Edition 或 Enterprise Edition。

颁发 CA 负责最终实体的证书注册,它们均作为企业 CA 进行安装。这些 CA 服务器都是联机的,它们可以随时处理服务请求。颁发 CA 是 Windows Server 2003 Enterprise Edition。

本文并不介绍有关 HSM 管理的内容,因为该过程随供应商的不同而变化非常大。但是,我们预计层次结构中的所有 CA 都将配备 HSM。

Active Directory

Active Directory 可用于多种功能。

发布企业 PKI 信任信息(受信任的根 CA、交叉证书以及中间 CA)

存储企业 PKI 配置信息(例如,证书模板)

发布颁发 CA 的 CRL

作为注册机构,授权根据组成员和基于目录的访问控制列表 (ACL) 来颁发证书

发布最终实体证书(可选)

IIS Web 服务器

IIS 用于发布 AIA 信息(链建立期间所需的中间 CA 证书)和 CRL。Web 服务器也是发布证书实施细则(如果需要)的最佳位置。根据证书客户端所处位置的不同,您可能需要一台面向 Internet 的服务器或一台内部 Web 服务器来发布 PKI 信息。

与 MSA 指南的不同之处

尽管本文中的指南均基于 MSA 2.0 中所描述的参考 PKI,但它们还是有一些细微差异(主要是在美学方面)。最显著的功能差异是,颁发 CA 证书具有 4 年的有效期。MSA 颁发 CA 的有效期为 2 年,它将这些 CA 所颁发的证书的有效期限制为只有一年。由于在某些方案中证书续订的费用非常昂贵(例如,智能卡续订),因此客户通常更希望采用 2 年或更长的续订期。

本文中介绍的其他细微差异有:

服务器名称采用更简化的约定(例如,RT-CA-01 表示根 CA 1,SA-CA-01 表示独立 CA 1,EN-CA-01 表示企业 CA 1)。

CA 公用名称包括了层次结构角色(根、中间、颁发)以便于区别,但仍保留使用数字方案的 MSA 约定(1 = 根,11 = 根 1 的第二层 CA 1,123 = 根 CA 1的第二层 CA 2 的第三层 CA 3)。

安全组名称使用一种易于阅读的扩展形式(例如,采用 Enterprise PKI Publishers 的形式,而不是 EntPKIPublishers01)。

详细的 PKI 配置

下列各表包含 Contoso PKI 使用的实现参数。本文中的过程将使用这些值。这些参数分别放在两个表中。表 23 中列出了安装特定的值。当这些值在过程中出现时,您需要将其替换为贵组织的详细资料。表 24 中列出了解决方案特定的值。这些值基于 MSA 和最佳做法方案中推荐的配置。只有在您的实现中使用不同的值时,才需要对这些值进行更改。这些表只列出了与本文中的过程相关的值,它们只是 PKI 实现的完整参数列表的一个子集。要获得完整列表,请参见“相关链接”中的 Microsoft System Architecture 2.0 Build Guide(Microsoft System Architecture 2.0 建立指南)的“Certificate Services”(证书服务)一章中的附录 14.16。

表 23:组织特定的配置项

配置项设置

Active Directory 林根域的域名系统 (DNS) 名称

contoso.com

林根的 DN

DC=contoso, DC=com

根 CA 名称

服务器名称:RT-CA-01

公用名称:Contoso 根 CA 1

中间 CA 名称

服务器名称:SA-CA-01

公用名称:Contoso 中间 CA 11

颁发 CA 1 名称

服务器名称:EN-CA-01

公用名称:Contoso 颁发 CA 111

颁发 CA 1 名称

服务器名称:EN-CA-02

公用名称:Contoso 颁发 CA 112

用于发布 CA 证书和吊销信息的完全限定的 Web 服务器主机名称

pki.contoso.com

表 24:常规配置项

配置项设置
管理安全组 - 域 CA 

安全组 - 企业公钥服务的系统管理员

组名称:Enterprise PKI Admins

组类型:通用

安全组 - 允许向企业配置容器发布 CRL 和 CA 证书的帐户

组名称:Enterprise PKI Publishers

组类型:通用

安全组 - 配置和维护 CA 的管理组;还控制分配所有其他 CA 角色和续订 CA 证书的功能

组名称:CA Admins

组类型:通用

批准证书注册和吊销申请的管理组;一个 CA Officer 角色

组名称:Cert Managers

组类型:通用

管理 CA 审核和安全日志的管理组

组名称:CA Auditors

组类型:通用

管理 CA 备份的管理组

组名称:CA Backup Operators

组类型:通用

管理安全组 - 独立 CA 

安全组 - 配置和维护 CA 的管理组;还控制分配所有其他 CA 角色和续订 CA 证书的功能

组名称:CA Admins

组类型:本地

批准证书注册和吊销申请的管理组;一个 CA Officer 角色

组名称:Cert Managers

组类型:本地

管理 CA 审核和安全日志的管理组

组名称:CA Auditors

组类型:本地

管理 CA 备份的管理组

组名称:CA Backup Operators

组类型:本地

CA 文件布局 

存储证书服务申请文件的驱动器和路径

C:\CAConfig

存储根和中间 CA 的证书服务数据库和日志的驱动器和路径

%systemroot%\System32\CertLog

存储颁发 CA 的证书服务数据库日志的驱动器和路径

D:\CertLog

存储颁发 CA 的证书服务数据库的驱动器和路径

E:\CertLog

Web 服务器配置 

用来发布 CA 证书和 CRL 信息的 IIS 虚拟目录的名称

pki

IIS 服务器上映射到虚拟目录的 NTFS 文件夹

C:\WWWPKIpub

IIS 服务器上文件夹的共享名称

WWWPKIpub

返回页首返回页首

附录 B - 通用标准管理角色

证书颁发和管理组件的通用标准 (CC) 保护配置文件(相关链接)在最高安全级别定义了 4 种重要角色:Administrator、Officer、Operator 和 Auditor。这些 CC 角色是在 Windows Server 2003 证书服务中实现的,可通过它们将角色强制分离,从而使一个帐户无法被配置为多个角色。有关 Windows Server 2003 证书服务角色和功能的详细信息,请参见 Windows Server 2003 Operations Guide(Windows Server 2003 操作指南)中的“Windows Server 2003 PKI and Role-Based Administration”(Windows Server 2003 PKI 和基于角色的管理)一节(相关链接)。

尽管如此,CC 角色有时还是无法提供足够强大的功能。CC 角色与 CA 级别的功能有关。但是,Windows 企业 CA 是在整个企业范围内的配置对象中存储配置信息。为此,Windows PKI 还需要整个企业范围内的管理角色来管理此信息。对于大型组织而言,它们通常都希望能够委派特定角色的部分职责。例如,它们可能希望允许个别应用程序所有者决定可以为该应用程序注册证书的人选,而不是将此责任委派给整个组织范围内的 Officer 或 Certificate Manager 角色。表 25 中列出了此扩展角色集的定义以及它们映射到 CC 角色的方式。

这些角色不可能精确地映射到您的 IT 组织中的各个工作角色。最有可能的情况是,这些个人将会填补其中的多个功能角色。而且,其中的某些角色可能由系统进程填补,而不是由个人填补,例如,运行 CA 的备份代理的帐户。

表 25:核心证书服务角色

CC 角色扩展的角色名称范围说明

Administrator

Enterprise Administrator

企业

负责安装企业 CA

Enterprise PKI Administrator

企业

负责总体 PKI;定义林中所有 CA 的证书类型、应用程序策略以及信任路径

(Enterprise Administrator 权限的子集)

Enterprise PKI Publisher

企业

负责将受信任的根证书、子 CA 证书以及 CRL 发布到目录中

(Enterprise PKI Administrator 权限的子集)

CA Administrator

CA

负责 CA 配置和 CA 中的角色分配;通常与 Enterprise PKI Admins 是一个人

可能由不同的 CA 管理员来负责不同的 CA(如果证书用法中明确指出)。

Administrator

CA

CA 服务器操作系统的管理员;负责整个服务器的配置(如 CA 安装);通常与 CA Admins 角色是同一个人

可能由不同的管理员来负责不同的 CA(如果证书用法中明确指出)。

Auditor

CA Auditor

CA

负责管理 CA 的审核日志及审核策略;定期对 CA 审核日志及 PKI 更改控制注册进行检查

Officer

Certificate Manager

CA

或者

CA 用户的子集

批准需要手动批准的证书申请和吊销证书

可能由多个 Certificate Manager 来负责不同 CA 的批准(如果证书用法中明确指出)。

注册机构

证书配置文件

Certificate Manager 角色的扩展;负责根据证书主题的 ID 验证来批准和签署证书申请

可以是一个人、一个 IT 过程或一个设备(如指纹扫描仪和数据库)

可以为不同的证书配置文件(模板)指定不同的注册机构,并且这些注册机构可以跨越多个 CA

密钥恢复代理

CA

保留该密钥以解密 CA 数据库中存档的私钥

应有两个或更多个 KRA。对于不同的 CA,它们可以是不相同的。

应用程序所有者

应用程序或证书类型

负责管理使用数字证书的应用程序(例如,电子邮件管理员);控制可以注册和不能注册特定证书类型的人员

Operator

CA Backup Operator(CC 角色)

CA

负责 CA 服务器的备份和恢复以及备份媒体的安全存放

操作支持

企业

职责包括:

监视 PKI 的操作状态,响应操作和安全警报

管理备份媒体

对从服务台反馈的问题提供第二层支持

将问题反馈给 CA Administrator 或其他第三层支持角色

服务台

企业

职责包括:

响应用户的问题并提供第一层支持

将问题反馈给操作支持人员

如果您在 CA 中使用 HSM,则还会为该组件定义特定的功能角色,如密钥卡控制和操作员卡持有者。此列表也未列出与 PKI 交互并提供支持的其他技术领域的相关功能角色,如操作控制台监视以及 Active Directory 管理。


返回页首返回页首