文章

Microsoft ADCS 安装与配置指南

介绍包含根 CA、下级签发 CA 和 CRL/AIA 发布的 Microsoft ADCS PKI 层级。应用前请核查安全设置。

指南 | ADCS | Microsoft CA
SaaS | Enterprise | Community Edition

安装和配置 Active Directory Certificate Services (ADCS)

本指南概述一种企业架构,包括根 CA、下级签发 CA 以及用于发布 CRL/AIA 的服务器。ADCS 安装涉及重要安全配置,具体步骤取决于网络拓扑和 Windows Server 版本。

重要安全警告:原文包含宽泛授权建议,还建议使用笔记本作为根 CA并删除默认模板。未经专业审查,请勿直接照此操作。生产环境应遵循 Microsoft 当前指南和组织安全政策,执行最小权限、保护私钥(例如使用 HSM),并在启用模板前逐项审核。不要向 `Everyone` 授予写权限,也不要在未经风险评估的情况下向不可信网络开放 CA。

架构与前提条件

  • 根 CA:使用专用 Windows Server 运行根 CA。尽可能分离服务器角色,以减少攻击面。
  • 签发 CA:加入域的服务器,用于签发证书;可分别部署在生产和灾难恢复站点。
  • CRL/AIA 发布:准备 DNS 和网络访问配置,以便 Web 服务器托管撤销列表和 CA 证书。
  • 权限:初始配置可能需要 Enterprise Admins 权限;仅在必要时间内使用高权限帐户,并遵循审批流程。
  • 网络:安装 ADCS 前配置静态 IP、DNS 和服务器名称。安装后更改 CA 名称较复杂。

阶段 1:在根 CA 上安装 AD CS 角色

在 Server Manager 中使用 Manage → Add Roles and Features,选择 Active Directory Certificate Services,并安装 Certification Authority 服务。安装前仔细核对所选组件。

阶段 2:配置根 CA

在 AD CS Configuration Wizard 中选择适当的部署类型。对于新的企业层级,原文描述的是 Enterprise CA 类型的 Root CA。创建新的私钥,并根据组织当前政策选择密码提供程序、密钥长度和哈希算法。原文提到 RSA 至少 2048 位并使用 SHA256;生产部署前请确认这些设置符合组织现行标准和密码算法生命周期要求。

为 CA 选择清晰且不应在安装后更改的名称。按批准的 PKI 策略设置有效期和数据库位置。核对设置后完成向导。

阶段 3:准备 CRL/AIA 发布

准备发布 CRL 和 CA 证书所需的服务器和路径。原文描述了共享文件夹和 IIS 站点,但权限必须严格限制:使用专用服务帐户,并且只授予所需权限。未经风险评估,避免宽泛写权限或匿名访问。

确认客户端能够解析并访问发布 URL。将发布方的写权限与客户端的读权限分开管理。

阶段 4:在 CA 上配置 CDP 和 AIA

在 Certification Authority 控制台 (`certsrv.msc`) 中打开 CA 属性及 Extensions 选项卡。

CRL Distribution Point (CDP)

配置客户端可访问的 HTTP 发布 URL,并选择发布 CRL 及将 CDP URL 加入已签发证书所需的选项。核实 `<CaName>`、`<CRLNameSuffix>` 和 `<DeltaCRLAllowed>` 变量,使 URL 与实际发布的文件名一致。

Authority Information Access (AIA)

配置客户端可通过 HTTP 获取 CA 证书的 URL,并将其添加到已签发证书的 AIA 扩展。核对 CA 服务器 DNS 名称、CA 名称和文件名。不要在客户端证书中发布本地 `file://` 路径。

修改扩展后,按照批准的流程重启 CA 服务并生成新的 CRL。

阶段 5:发布并测试 CRL/AIA

通过受控且可审计的流程,将 CRL 和 CA 证书发布或复制到 Web 服务器。从客户端测试 HTTP URL,确认文件可下载,并检查已签发证书是否包含预期的 AIA 和 CDP 扩展。建立每次 CRL 更新时的发布与监控流程。

阶段 6–9:安装下级 CA

  1. 在下级服务器上安装 Active Directory Certificate Services 角色和 Certification Authority 服务。
  2. 在 Configuration Wizard 中选择 Enterprise CA,然后选择 Subordinate CA。按照批准的参数创建新的私钥。
  3. 生成证书请求文件,并通过安全渠道发送到根 CA。
  4. 在根 CA 上按审批流程审核并批准请求。导出下级 CA 证书;必要时也导出根证书,格式为 Base-64 encoded X.509 (`.CER`)。
  5. 在下级服务器上安装签发的证书,启动 CA 服务,并将根证书导入本地计算机的 Trusted Root Certification Authorities 存储区。
  6. 签发证书前,验证证书链、CRL/AIA 发布和网络连接。

阶段 10:配置证书模板

证书模板定义签发证书的属性和用途。审查每个默认模板及其 ACL;不要未经区分地删除所有默认模板。只复制并定制所需模板,限制可注册者和可修改权限者,并在签发证书前测试配置。

验证与维护

  • 从客户端确认 CRL/AIA URL 可访问,并验证证书链。
  • 监控 CRL 到期和发布;记录续期和备份流程。
  • 定期审查 CA、模板、目录和服务帐户权限。
  • 测试灾难恢复,并保护 CA 私钥。

原文还包括将证书发布到 Active Directory、通过 Group Policy 分发证书以及创建模板的详细步骤。实施前请结合 Microsoft 当前文档和 PKI 专家建议核实这些操作。