欢迎光临韵绾网
详情描述

一、先决条件准备

系统要求

  • Windows Server 2025(已加入域)
  • 管理员权限
  • 静态IP地址
  • 域控制器已部署

DNS配置

  • 确保服务器能解析域控制器
  • 建议在域控制器上安装CA

二、安装AD CS角色

方法1:使用服务器管理器(GUI)

# 以管理员身份运行PowerShell
# 先安装AD CS角色
Install-WindowsFeature Adcs-Cert-Authority -IncludeManagementTools

# 或者一次性安装所有AD CS组件
Install-WindowsFeature AD-Certificate -IncludeAllSubFeature -IncludeManagementTools

方法2:使用服务器管理器图形界面

打开服务器管理器 点击"添加角色和功能" 选择"基于角色或基于功能的安装" 选择当前服务器 勾选"Active Directory Certificate Services" 添加所需的功能工具 点击"安装"

三、配置证书颁发机构(CA)

安装完成后配置CA:

# 配置企业根CA(推荐用于域环境)
Install-AdcsCertificationAuthority `
    -CACommonName "Contoso-Root-CA" `
    -CAType EnterpriseRootCA `
    -CryptoProviderName "RSA#Microsoft Software Key Storage Provider" `
    -KeyLength 2048 `
    -HashAlgorithmName SHA256 `
    -ValidityPeriod Years `
    -ValidityPeriodUnits 10 `
    -Force

# 如果要安装独立CA(非域环境)
Install-AdcsCertificationAuthority `
    -CACommonName "Standalone-Root-CA" `
    -CAType StandaloneRootCA `
    -Force

通过GUI配置:

在服务器管理器中,点击右上角的警告标志

选择"配置目标服务器上的Active Directory证书服务"

指定凭据(域管理员)

选择要配置的角色服务:

  • ✅ 证书颁发机构
  • ✅ 证书颁发机构Web注册(可选,用于Web申请)
  • ✅ 联机响应程序(可选)
  • ✅ 网络设备注册服务(可选)

设置类型

  • 企业CA(域环境推荐)
  • 独立CA(工作组环境)

CA类型

  • 根CA(首次安装)
  • 从属CA(已有根CA)

私钥配置

  • 创建新的私钥
  • 加密算法:RSA
  • 密钥长度:2048或4096
  • 哈希算法:SHA256或SHA384

CA名称

  • 通用名称:如 Contoso-Root-CA
  • 有效期:10年(推荐)

证书数据库位置

  • 默认:C:\Windows\System32\CertLog

四、颁发和管理证书

1. 创建证书模板

# 查看现有模板
Get-CATemplate | Format-List Name, DisplayName

# 复制现有模板创建新模板(通过GUI更简单)

通过GUI创建模板

运行 certsrv.msc 打开证书颁发机构控制台 右键"证书模板" → "管理" 右键现有模板 → "复制模板" 配置:
  • 常规:名称、有效期
  • 使用者名称:根据需求选择
  • 扩展:密钥用法、应用程序策略
  • 安全:设置哪些用户/组可以注册

2. 颁发证书

方法A:通过MMC控制台申请 运行 mmc 文件 → 添加/删除管理单元 添加"证书" → 选择"用户账户" 右键"个人" → 所有任务 → 申请新证书 选择证书模板 完成申请 方法B:使用certreq命令
# 创建.inf请求文件
$infContent = @"
[NewRequest]
Subject = "CN=webserver.contoso.com, OU=IT, O=Contoso, L=City, S=State, C=US"
KeyLength = 2048
KeySpec = 1
KeyUsage = 0xA0
MachineKeySet = True
Exportable = True
[RequestAttributes]
CertificateTemplate = WebServer
"@

$infContent | Out-File "C:\certrequest.inf"

# 生成请求
certreq -new "C:\certrequest.inf" "C:\certrequest.req"

# 提交请求(自动批准需要配置)
certreq -submit -config "CA-Server\Contoso-Root-CA" "C:\certrequest.req" "C:\certificate.cer"

# 安装证书
certreq -accept "C:\certificate.cer"
方法C:通过Web注册(如果安装了Web服务) 访问 https://<CA-Server>/certsrv 使用域账户登录 申请证书 → 选择模板 下载并安装证书

五、常用管理命令

# 查看CA信息
Get-CACrlDistributionPoint
Get-CAAuthorityInformationAccess

# 颁发和吊销证书
Get-CACertificate -RequestID 1  # 查看证书
Revoke-Certificate -RequestID 1 -Reason "KeyCompromise"  # 吊销证书

# 发布CRL
certutil -crl

# 备份CA
Backup-CARoleService -Path "D:\CA-Backup" -Password (ConvertTo-SecureString -String "Password123!" -AsPlainText -Force)

# 恢复CA
Restore-CARoleService -Path "D:\CA-Backup" -Password (ConvertTo-SecureString -String "Password123!" -AsPlainText -Force)

六、最佳实践建议

安全配置

# 禁用弱加密算法
certutil -setreg ca\csp\CNGHashAlgorithm SHA256

# 重启AD CS服务
Restart-Service certsvc

高可用性

  • 考虑部署多台从属CA
  • 使用负载均衡器分发Web注册流量

监控和维护

  • 定期备份CA数据库和私钥
  • 监控证书到期时间
  • 定期更新CRL发布点

证书模板管理

  • 根据最小权限原则分配模板权限
  • 为不同用途创建专用模板
  • 设置合理的有效期

七、故障排除

# 检查CA服务状态
Get-Service certsvc

# 查看CA事件日志
Get-WinEvent -LogName "Application" | Where-Object {$_.ProviderName -eq "Microsoft-Windows-CertificationAuthority"} | Select-Object -First 10

# 验证CA配置
certutil -ping
certutil -viewstore "CA"

八、自动化部署示例

# 完整的自动化安装脚本示例
$CACommonName = "Contoso-Root-CA"
$CAHostname = $env:COMPUTERNAME

# 安装角色
Install-WindowsFeature ADCS-Cert-Authority, ADCS-Web-Enrollment -IncludeManagementTools

# 配置企业根CA
Install-AdcsCertificationAuthority `
    -CACommonName $CACommonName `
    -CAType EnterpriseRootCA `
    -CryptoProviderName "RSA#Microsoft Software Key Storage Provider" `
    -KeyLength 4096 `
    -HashAlgorithmName SHA384 `
    -ValidityPeriod Years `
    -ValidityPeriodUnits 5 `
    -Force

# 配置CRL分发点
certutil -setreg CA\CRLPublicationURLs "1:C:\Windows\system32\CertSrv\CertEnroll\%3%8%9.crl\n10:ldap:///CN=%7%8,CN=%2,CN=CDP,CN=Public Key Services,CN=Services,%6%10\n2:http://$CAHostname/CA/certenroll/%3%8%9.crl"

# 配置AIACRL分发点
certutil -setreg CA\CACertPublicationURLs "1:C:\Windows\system32\CertSrv\CertEnroll\%1_%3%4.crt\n2:ldap:///CN=%7,CN=AIA,CN=Public Key Services,CN=Services,%6%11\n2:http://$CAHostname/CA/certenroll/%1_%3%4.crt"

# 重启服务
Restart-Service certsvc

这样你就可以在Windows Server 2025上成功部署AD CS并开始颁发证书了。根据实际需求调整配置参数。