第 5 章 AuditVerify (Audit Log Verification)
audit Verify 工具用于验证签名的审计日志是否使用私钥签名,并且审计日志没有被破坏。
审核员可以使用 audit Verify 工具验证签名的审计日志的真实性。此工具使用签名的审计日志签名证书的公钥来验证嵌入在签名的审计日志文件中的数字签名。工具响应表示签名的审计日志已被成功验证,或者未成功验证签名的审计日志。验证失败,会警告签名无法验证的审核员,表示日志文件可能已被篡改(compromised)。
5.1. 设置审核员的数据库
AuditVerify 需要访问一组安全数据库(通常是审核员的安全数据库),其中包含签名的审计日志签名证书及其发布证书链。颁发链中的 CA 证书之一必须标记为数据库中的可信证书。
审核员应在运行审计 验证 前将审计签名证书导入到其个人证书和密钥数据库中。审核员不应使用生成签名的审计日志文件的证书系统实例的安全数据库。如果没有读取访问的证书和密钥数据库,审核员必须创建一组证书和密钥数据库,并导入签名的审计日志签名证书链。
注意
子系统保留的
signedAudit
目录没有被任何用户写入,包括审核员。
重要
审核员用户必须是以下之一的成员:
pkiaudit
组,这是/etc/pki/default.cfg
文件的[DEFAULT]
部分下pki_audit_group
变量的默认值- 当
pkispawn
工具运行时,任何系统组都被覆盖pki_audit_group
变量来标识为审计组
要创建安全数据库并导入证书链:
- 在审核员的主目录中创建一个特殊目录,用于执行验证。例如:
mkdir ~jsmith/auditVerifyDir
- 使用 certutil 工具在审核员主目录中创建一组空的证书数据库。
certutil -d ~jsmith/auditVerifyDir -N
- 从 CA 的 Retrieval 页面下载 CA 证书。
https://server.example.com:ca_https_port/ca/ee/ca/
- 将 CA 证书导入并登录到数据库中,将 CA 证书标记为可信证书。证书可以从 CA 以 ASCII 格式获取。如果 CA 证书位于名为 cacert.txt 的文件中,并且日志签名证书位于名为 logsigncert.txt 的文件中,则会使用 certutil 为指向这些文件的新审计安全数据库目录设置信任,如下所示:
certutil -d ~jsmith/auditVerifyDir/ -A -n "CA Certificate" -t "CT,CT,CT" -a -i /var/lib/instance_ID/alias/cacert.txt certutil -d ~jsmith/auditVerifyDir -A -n "Log Signing Certificate"-t ",,P" -a -i /var/lib/instance_ID/alias/logsigncert.txt