PKI Trust Auditor - 用户指南

PKI Trust Auditor 用户指南:发现并审计 Microsoft ADCS 基础设施的安全状况。

目录

  1. 简介与概述
  2. 系统要求与安装
  3. 快速入门
  4. 审计控制参考
  5. 使用场景与示例
  6. 输出与报告
  7. 故障排除与常见问题
  8. 高级配置
  9. 安全注意事项
  10. 附录

简介与概述

什么是 PKI Trust Auditor?#

PKI Trust Auditor 是一款面向 Active Directory Certificate Services (ADCS) 基础设施的全面安全审计工具。它可自动发现、评估并报告 PKI 环境的安全状况。

主要功能

  • 自动发现 CA:自动发现 Active Directory 环境中的所有证书颁发机构。
  • 全面审计:执行连接、配置、模板、加密和运维审计。
  • 多格式报告:生成 JSON、CSV、Web 和控制台报告。
  • 交互式界面:易于使用的控制台菜单,输出带有颜色标记。
  • 参数驱动配置:通过 parameters.json 自定义审计设置。
  • 证据收集:为每个控制执行生成详细证据文件。
  • Web 应用程序:提供包含可视化内容的交互式 Web 报告。

目标用户

  • PKI 管理员:监控并维护证书颁发机构的运行状况。
  • 安全专业人员:评估 PKI 安全状况和合规性。
  • 合规审计人员:生成满足法规要求的证据。
  • IT 运维人员:排查 PKI 基础设施问题。

系统要求与安装

前提条件

  • .NET 9.0 或更高版本运行时。
  • 能连接 Active Directory 的 Windows 环境。
  • 具备适当权限的域用户帐户:
    • Active Directory 读取权限。
    • CA 服务器的 WMI 和 PowerShell remoting 权限。
    • Certificate Authority 管理权限。
  • 与 Certificate Authority 服务器的网络连接。

安装步骤

选项 1:使用可执行文件

# Run the application
PKI_Trust_Auditor.exe

所需权限

  • Active Directory:Configuration 容器的读取权限。
  • Certificate Authorities:
    • CA 服务器本地管理员权限(用于 WMI/PowerShell)。
    • CA Administrator 或 Certificate Manager 权限。
  • 网络:TCP 端口 135 (WMI)、5985/5986 (WinRM)。

快速入门

首次运行:交互模式

不带参数运行应用程序即可打开交互菜单:

PKI_Trust_Auditor.exe

主菜单提供以下彩色标记选项:

===============================================================================
================= PKI TRUST AUDITOR | https://securetron.net =================
Active Directory Certificate Authority Infrastructure & Security Auditing Tool
===============================================================================

Main Menu:
1. Run Full Audit
2. Generate Audit Summary - CLI
3. Executive Reporting - WebUI
4. Discover Certificate Authorities Only
5. Run Connectivity Tests Only
6. Run Configuration and Operational Audits Only
7. Run Cryptographic Audits Only
8. Run Template Audits Only
9. Exit

命令行选项

直接从命令行运行指定操作:

# Display help
PKI_Trust_Auditor.exe --help
 
# Run specific audit tests
PKI_Trust_Auditor.exe --tests config
PKI_Trust_Auditor.exe --tests crypto
PKI_Trust_Auditor.exe --tests templates
PKI_Trust_Auditor.exe --tests connectivity
PKI_Trust_Auditor.exe --tests full
 
# Launch web application
PKI_Trust_Auditor.exe --report
 
# Clear audit results cache
PKI_Trust_Auditor.exe --clear
 
# Display version information
PKI_Trust_Auditor.exe --version

参数配置

创建或修改 parameters.json,以自定义审计行为:

{
  "DomainOverride": "DC=yourdomain,DC=com",
  "CA-CRYPTO-001": 2048,
  "CA-CRYPTO-002": ["MD5", "SHA1", "DES", "RC4", "3DES"],
  "CA-TEMPLATE-001": true,
  "CA-OPS-002": ["10", "3", "5", "1"]
}

审计控制参考

连接测试

PKI-TEST-001:WMI/SMB 连接测试

  • 严重程度:Critical
  • 目的:测试与证书颁发机构的基本网络连接。
  • 方法:检查 WMI 服务连接和 SMB 文件共享。
  • 预期结果:成功连接到 CA 的 WMI/SMB。
  • 证据:连接方法和可达状态。
  • 建议:检查网络连接、防火墙规则和 WMI 服务状态。

PKI-TEST-002:PowerShell 连接测试

  • 严重程度:Critical
  • 目的:测试 PowerShell remoting 能力(WMI 失败时的备用方式)。
  • 方法:通过 WinRM 使用 PowerShell remoting。
  • 预期结果:成功远程连接到 CA。
  • 证据:连接方法和可达状态。
  • 建议:启用 PowerShell remoting 并检查 WinRM 配置。

PKI-TEST-003:用户权限验证

  • 严重程度:Critical
  • 目的:验证当前用户是否拥有适当权限。
  • 方法:检查用户权限和组成员身份。
  • 预期结果:用户具有所需的管理权限。
  • 证据:用户身份和权限评估结果。
  • 建议:使用适当的管理员凭据运行。

配置审计

CA-CONFIG-001:CA 注册表配置

  • 严重程度:High
  • 目的:获取完整的 CA 注册表配置。
  • 方法:通过 WMI/PowerShell 远程查询注册表。
  • 预期结果:成功获取完整 CA 注册表配置。
  • 证据:包含所有注册表值和设置的 JSON 文件。
  • 建议:检查注册表中的安全设置。

CA-CONFIG-002:CA 模板

  • 严重程度:High
  • 目的:发现并分析证书模板。
  • 方法:运行 certutil 命令并分析模板。
  • 预期结果:列出全部证书模板及其配置。
  • 证据:模板名称、设置和安全描述符。
  • 建议:审查模板安全性并删除不需要的模板。

CA-CONFIG-003:AIA 配置

  • 严重程度:High
  • 目的:分析 Authority Information Access 配置。
  • 方法:certutil -getreg CA\CSP\AIA。
  • 预期结果:AIA URL 和配置设置。
  • 证据:AIA URL 以及 AddToCertificateAia、AddToCertificateOcsp 标志。
  • 建议:确保 AIA URL 可访问且配置正确。

CA-CONFIG-004:CRL 分发点

  • 严重程度:High
  • 目的:检查 CRL Distribution Point 配置。
  • 方法:certutil -getreg CA\CSP\CRL。
  • 预期结果:CRL URL 和发布设置。
  • 证据:CRL URL、发布标志和增量 CRL 设置。
  • 建议:确认 CRL URL 可访问并已正确发布。

CA-CONFIG-005:CAPolicy.inf 配置

  • 严重程度:Medium
  • 目的:获取 CAPolicy.inf 文件配置。
  • 方法:检索并解析文件。
  • 预期结果:CAPolicy.inf 设置和策略。
  • 证据:CAPolicy.inf 内容和配置。
  • 建议:审查证书策略设置。

CA-CONFIG-006:PowerShell 模板导出

  • 严重程度:Medium
  • 目的:通过 PowerShell 导出详细的模板配置。
  • 方法:执行 PowerShell 脚本。
  • 预期结果:以 JSON 格式输出完整模板配置。
  • 证据:包含详细模板属性和设置的 JSON 文件。
  • 建议:用于详细模板分析和安全审查。

运维审计

CA-OPS-001:CertSvc 服务状态

  • 严重程度:High
  • 目的:检查 Certificate Services 服务状态。
  • 方法:通过 WMI/PowerShell 查询服务状态。
  • 预期结果:CertSvc 正在运行且状态正常。
  • 证据:服务状态、启动类型和运行状况。
  • 建议:确保 CertSvc 正在运行并设置为自动启动。

CA-OPS-002:CA 证书到期验证

  • 严重程度:High
  • 目的:验证 CA 证书到期日期。
  • 方法:获取证书并分析日期。
  • 预期结果:CA 证书符合配置的到期限制。
  • 证据:证书有效期、剩余时间和合规状态。
  • 建议:在到期前重新签发证书,或调整有效期。

CA-OPS-003:CA 证书 AIA 配置验证

  • 严重程度:High
  • 目的:验证 CA 证书中的 AIA 扩展。
  • 方法:分析证书并验证扩展。
  • 预期结果:CA 证书具有正确的 AIA 配置。
  • 证据:AIA 扩展是否存在、URL 和配置状态。
  • 建议:为 AIA 扩展配置适当的 URL。

CA-OPS-004:CA 证书 CDP 配置验证

  • 严重程度:High
  • 目的:验证 CA 证书中的 CDP 扩展。
  • 方法:分析证书并验证扩展。
  • 预期结果:CA 证书具有正确的 CDP 配置。
  • 证据:CDP 扩展是否存在、URL 和配置状态。
  • 建议:为 CDP 扩展配置适当的 URL。

CA-OPS-005:AIA URL 可达性

  • 严重程度:Medium
  • 目的:测试基于 HTTP 的 AIA URL 是否可访问。
  • 方法:测试与 AIA URL 的 HTTP 连接。
  • 预期结果:所有 AddToCertificateAia=TRUE 的 HTTP AIA URL 均可访问。
  • 证据:URL 可达状态和 HTTP 响应代码。
  • 建议:修复 HTTP AIA URL 的可访问性问题。

CA-OPS-006:CDP/CRL URL 可达性

  • 严重程度:Medium
  • 目的:测试基于 HTTP 的 CDP/CRL URL 是否可访问。
  • 方法:测试与 CDP/CRL URL 的 HTTP 连接。
  • 预期结果:所有具有相应标志的 HTTP CDP/CRL URL 均可访问。
  • 证据:URL 可达状态、HTTP 响应代码和标志分析。
  • 建议:修复 HTTP CDP/CRL URL 的可访问性问题。

CA-OPS-007:AIA 证书下载和到期验证

  • 严重程度:Medium
  • 目的:下载 AIA 证书并验证到期日期。
  • 方法:下载证书并分析到期时间。
  • 预期结果:下载的 AIA 证书具有有效的到期日期。
  • 证据:证书详情、下载状态和到期验证结果。
  • 建议:更新已过期的 AIA 证书。

CA-OPS-008:CRL 下载和验证

  • 严重程度:Medium
  • 目的:下载 CRL 文件并验证其可访问性。
  • 方法:下载 CRL 并进行基本验证。
  • 预期结果:CRL 文件可下载且有效。
  • 证据:CRL 下载状态、文件大小和基本验证结果。
  • 建议:确保 CRL 已发布并可访问。

CA-OPS-009:CA 审计筛选器配置

  • 严重程度:Critical
  • 目的:验证 CA 审计筛选器配置。
  • 方法:分析注册表并验证位掩码。
  • 预期结果:AuditFilter 设置为 127,以启用完整审计。
  • 证据:当前 AuditFilter 值和缺少的审计类别。
  • 建议:将 AuditFilter 设置为 127,以启用所有审计类别。

模板审计

CA-TEMPLATE-001:CA 模板限制验证

  • 严重程度:Critical
  • 目的:验证 CA 模板限制 (CT_FLAG_IS_CA)。
  • 方法:分析模板标志并验证一致性。
  • 预期结果:非 CA 模板不应位于 ROOT 或 Intermediate CA 上。
  • 证据:模板分析、CT_FLAG_IS_CA 状态和合规评估。
  • 建议:从 CA 服务器移除非 CA 模板,或确保标志使用一致。

CA-TEMPLATE-002:模板密钥大小验证

  • 严重程度:High
  • 目的:验证证书模板的最小密钥大小。
  • 方法:将模板密钥大小与配置阈值进行比较。
  • 预期结果:所有模板均满足最小密钥大小要求。
  • 证据:模板密钥大小、合规状态和不合规模板。
  • 建议:更新模板以满足最小密钥大小要求。

CA-TEMPLATE-003:模板架构版本验证

  • 严重程度:High
  • 目的:将模板架构版本与禁止版本进行比较。
  • 方法:分析架构版本并检查禁止版本。
  • 预期结果:模板不使用禁止的架构版本。
  • 证据:模板架构版本、禁止版本匹配情况和合规状态。
  • 建议:更新模板以使用合规的架构版本。

CA-TEMPLATE-004:模板 CSP 验证

  • 严重程度:Critical
  • 目的:验证模板中 Cryptographic Service Provider 的使用情况。
  • 方法:将 CSP 与已批准和禁止列表进行比较。
  • 预期结果:模板使用已批准的 CSP,避免使用禁止的 CSP。
  • 证据:模板 CSP 使用情况、合规状态和不合规模板。
  • 建议:更新模板以使用已批准的 CSP,并避免使用禁止的 CSP。

CA-TEMPLATE-005:验证 Enrollee Supplies Subject 标志

  • 严重程度:High
  • 目的:验证使用者提供主题标志的配置。
  • 方法:分析标志并验证排除列表。
  • 预期结果:包含 CT_FLAG_ENROLLEE_SUPPLIES_SUBJECT=1 的模板必须位于排除列表中。
  • 证据:使用者提供主题标志状态和排除列表合规性。
  • 建议:更新模板或排除列表以保持合规。

加密审计

CA-CRYPTO-001:CA 证书密钥大小验证

  • 严重程度:High
  • 目的:验证 CA 证书密钥大小。
  • 方法:分析证书并验证密钥大小。
  • 预期结果:CA 证书密钥大小符合最低要求。
  • 证据:证书详情、密钥大小和合规状态。
  • 建议:使用足够大的密钥重新签发 CA 证书。

CA-CRYPTO-002:检测 CA 证书中的弱算法

  • 严重程度:High
  • 目的:检测 CA 证书中的弱加密算法。
  • 方法:将算法与禁止算法列表进行比较。
  • 预期结果:CA 证书使用强加密算法。
  • 证据:签名和密钥算法以及弱算法检测结果。
  • 建议:使用强算法重新签发 CA 证书。

CA-CRYPTO-003:CA 证书 Extended Key Usage 验证

  • 严重程度:High
  • 目的:验证 CA 证书中的 Extended Key Usage 扩展。
  • 方法:将 EKU 与禁止 EKU 列表进行比较。
  • 预期结果:CA 证书不包含禁止的 EKU。
  • 证据:EKU 扩展、禁止 EKU 检测和合规状态。
  • 建议:重新签发不包含禁止 EKU 的 CA 证书。

CA-CRYPTO-004:CA 证书 Basic Constraints 验证

  • 严重程度:High
  • 目的:验证 CA 证书中的 Basic Constraints 扩展。
  • 方法:将 Basic Constraints 与配置值进行比较。
  • 预期结果:CA 证书基本约束符合配置值。
  • 证据:CA 标志、路径长度限制和合规状态。
  • 建议:使用正确的 Basic Constraints 重新签发 CA 证书。

权限审计

CA-PERM-001:CA 管理员权限验证

  • 严重程度:Critical
  • 目的:将 CA 管理员权限与预期主体进行比较。
  • 方法:分析安全权限并验证主体。
  • 预期结果:所有 CA 管理员均位于预期主体列表中。
  • 证据:管理员主体、预期主体和合规状态。
  • 建议:将不合规主体加入预期列表,或移除其权限。

使用场景与示例

完整基础设施评估

对 PKI 环境执行完整审计:

# Interactive menu option 1
PKI_Trust_Auditor.exe
 
# Command line equivalent
PKI_Trust_Auditor.exe --tests full

该操作将执行:

  1. 用户权限验证。
  2. Certificate Authority 发现。
  3. 连接测试(WMI/PowerShell)。
  4. 配置审计(注册表、模板、AIA、CRL)。
  5. 运维审计(服务状态、证书、URL)。
  6. 模板审计(限制、密钥大小、架构版本)。
  7. 加密审计(密钥大小、算法、扩展)。
  8. 权限审计。

定向连接测试

仅测试与已发现 CA 的网络连接:

# Interactive menu option 5
# Or command line
PKI_Trust_Auditor.exe --tests connectivity

模板安全评估

重点审查证书模板安全性:

# Interactive menu option 8
# Or command line  
PKI_Trust_Auditor.exe --tests templates

加密审查

分析证书和算法安全性:

# Interactive menu option 7
# Or command line
PKI_Trust_Auditor.exe --tests crypto

Web 报告#

生成并打开交互式 Web 报告:

# Interactive menu option 3
# Or command line
PKI_Trust_Auditor.exe --report

仅快速发现

发现 CA,但不运行审计:

# Interactive menu option 4
# Or command line (no direct equivalent, use interactive menu)

输出与报告

输出文件结构

工具会创建 Audit-Results/ 目录,结构如下:

Audit-Results/
├── PKI-Audit.json          # Complete audit results in JSON format
├── PKI-Audit.csv           # Summary data in CSV format
├── CA-CRYPTO-001-{CA-Name}.cer     # Downloaded CA certificates
├── CA-OPS-007-{CA-Name}.cer        # Downloaded AIA certificates  
├── CA-OPS-008-{CA-Name}.crl        # Downloaded CRL files
├── {Control-ID}-{CA-Name}.txt      # Individual control evidence files
└── {Control-ID}-{CA-Name}.json # JSON evidence files (for some controls)

报告格式

JSON 报告 (PKI-Audit.json)

完整结构化数据,包括:

  • Certificate Authority 详情。
  • 所有控制及其证据结果。
  • 执行时间戳和持续时间。
  • 汇总统计和成功率。

CSV 报告 (PKI-Audit.csv)

适合使用电子表格分析的表格数据:

  • 控制 ID、名称、严重程度和状态。
  • Certificate Authority 和预期结果。
  • 执行时间和持续时间。

单独的控制文件

每个控制执行的详细证据:

  • 控制元数据和配置。
  • 完整证据文本。
  • 建议和合规状态。
  • 执行详情和时间。

Web 应用程序

交互式 Web 报告:

  • 可视化摘要仪表板。
  • 控制详情分解。
  • 筛选和搜索功能。
  • 导出功能。

证据收集

每项控制都会生成详细证据,包括:

  • 控制元数据:ID、名称、严重程度和预期结果。
  • 执行详情:时间戳、持续时间和 CA 信息。
  • 证据内容:原始输出、解析数据和分析结果。
  • 合规状态:成功、失败、错误或未运行。
  • 建议:具体的修复步骤。

证书和 CRL 存储#

  • CA 证书:从 Active Directory 下载以供分析。
  • AIA 证书:从 AIA URL 下载以供验证。
  • CRL 文件:从 CDP URL 下载以测试可访问性。

故障排除与常见问题

连接问题

WMI 连接失败

症状:PKI-TEST-001 失败。 原因:

  • 防火墙阻止端口 135。
  • CA 上的 WMI 服务未运行。
  • 网络连接问题。
  • 权限不足。

解决方法:

# Check WMI service status
sc \\CA-Server query winmgmt
 
# Test basic connectivity
Test-NetConnection CA-Server -Port 135
 
# Verify firewall rules
netsh advfirewall firewall show rule name="Windows Management Instrumentation (WMI-In)"

PowerShell remoting 失败

症状:PKI-TEST-002 失败。 原因:

  • WinRM 服务未运行。
  • 未启用 PowerShell remoting。
  • HTTPS 证书问题。
  • 网络连接问题。

解决方法:

# Enable PowerShell remoting (run on CA server)
Enable-PSRemoting -Force
 
# Check WinRM service
Get-Service WinRM
 
# Test WinRM connectivity
Test-WSMan CA-Server

权限问题

Active Directory 访问

症状:CA 发现失败。 原因:

  • AD 权限不足。
  • 域控制器连接问题。
  • DNS 解析问题。

解决方法:

  • 确保域用户帐户具有 Configuration 容器的读取权限。
  • 验证域控制器的 DNS 解析。
  • 检查与域控制器的网络连接。

CA 管理权限

症状:配置审计失败。 原因:

  • 缺少 CA Administrator 权限。
  • CA 服务器上缺少本地管理员权限。
  • 缺少 Certificate Manager 权限。

解决方法:

  • 将用户添加到 CA Administrators 组。
  • 授予 CA 服务器本地管理员权限。
  • 确认已授予 Certificate Manager 权限。

配置问题

parameters.json 问题

症状:控制执行错误或出现意外行为。 原因:

  • JSON 格式无效。
  • 缺少必需参数。
  • 参数值错误。

解决方法:

// Validate parameters.json structure
{
 "DomainOverride": "DC=yourdomain,DC=com",
 "CA-CRYPTO-001": 2048,
 "CA-CRYPTO-002": ["MD5", "SHA1", "DES", "RC4", "3DES"],
 "CA-TEMPLATE-001": true
}

域检测问题

症状:无法发现 CA 或获取证书。 原因:

  • 自动域检测失败。
  • DomainOverride 设置错误。
  • 网络/DNS 问题。

解决方法:

  • 确认 parameters.json 中的 DomainOverride 与域名一致。
  • 检查域控制器的 DNS 解析。
  • 确保网络可连接到域。

性能问题

执行缓慢

原因:

  • 待审计的 CA 数量较多。
  • 到远程 CA 的网络延迟。
  • CA 服务器资源不足。

解决方法:

  • 执行定向审计而不是完整审计。
  • 在非高峰时间安排审计。
  • 确保 CA 服务器有足够资源。

内存使用

原因:

  • 证书文件较大。
  • 收集大量证据。
  • 多个审计并发运行。

解决方法:

  • 定期清除审计结果缓存。
  • 执行期间监控系统资源。
  • 考虑在专用审计服务器上运行。

高级配置

parameters.json 参考

域配置

{
 "DomainOverride": "DC=securetron-lab,DC=local"
}

加密设置

{
 "CA-CRYPTO-001": 2048, // Minimum key size in bits
 "CA-CRYPTO-002": ["MD5", "SHA1", "DES"], // Prohibited algorithms
 "CA-CRYPTO-003": ["Server Authentication", "Client Authentication"], // Prohibited EKUs
 "CA-CRYPTO-004": ["CA", "-1"] // Basic constraints (CA flag, path length)
}

模板设置

{
 "CA-TEMPLATE-001": true, // Enable template restriction validation
 "CA-TEMPLATE-002": 2048, // Minimum template key size
 "CA-TEMPLATE-003": [1], // Prohibited schema versions
 "CA-TEMPLATE-004": [ // CSP validation settings
 "Microsoft Base Cryptographic Provider v1.0", // Prohibited CSPs
 "APPROVED", // Separator
 "Microsoft Enhanced Cryptographic Provider v1.0", // Approved CSPs
 "Microsoft Strong Cryptographic Provider"
 ],
 "CA-TEMPLATE-005": [ // Enrollee supplies subject
 "1", // Control enabled (1) or disabled (0)
 "WebServer", // Exclusion list templates
 "Workstation"
 ]
}

运维设置

{
 "CA-OPS-002": ["10", "3", "5", "1"], // Certificate expiration limits
 // [Root Max, Root Min, Sub Max, Sub Min]
 "CA-OPS-003": true, // AIA validation required
 "CA-OPS-004": true, // CDP validation required
 "CA-OPS-005": true, // AIA reachability validation
 "CA-OPS-006": true, // CDP/CRL reachability validation
 "CA-OPS-007": true, // AIA certificate validation
 "CA-OPS-008": true, // CRL download validation
 "CA-OPS-009": 127 // Audit filter threshold
}

权限设置

{
 "CA-PERM-001": [ // Expected CA administrators
 "DOMAIN\\CA-Admins", // Substitute DOMAIN in parameters.json
 "DOMAIN\\PKI-Admins"
 ]
}

自定义控制配置

启用/禁用控制

可通过 parameters.json 启用或禁用控制:

  • 布尔值:true 启用,false 禁用。
  • 数值:非零值启用,0 禁用。
  • 数组值:第一个元素控制是否启用。

阈值配置

许多控制支持配置阈值:

  • 密钥大小 (CA-CRYPTO-001、CA-TEMPLATE-002)。
  • 到期限制 (CA-OPS-002)。
  • 算法列表 (CA-CRYPTO-002)。
  • 架构版本 (CA-TEMPLATE-003)。

排除列表

部分控制支持排除列表:

  • 模板排除项 (CA-TEMPLATE-005)。
  • 管理员主体 (CA-PERM-001)。

脚本自定义

PowerShell 脚本

某些操作使用辅助 PowerShell 脚本:

  • helper/ca-config-001.ps1 - 注册表配置。
  • helper/ca-config-006.ps1 - 模板导出。

可根据具体环境或要求进行自定义。

证据解析

工具包含高级证据解析功能,支持:

  • JSON 配置文件。
  • certutil 命令输出。
  • PowerShell 对象输出。
  • 注册表数据结构。

安全注意事项

数据处理

收集的信息

工具收集并存储以下信息:

  • Certificate Authority 配置数据。
  • 证书模板及其设置。
  • 加密算法信息。
  • 网络连接信息。
  • 权限和安全设置。

存储安全

  • 所有数据均本地存储在 Audit-Results 目录中。
  • 不会向外部传输敏感信息。
  • 证据文件包含安全评估数据。
  • 下载的证书和 CRL 文件会保留供分析。

网络安全

通信方式

  • WMI:通过端口 135 使用 DCOM/RPC。
  • PowerShell:通过端口 5985/5986 使用 WinRM。
  • LDAP:通过端口 389/636 查询 Active Directory。
  • HTTP/HTTPS:测试 URL 可达性。

安全建议

  • 使用权限最小化的专用审计帐户。
  • 对 CA 服务器实施网络分段。
  • 尽可能使用加密通道(LDAPS、WinRM HTTPS)。
  • 定期审查并更新审计权限。

凭据使用

身份验证方法

  • 所有操作使用当前用户凭据。
  • 不存储或缓存凭据。
  • 使用 Windows 集成身份验证。

最佳实践

  • 使用专用服务帐户执行审计。
  • 遵循最小权限原则。
  • 定期轮换审计帐户凭据。
  • 监控审计帐户的使用情况。

合规支持

法规框架

此工具支持以下合规评估:

  • NIST SP 800-53:安全控制评估。
  • PCI DSS:证书和加密要求。
  • ISO 27001:信息安全管理。
  • CIS Benchmarks:安全配置指南。

证据生成

  • 详细的控制执行证据。
  • 带时间戳的执行记录。
  • 合规状态报告。
  • 修复建议。

附录

控制 ID 参考#

连接测试

  • PKI-TEST-001:WMI/SMB 连接测试。
  • PKI-TEST-002:PowerShell 连接测试。
  • PKI-TEST-003:用户权限验证。

配置审计

  • CA-CONFIG-001:CA 注册表配置。
  • CA-CONFIG-002:CA 模板。
  • CA-CONFIG-003:AIA 配置。
  • CA-CONFIG-004:CRL 分发点。
  • CA-CONFIG-005:CAPolicy.inf 配置。
  • CA-CONFIG-006:PowerShell 模板导出。

运维审计

  • CA-OPS-001:CertSvc 服务状态。
  • CA-OPS-002:CA 证书到期验证。
  • CA-OPS-003:CA 证书 AIA 配置验证。
  • CA-OPS-004:CA 证书 CDP 配置验证。
  • CA-OPS-005:AIA URL 可达性。
  • CA-OPS-006:CDP/CRL URL 可达性。
  • CA-OPS-007:AIA 证书下载和到期验证。
  • CA-OPS-008:CRL 下载和验证。
  • CA-OPS-009:CA 审计筛选器配置。

模板审计

  • CA-TEMPLATE-001:CA 模板限制验证。
  • CA-TEMPLATE-002:模板密钥大小验证。
  • CA-TEMPLATE-003:模板架构版本验证。
  • CA-TEMPLATE-004:模板 CSP 验证。
  • CA-TEMPLATE-005:Enrollee Supplies Subject 标志验证。

加密审计

  • CA-CRYPTO-001:CA 证书密钥大小验证。
  • CA-CRYPTO-002:检测 CA 证书中的弱算法。
  • CA-CRYPTO-003:CA 证书 Extended Key Usage 验证。
  • CA-CRYPTO-004:CA 证书 Basic Constraints 验证。

权限审计

  • CA-PERM-001:CA 管理员权限验证。

严重程度级别

Critical

  • 即时安全风险。
  • 影响系统可用性。
  • 根本性安全故障。

High

  • 重大安全问题。
  • 合规违规。
  • 重要配置问题。

Medium

  • 中等安全风险。
  • 未遵循最佳实践。
  • 需要改进配置。

Low

  • 轻微安全观察项。
  • 信息性发现。
  • 改进机会。

状态代码

Success

控制执行成功,且符合预期结果。

Failure

控制执行成功,但未达到预期结果。

Error

由于技术问题,控制未能正常执行。

Not Run

控制已跳过(通常是因为前置条件未满足)。

文件结构

输出结构

Audit-Results/
├── PKI-Audit.json (Complete results)
├── PKI-Audit.csv (Summary data)
├── *.cer (Certificate files)
├── *.crl (CRL files)
├── *.txt (Evidence files)
└── *.json (JSON evidence files)

支持与资源

文档

  • 本用户指南。
  • 应用内帮助(--help 选项)。
  • 针对每项控制的证据文件。

技术支持

更新和维护

  • 定期安全更新。
  • 新增控制。
  • 性能改进。
  • 兼容性更新。

本用户指南由 PKI Trust Auditor 开发团队维护。最后更新:2025 年 10 月。