第 13 章 配置日志
证书系统子系统日志文件记录与该特定子系统实例中操作相关的事件。对于每个子系统,针对安装、访问和 Web 服务器等问题保留不同的日志。
所有子系统都有类似的日志配置、选项和管理路径。
有关安装后日志管理的详细信息,请参阅管理指南中的第 12 章(通用标准版) 配置子系统日志。
有关日志的概述信息,请参阅 第 2.3.14 节 “日志”。
13.1. 日志设置 复制链接链接已复制到粘贴板!
配置日志的方式可能会影响证书系统的性能。例如,日志文件轮转会变得太大,这会减慢子系统性能。本节介绍证书系统子系统记录的不同类型的日志,并涵盖了重要概念,如日志文件轮转、缓冲的日志和可用日志级别。
13.1.1. 日志记录的服务 复制链接链接已复制到粘贴板!
证书系统日志消息的所有主要组件和协议到日志文件。下表列出了默认日志记录的服务。要查看特定服务记录的消息,请相应地自定义日志设置。详情请查看 第 13.1.5 节 “签名日志文件”
Service | 描述 |
---|---|
ACL | 日志与访问控制列表相关的事件。 |
管理 | 记录与管理活动相关的事件,如控制台和实例之间的 HTTPS 通信。 |
All | 记录与所有服务相关的事件。 |
身份验证 | 使用身份验证模块记录与活动相关的事件。 |
证书颁发机构 | 记录与证书管理器相关的事件。 |
数据库 | 记录与内部数据库相关的事件。 |
HTTP | 记录与服务器 HTTP 活动相关的事件。请注意,HTTP 事件实际上会记录到属于 Apache 服务器的错误日志,该日志与证书系统一起提供 HTTP 服务。 |
密钥恢复授权 | 记录与 KRA 相关的事件。 |
LDAP | 日志与 LDAP 目录相关的事件,用于发布证书和 CRL。 |
OCSP | 记录与 OCSP 相关的事件,如 OCSP 状态 GET 请求。 |
其他 | 记录与其他活动相关的事件,如命令行工具和其他进程。 |
请求队列 | 记录与请求队列活动相关的事件。 |
用户和组 | 记录与实例的用户和组相关的事件。 |
13.1.2. 日志级别(消息类别) 复制链接链接已复制到粘贴板!
证书系统服务记录的不同事件由日志级别决定,这使得识别和过滤事件变得更加简单。表 13.2 “日志级别和对应的日志消息” 中列出了不同的证书系统日志级别。
日志级别由数字 0
到 10
表示,每个数字代表服务器要执行的日志记录级别。级别设定日志记录的细节。
较高的优先级级别意味着较少的详细信息,因为仅记录高优先级的事件。
默认日志级别为 1
,不应更改这个值。要启用调试日志记录,请参阅 第 13.3.3 节 “调试日志的其他配置”。
下表提供了下表以更好地理解日志消息。
日志级别 | 消息类别 | 描述 |
---|---|---|
0 | 调试 | 这些消息包含调试信息。不建议使用这个级别,因为它会生成太多的信息。 |
1 | 信息(审计日志的默认选择) | 这些消息提供有关证书系统状态的常规信息,包括 证书系统初始化完成 以及 操作的 Request 等状态消息。 |
2 | 警告 | 这些消息只是警告,不表示服务器正常操作中的任何故障。 |
3 | 失败;系统和错误日志的默认选择 | 这些消息指示阻止服务器正常运行的错误和失败,包括执行证书服务操作失败(用户身份验证 失败或 证书撤销)的故障,以及可能导致不可撤销的错误(服务器无法通过来自客户端的同一频道发送其处理的请求)。 |
4 | 错误配置 | 这些消息表示服务器中错误配置导致错误。 |
5 | 灾难故障 | 这些消息表示因为错误,服务无法继续运行。 |
6 | 与安全性相关的事件 | 这些消息标识了影响服务器安全性的发生情况。例如,具有已撤销或未列出证书的用户尝试特权访问权限。 |
7 | 与 PDU 相关的事件(调试) | 这些消息包含 PDU 事件的调试信息。不建议使用这个级别,因为它会生成比通常有用的信息更多的信息。 |
8 | 与 PDU 相关的事件 | 这些消息与 PDU 上处理的事务和规则相关,如创建 MAC 令牌。 |
9 | 与 PDU 相关的事件 | 此日志级别为 PDU 上处理的事件(如创建 MAC 令牌)提供详细的日志消息。 |
10 | 所有日志记录级别 | 此日志级别启用所有日志记录级别。 |
日志级别可用于根据事件的严重性过滤日志条目。
日志级别是连续的;指定 3 代表级别 4、5 和 6 的日志记录。日志数据可能比较广泛,特别是在较低(更详细的)日志级别。确保主机机器对所有日志文件有足够的磁盘空间。务必要定义日志级别、日志轮转和 server-backup 策略,以便备份所有日志文件,并且主机系统不会过载;否则,信息可能会丢失。
13.1.3. buffered 和 unbuffered 日志记录 复制链接链接已复制到粘贴板!
Java 子系统支持对所有类型的日志进行缓冲的日志记录。可以为缓冲或未缓冲的日志配置服务器。
如果配置了缓冲的日志,服务器会为对应的日志创建缓冲区,并尽可能将消息保存到缓冲区中。只有在出现以下条件之一时,服务器才会将信息清除到日志文件:
-
缓冲区已满。当缓冲区大小等于或大于
bufferSize
配置参数指定的值时,缓冲区已满。此参数的默认值为 512 KB。 -
已达到缓冲区的冲刷间隔。当自上次缓冲区刷新的时间间隔等于或大于
flushInterval
配置参数指定的值时,就会达到 flush 间隔。此参数的默认值为 5 秒。 - 从控制台读取当前日志时。服务器在查询当前日志时检索最新的日志。
如果为未缓冲的日志配置了服务器,服务器会在生成到日志文件中时清除消息。由于服务器每次生成消息时执行 I/O 操作(写入日志文件),因此配置服务器以提高性能。
设置日志参数在 第 13 章 配置日志 中进行了描述。
13.1.4. 日志文件轮转 复制链接链接已复制到粘贴板!
子系统日志具有一个可选的日志设置,允许轮转并启动新的日志文件,而不是让日志文件无限期增长。当出现以下任一情况时,日志文件会被轮转:
-
达到相应文件的大小限制。对应日志文件的大小等于或大于
maxFileSize
配置参数指定的值。此参数的默认值为 2000 KB。 -
达到相应文件的年龄限制。对应的日志文件等于或早于
rolloverInterval
配置参数指定的间隔。此参数的默认值为 2592000 秒(每 30 天)。
将这两个参数都设为 0 可有效地禁用日志文件轮转。
轮转日志文件时,使用带附加时间戳的文件的名称命名旧文件。附加的时间戳是一个整数,表示轮转相应活跃日志文件的日期和时间。日期和时间具有 YYYYMMDD (年、月、天)和 HHMMSS (小时、分钟、秒)。
日志文件(特别是审计日志文件)包含重要信息。通过将整个 日志
目录复制到存档介质,该文件应定期归档到一些备份介质。
证书系统不提供任何用于归档日志文件的工具或实用程序。第 13.1.5 节 “签名日志文件” 建议确保存档日志文件的完整性。
13.1.5. 签名日志文件 复制链接链接已复制到粘贴板!
作为已签名的审计日志功能(第 13.3.1.1 节 “启用签名的审计日志记录”)的替代方法,它创建审计日志,在日志被存档或分发审计目的前,可以使用 COTS 工具(如 gpg
)进行签名。这样做将允许检查文件是否篡改。