17.3. 在 CS.cfg 文件中配置日志


在安装过程中,您可以通过直接编辑实例的 CS.cfg 来配置日志记录。

  1. 停止子系统实例。

    Copy to Clipboard Toggle word wrap
    # systemctl stop pki-tomcatd-nuxwdog@instance_name.service
  2. 打开 /var/lib/pki/<instance_name>/<subsystem_type>/conf 目录中的 CS.cfg 文件。
  3. 要创建新日志,请为系统或事务日志复制所有条目。这些是以 log.instance.Transactionslog.instance.System 开头的参数。粘贴日志记录部分底部的所有条目,并通过将每个参数中的单词 TransactionsSystem 更改为新名称来更改此实例的名称。
  4. 要配置日志实例,请修改与该日志关联的参数。这些参数以 log.instance 开头。

    表 17.3. 日志条目参数
    参数描述

    type

    日志文件的类型。系统 创建错误和系统日志; 事务 记录审计日志。

    enable

    设置日志是否活跃。仅启用的日志实际上记录事件。

    level

    在文本字段中设置日志级别。必须在字段中手动输入该级别;没有选择菜单。日志级别设置是一个数字值,如 第 17.1.2 节 “日志级别(消息类别)” 中列出的。

    fileName

    日志文件的完整路径,包括文件名。子系统用户应具有文件的读取/写入权限。

    bufferSize

    日志的缓冲大小(KB)。当缓冲区达到这个大小后,缓冲区的内容将清除并复制到日志文件中。默认大小为 512 KB。有关缓冲的日志的更多信息,请参阅 第 17.1.3 节 “buffered 和 unbuffered 日志记录”

    flushInterval

    缓冲区内容被清除并添加到日志文件中的时间(以秒为单位)。默认间隔为 5 秒。

    maxFileSize

    日志文件的大小(KB)在轮转前可能会成为它。达到这个大小后,文件会被复制到轮转的文件中,日志文件将启动新文件。有关日志文件轮转的详情,请参考 第 17.1.4 节 “日志文件轮转”。默认大小为 2000 KB。

    rolloverInterval

    服务器轮转活跃日志文件的频率。可用的选项有每小时、每天、每周、每月和每年。默认选择是 monthly。如需更多信息,请参阅 第 17.1.4 节 “日志文件轮转”

    register

    如果此变量设为 false (默认值),则 self-test 消息将仅记录到 selftests.container.logger.fileName 指定的日志文件。如果此变量设为 true,则 self-test 消息将写入 selftests.container.logger.fileName 指定的日志文件,并写入 log.instance.Transactions.fileName 指定的日志文件。

    logSigning

    启用签名的日志记录。启用此参数后,为 signedAuditCertNickname 参数提供一个值。这个选项意味着只能由审核员查看日志。该值可以是 truefalse

    signedAuditCertNickname

    用于为审计日志签名的证书的别名。此证书的私钥必须可供子系统访问,才能为日志签名。

    events

    指定将哪些事件记录到审计日志。日志事件用逗号分开,没有空格。

  5. 保存该文件。
  6. 启动子系统实例。

    Copy to Clipboard Toggle word wrap
    systemctl start pki-tomcatd@instance_name.service

    OR (如果使用 nuxwdog watchdog

    Copy to Clipboard Toggle word wrap
    # systemctl start pki-tomcatd-nuxwdog@instance_name.service

17.3.1. 启用和配置签名的审计日志

17.3.1.1. 启用签名的审计日志记录

默认情况下,在安装时会启用审计日志记录。但是,需要在安装后手动启用日志签名。

显示当前审计日志记录配置:

Copy to Clipboard Toggle word wrap
# pki-server subsystem-audit-config-show
  Enabled: True
  Log File: audit_signing_log_file
  Buffer Size (bytes): 512
  Flush Interval (seconds): 5
  Max File Size (bytes): 2000
  Rollover Interval (seconds): 2592000
  Expiration Time (seconds): 0
  Log Signing: False
  Signing Certificate: audit_signing_certificate

启用签名的审计日志记录:

  1. 使用 pki-server 实用程序将-- logSigning 选项设置为 true

    Copy to Clipboard Toggle word wrap
    # pki-server subsystem-audit-config-mod --logSigning True
      ...
      Log Signing: True
      ...
  2. 重启实例:

    Copy to Clipboard Toggle word wrap
    # systemctl restart pki-tomcatd@instance_name.service

    OR (如果使用 nuxwdog watchdog

    Copy to Clipboard Toggle word wrap
    # systemctl start pki-tomcatd-nuxwdog@instance_name.service

17.3.1.2. 配置审计事件

17.3.1.2.1. 启用和禁用审计事件

有关启用和禁用审计事件的详情,请参考 Red Hat Certificate System Administration Guide 中的 Console 中的 Configuring a Signed Audit log 部分。

此外,可以将审计事件过滤器设置为精细的选择。请参阅 第 17.3.1.2.2 节 “过滤审计事件”

有关证书系统中可审计事件的完整列表,请参见《 红帽认证系统管理指南 》中的 审计事件 附录。

17.3.1.2.2. 过滤审计事件

在证书系统管理员中,可以设置过滤器来配置根据事件属性将哪些审计事件记录在审计文件中。

过滤器的格式与 LDAP 过滤器的格式相同。但是,证书系统只支持以下过滤器:

表 17.4. 支持的审计事件过滤器
类型格式示例

存在

(attribute=*)

(ReqID=*)

相等

(属性=)

(outcome=Failure)

子字符串

(属性=initial*any*…​anyfinal)

(SubjectID=admin)

AND 操作

(&(filter_1)(filter_2)…​(filter_n))

(& (SubjectID=admin) (Outcome=Failure))

或者 操作

(|(filter_1)(filter_2)…​(filter_n))

(|(SubjectID=admin)(Outcome=Failure))

操作

(! (filter))

(!(SubjectID=admin))

有关 LDAP 过滤器的详情,请参阅 Red Hat Directory Server Administration Guide 中的 Using Compound Search Filters 部分。

例 17.2. 过滤审计事件

显示配置集证书请求和处理的证书的当前设置:

Copy to Clipboard Toggle word wrap
$ pki-server ca-audit-event-show PROFILE_CERT_REQUEST
  Event Name: PROFILE_CERT_REQUEST
  Enabled: True
  Filter: None

$ pki-server ca-audit-event-show CERT_REQUEST_PROCESSED
  Event Name: CERT_REQUEST_PROCESSED
  Enabled: True
  Filter: None

要只记录失败的事件,用于处理的证书请求和事件,该请求将 InfoName 字段设置为 rejectReasoncancelReason

  1. 执行以下命令:

    Copy to Clipboard Toggle word wrap
    $ pki-server ca-audit-event-update PROFILE_CERT_REQUEST --filter "(Outcome=Failure)"
      ...
      Filter: (Outcome=Failure)
    
    $ pki-server ca-audit-event-update CERT_REQUEST_PROCESSED --filter "(|(InfoName=rejectReason)(InfoName=cancelReason))"
      ...
      Filter: (|(InfoName=rejectReason)(InfoName=cancelReason))
  2. 重启证书系统:

    Copy to Clipboard Toggle word wrap
    # systemctl restart pki-tomcatd@instance_name.service

    OR (如果使用 nuxwdog watchdog

    Copy to Clipboard Toggle word wrap
    # systemctl start pki-tomcatd-nuxwdog@instance_name.service

17.3.2. 配置自测试

self-tests 功能和单独的 self-tests 在 CS.cfg 文件中注册和配置。如果启用了自我测试,则会为按需或启动列出该自测试,并且为空或设置为 critical

Critical 自我测试在自测试的名称后面有一个冒号,并且单词 critical。否则,在这个位置都没有。当需要自我测试期间的关键自测试失败时,服务器将关闭;在启动关键自我测试期间,服务器不会启动。

安装实例时,实施的自测试会自动注册和配置。注册和配置的自我测试是与子系统类型关联的自我测试。

通过更改 CS.cfg 文件中的相应设置来更改自我测试的关键性。

17.3.2.1. 默认在启动时自助测试

以下 self-tests 在启动时默认启用。

对于 CA 子系统,启动时默认启用以下自测试:

  • caPresence - 用于验证 CA 子系统是否存在。
  • CAValidity - 用于确定 CA 子系统当前是否有效且未过期。这包括检查 CA 证书的过期时间。
  • SystemCertsVerification - 用于确定系统证书当前是否有效,且尚未过期或已被撤销。对于 CA 子系统,只有每个证书的有效性测试才会进行,保留证书验证测试,这可能会导致 OCSP 请求。此行为可使用以下配置参数覆盖:

    Copy to Clipboard Toggle word wrap
    selftests.plugin.SystemCertsVerification.FullCAandOCSPVerify=true

    默认情况下,如果所有存在,则此配置参数被视为 false

对于 KRA 子系统,启用了以下self-tests:

  • KRAPresence - 用于验证 KRA 子系统是否存在。
  • KRAValidity - 用于确定 KRA 子系统当前有效且未过期。这包括检查 KRA 证书的过期时间。
  • SystemCertsVerification - 用于确定系统证书当前是否有效,且尚未过期或已被撤销。

对于 OCSP 子系统,启用了以下自测试:

  • OCSPPresence - 用于验证 OCSP 子系统是否存在。
  • OCSPValidity - 用于确定 OCSP 子系统当前是否有效且未过期。这包括检查 OCSP 证书的过期。
  • SystemCertsVerification - 用于确定系统证书当前是否有效,且尚未过期或已被撤销。对于 OCSP 子系统,只有每个证书的有效性测试才会进行,省略证书验证测试,这可能会导致 OCSP 请求。此行为可使用以下配置参数覆盖:

    Copy to Clipboard Toggle word wrap
    selftests.plugin.SystemCertsVerification.FullCAandOCSPVerify=true

    默认情况下,如果所有存在,则此配置参数被视为 false

对于 TKS 子系统,启用了以下self-tests:

  • TKSKnownSessionKey - 用于验证 TKS 子系统的已知会话密钥。这会验证 TKS 能够代表 TPS 和支持的智能卡正确创建密钥。
  • SystemCertsVerification - 用于确定系统证书当前是否有效,且尚未过期或已被撤销。

对于 TPS 子系统,启用了以下self-tests:

  • TPSPresence - 用于验证 TPS 子系统是否存在。
  • TPSValidity - 用于确定 TPS 子系统当前有效且未过期。这包括检查 TPS 证书的过期时间。
  • SystemCertsVerification - 用于确定系统证书当前是否有效,且尚未过期或已被撤销。

17.3.2.2. 修改自我测试的配置

默认情况下,self-test 配置兼容。但是,某些设置可以更改自测试日志记录的可见性或提高性能。修改 self-tests 的配置设置:

  1. 停止子系统实例。
  2. 打开位于实例的 conf/ 目录中的 CS.cfg 文件。
  3. 要编辑 self-test 日志的设置,请编辑以 selftests.container.logger 开头的条目。除非另有指定,否则这些参数不会影响合规性。这些参数包括以下参数:

    • bufferSize- 指定日志的缓冲大小(KB)。默认大小为 512 KB。当缓冲区达到这个大小后,缓冲区的内容将清除并复制到日志文件中。
    • enable- 指定要启用的 true。仅启用的日志实际上记录事件。必须启用 这个值才能合规。
    • filename - 指定要写入消息的文件的完整路径,包括文件名。服务器必须具有文件的读/写权限。默认情况下,self-test 日志文件为 /selftest.log
    • FlushInterval- 指定将缓冲区刷新到文件的间隔(以秒为单位)。默认间隔为 5 秒。flushInterval 是缓冲区刷新并添加到日志文件中的时间。
    • level- 默认选择为 1;此日志不会针对 1 以外的任何级别设置。
    • maxFileSize- 为错误日志指定以 KB 为单位的文件大小。默认大小为 100 KB。maxFileSize 决定在轮转日志文件前如何成为日志文件的大小。达到此大小后,文件将复制到轮转的文件,并启动新的日志文件。
    • register- 如果此变量设置为 false (默认值),则 self-test 消息将仅记录到 selftests.container.logger.fileName 指定的日志文件。如果此变量设为 true,则 self-test 消息将写入 selftests.container.logger.fileName 指定的日志文件,以及 log.instance.Transactions.fileName 指定的日志文件。
    • rolloverInterval- 指定服务器轮转活跃错误日志文件的频率。选择是每小时、每天、每周、每月和年份。默认选择是 monthly。
    • type- set to transaction; 不要更改它。
  4. 要编辑运行自测试的顺序,请通过列出任何 self-test 作为用逗号分开的以下参数值来指定顺序。

    要标记 self-test critical,请将冒号和单词 critical 添加到列表中自助测试的名称。

    要禁用自我测试,请将其删除为 selftests.container.order.onDemandselftests.container.order.startup 参数的值。

  5. 保存该文件。
  6. 启动子系统。

17.3.3. 调试日志的其他配置

17.3.3.1. 启用和禁用调试日志

默认情况下,在证书系统中启用调试日志记录。然而,在某些情况下,管理员希望禁用或重新启用此功能:

  1. 编辑 /CS.cfg 文件并设置 debug.enabled 参数:

    • 要禁用调试日志记录,请设置:

      Copy to Clipboard Toggle word wrap
      debug.enabled=false
      注意

      调试日志 不是 审计日志的一部分。当试图在证书系统或失败时调试特定故障时,调试日志非常有用。

      默认情况下启用调试日志。如果不需要,管理员可以安全地禁用调试日志记录来关闭详细程度。

    • 要启用调试日志记录,请设置:

      Copy to Clipboard Toggle word wrap
      debug.enabled=true
  2. 重启证书系统实例:

    Copy to Clipboard Toggle word wrap
    # systemctl restart pki-tomcatd@instance-name.service

    OR (如果使用 nuxwdog watchdog

    Copy to Clipboard Toggle word wrap
    # systemctl restart pki-tomcatd-nuxwdog@instance-name.service

17.3.3.2. 设置调试日志文件轮转

证书系统无法轮转调试日志。默认启用调试日志记录,这些日志会增加,直到文件系统已满为止。使用一个外部实用程序(如 logrotate )轮转日志。

例 17.3. 使用 logrotate 轮转调试日志

使用以下内容创建配置文件,如 /etc/logrotate.d/rhcs_debug

Copy to Clipboard Toggle word wrap
/var/log/pki/ instance_name/subsystem/debug {
     copytruncate
     weekly
     rotate 5
     notifempty
     missingok
}

要在一个配置文件中轮转多个子系统的调试日志,请在打开大括号前列出日志的路径(以空格分开)。例如:

Copy to Clipboard Toggle word wrap
/var/log/pki/ instance_name/ca/debug /var/log/pki/ instance_name/kra/debug {
     ...
}

有关 logrotate 和示例中使用的参数的详情,请查看 logrotate (8) 手册页。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat, Inc.