16.3. 使用日志
16.3.1. 在控制台中查看日志
若要对子系统进行故障排除,请检查服务器已记录的错误或信息。检查日志文件也可以监控服务器操作的很多方面。可以通过控制台查看一些日志文件。但是,仅具有审核员角色的用户才可以使用 第 16.3.2 节 “使用签名的审计日志” 中详述的方法访问审计日志。
查看日志文件的内容:
- 登录到控制台。
- 选择 Status 选项卡。
- 在 Logs 下,选择要查看的日志。
- 在 Display Options 部分中设置查看首选项。
- entry - 要显示的最大条目数。达到这个限制时,证书系统会返回与搜索请求匹配的任何条目。零(0)表示没有返回任何消息。如果该字段为空,服务器会返回每个匹配的条目,而不考虑找到的数字。
- Source - 选择要显示日志消息的证书系统组件或服务。选择 All 表示日志记录到此文件的所有组件的消息都会被显示。
- level - 选择一个消息类别,它代表过滤消息的日志级别。
- filename - 选择要查看的日志文件。
- 单击。
- 要查看完整的条目,请双击该条目,或者选择条目,然后单击。
16.3.2. 使用签名的审计日志
本节介绍审核员组中的用户如何显示并验证签名的审计日志。
16.3.2.1. 列出审计日志
以具有审核员的用户身份,使用 pki 子系统-audit-file-find 命令列出服务器上的现有审计日志文件。
例如,要列出托管在
server.example.com
上的 CA 上的审计日志文件:
# pki -h server.example.com -p 8443 -n auditor ca-audit-file-find ----------------- 3 entries matched ----------------- File name: ca_audit.20170331225716 Size: 2883 File name: ca_audit.20170401001030 Size: 189 File name: ca_audit Size: 6705 ---------------------------- Number of entries returned 3 ----------------------------
命令使用带有存储在
~/.dogtag/nssdb/
目录中的 auditor nickname 的客户端证书,以向 CA 进行身份验证。有关命令中使用的参数和替代验证方法的详情,请查看 pki(1) man page。
16.3.2.2. 下载审计日志
以具有审核员的用户身份,使用 pki subsystem-audit-file-retrieve 命令从服务器下载特定的审计日志。
例如,要从托管在
server.example.com
上的 CA 下载审计日志文件:
- (可选)列出 CA 上的可用日志文件。请参阅 第 16.3.2.1 节 “列出审计日志”。
- 下载日志文件。例如,要下载
ca_audit
文件:# pki -U https://server.example.com:8443 -n auditor ca-audit-file-retrieve ca_audit
命令使用带有存储在~/.dogtag/nssdb/
目录中的 auditor nickname 的客户端证书,以向 CA 进行身份验证。有关命令中使用的参数和替代验证方法的详情,请查看 pki(1) man page。
下载日志文件后,您可以使用
grep
工具搜索特定的日志条目:
# grep "\[AuditEvent=ACCESS_SESSION_ESTABLISH\]" log_file
16.3.2.3. 验证签名的审计日志
如果启用了审计日志签名,则具有审核员权限的用户可以验证日志:
- 初始化 NSS 数据库并导入 CA 证书。详情请参阅 Red Hat Certificate System Planning , Installation, installation, Installing, deployment Guide 中的 第 2.5.1.1 节 “pki CLI 初始化” 和将证书导入到 NSS 数据库 部分。
- 如果 PKI 客户端数据库中不存在审计签名证书,请导入它:
- 为您要验证的子系统日志搜索审计签名证书。例如:
# pki ca-cert-find --name "CA Audit Signing Certificate" --------------- 1 entries found --------------- Serial Number: 0x5 Subject DN: CN=CA Audit Signing Certificate,O=EXAMPLE Status: VALID Type: X.509 version 3 Key Algorithm: PKCS #1 RSA with 2048-bit key Not Valid Before: Fri Jul 08 03:56:08 CEST 2016 Not Valid After: Thu Jun 28 03:56:08 CEST 2018 Issued On: Fri Jul 08 03:56:08 CEST 2016 Issued By: system ---------------------------- Number of entries returned 1 ----------------------------
- 将审计签名证书导入到 PKI 客户端:
# pki client-cert-import "CA Audit Signing Certificate" --serial 0x5 --trust ",,P" --------------------------------------------------- Imported certificate "CA Audit Signing Certificate" ---------------------------------------------------
- 下载审计日志。请参阅 第 16.3.2.2 节 “下载审计日志”。
- 验证审计日志。
- 创建一个包含您要按时间顺序验证的审计日志文件列表的文本文件。例如:
# cat > ~/audit.txt << EOF ca_audit.20170331225716 ca_audit.20170401001030 ca_audit EOF
- 使用
auditVerify
工具验证签名。例如:# AuditVerify -d ~/.dogtag/nssdb/ -n "CA Audit Signing Certificate" \ -a ~/audit.txt Verification process complete. Valid signatures: 10 Invalid signatures: 0
有关使用审计验证
的详情,请查看 AuditVerify(1) man page。
16.3.3. 显示操作系统级审计日志
注意
要使用以下说明来查看操作系统级别的审计日志,必须根据 Red Hat Certificate System 规划、安装和部署指南中的 启用操作系统级审计日志 部分配置
auditd
日志记录框架。
要显示操作系统级访问日志,以 root 用户身份使用
ausearch
工具,或使用 sudo
工具以特权用户身份使用 ausearch 工具。
16.3.3.1. 显示审计日志删除事件
由于这些事件是密钥的(使用 rhcs_audit_deletion),因此请使用
-k
参数来查找与该密钥匹配的事件:
# ausearch -k rhcs_audit_deletion
16.3.3.2. 显示对 Secret 和私钥的 NSS 数据库的访问
由于这些事件是密钥的(使用 rhcs_audit_nssdb),因此请使用
-k
参数来查找与该密钥匹配的事件:
# ausearch -k rhcs_audit_nssdb
16.3.3.3. 显示时间更改事件
由于这些事件是密钥的(使用 rhcs_audit_time_change),因此请使用
-k
参数来查找与该密钥匹配的事件:
# ausearch -k rhcs_audit_time_change
16.3.3.4. 显示软件包更新事件
由于这些事件是类型的消息(类型为 SOFTWARE_UPDATE),因此请使用
-m
参数来查找与类型匹配的事件:
# ausearch -m SOFTWARE_UPDATE
16.3.3.5. 显示 PKI 配置的更改
由于这些事件是密钥的(使用 rhcs_audit_config),因此请使用
-k
参数来查找与该密钥匹配的事件:
# ausearch -k rhcs_audit_config
16.3.4. 智能卡错误代码
智能卡可向 TPS 报告某些错误代码;这些错误代码记录在 TPS 的调试日志中,具体取决于消息的原因。
返回码 | 描述 |
---|---|
常规错误代码 | |
6400 | 没有特定的诊断 |
6700 | Lc 中错误的长度 |
6982 | 未满足安全性状态 |
6985 | 不满意的使用条件 |
6a86 | P1 P2 不正确 |
6d00 | 无效的指令 |
6e00 | 无效的类 |
安装负载错误 | |
6581 | 内存故障 |
6a80 | data 字段中的参数不正确 |
6a84 | 没有足够的内存空间 |
6a88 | 未找到引用的数据 |
删除错误 | |
6200 | 应用程序已逻辑删除 |
6581 | 内存故障 |
6985 | 无法删除引用的数据 |
6a88 | 未找到引用的数据 |
6a82 | 未找到应用程序 |
6a80 | 命令数据中的不正确的值 |
获取数据错误 | |
6a88 | 未找到引用的数据 |
获取状态错误 | |
6310 | 更多可用数据 |
6a88 | 未找到引用的数据 |
6a80 | 命令数据中的不正确的值 |
加载错误 | |
6581 | 内存故障 |
6a84 | 没有足够的内存空间 |
6a86 | P1/P2 不正确 |
6985 | 不满意的使用条件 |