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


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

  1. 停止子系统实例。

    # systemctl stop pki-tomcatd-nuxwdog@instance_name.service
  2. 打开 /var/lib/pki/<instance_name>/<subsystem_type>/conf 目录中的 CS.cfg 文件。
  3. 创建新日志。
  4. 要配置日志实例,请修改与该日志关联的参数。这些参数以 log.instance 开头。

    Expand
    表 13.3. 日志条目参数
    参数描述

    type

    日志文件的类型,如 signedAudit

    enable

    设置日志是否活跃。只有启用的日志才会记录事件。

    level

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

    fileName

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

    bufferSize

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

    flushInterval

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

    maxFileSize

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

    rolloverInterval

    服务器轮转活跃日志文件的频率。可用的选择包括每小时、每天、每周、每月和年的选择。默认值为 2592000,代表每月的月数。如需更多信息,请参阅 第 13.1.4 节 “日志文件轮转”

    register [a]

    此变量默认设为 false,因为功能改进,应该保留它。self-test 信息仅记录到由 selftests.container.logger.fileName 指定的日志文件。

    logSigning [b]

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

    signedAuditCertNickname [c]

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

    events [d]

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

    [a] 注册 仅用于自我测试日志。
    [b] LogSigning 仅用于审计日志。
    [c] signedAuditCertNickname 仅适用于审计日志。
    [d] 事件 仅用于审计日志。
  5. 保存该文件。
  6. 启动子系统实例。

    # systemctl start pki-tomcatd@instance_name.service

    或者,如果使用 Nuxwdog watchdog:

    # systemctl start pki-tomcatd-nuxwdog@instance_name.service

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

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

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

  • 要显示当前的审计日志记录配置,请使用以下命令:
    pki-server subsystem-audit-config-show -i < instance_name >。

    例如,对于 CA 子系统:

    # pki-server ca-audit-config-show -i rhcs10-RSA-SubCA
    
      Enabled: True
      Log File: var/lib/pki/rhcs10-RSA-SubCA/logs/ca/signedAudit/ca_audit
      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: NHSM-CONN-XC:auditSigningCert cert-rhcs10-RSA-SubCA CA
  • 要启用签名的审计日志记录,请使用 pki-server 实用程序将-- logSigning 选项设置为 true

    # pki-server subsystem-audit-config-mod --logSigning True -i instance_name
    1. 停止实例:

      # systemctl stop pki-tomcatd@instance_name.service

      或者,如果使用 Nuxwdog watchdog:

      # systemctl stop pki-tomcatd-nuxwdog@instance_name.service
    2. 运行 pki-server & lt;subsystem>-audit-config-mod 命令,例如 CA 子系统:

      # pki-server ca-audit-config-mod --logSigning True -i rhcs10-RSA-SubCA
        ...
        Log Signing: True
        ...
    3. 启动实例:

      # systemctl start pki-tomcatd@instance_name.service

      或者,如果使用 Nuxwdog watchdog:

      # systemctl start pki-tomcatd-nuxwdog@instance_name.service

13.3.1.2. 配置审计事件

13.3.1.2.1. 启用和禁用审计事件

有关启用和禁用审计事件的详情,请参阅管理指南中的 控制台中的 12.1.2.3 配置签名审计日志 (Common criteria Edition)

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

有关证书系统中可审计事件的完整列表,请参阅管理指南中的附录 E Audit 事件 附录(Common criteria Edition)

13.3.1.2.2. 过滤审计事件

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

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

Expand
表 13.4. 支持的审计事件过滤器
类型æ ¼å¼�示例

存在

(属性 swig)

(ReqID=*)

相等

(属性=)

(outcome=Failure)

子字符串

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

(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

例 13.2. 过滤审计事件

  • 显示配置文件证书请求的当前设置:

    $ pki-server ca-audit-event-show PROFILE_CERT_REQUEST -i <instance_name>
    
      Event Name: PROFILE_CERT_REQUEST
      Enabled: True
      Filter: None
  • 显示已处理的证书请求的当前设置:

    $ *pki-server ca-audit-event-show CERT_REQUEST_PROCESSED -i <instance_name>*
    
      Event Name: CERT_REQUEST_PROCESSED
      Enabled: True
      Filter: None
  • 要只记录失败的事件,用于处理的证书请求和事件,该请求将 InfoName 字段设置为 rejectReasoncancelReason

    1. 停止证书系统:

      # systemctl stop pki-tomcatd@instance_name.service

      或者,如果使用 Nuxwdog watchdog:

      # systemctl stop pki-tomcatd-nuxwdog@instance_name.service
    2. 对配置文件证书请求运行以下命令:

      $ pki-server ca-audit-event-update PROFILE_CERT_REQUEST --filter "(Outcome=Failure)" i <instance_name>
        ...
        Filter: (Outcome=Failure)

      这会在 CA 的 CS.cfg 中生成以下条目:

      log.instance.SignedAudit.filters.PROFILE_CERT_REQUEST=(Outcome=Failure)
    3. 运行以下命令处理的证书请求:

      $ pki-server ca-audit-event-update CERT_REQUEST_PROCESSED --filter "(|(InfoName=rejectReason)(InfoName=cancelReason))" i <instance_name>
        ...
        Filter: (|(InfoName=rejectReason)(InfoName=cancelReason))

      这会在 CA 的 CS.cfg 中生成以下条目:

      log.instance.SignedAudit.filters.CERT_REQUEST_PROCESSED=(|(InfoName=rejectReason)(InfoName=cancelReason))
    4. 启动证书系统:

      # systemctl start pki-tomcatd@instance_name.service

      或者,如果使用 Nuxwdog watchdog:

      # systemctl start pki-tomcatd-nuxwdog@instance_name.service

13.3.2. 配置自测试

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

Critical 自我测试在自测试的名称后面有一个冒号,并且单词 critical。否则,什么都不处于此位置。当关键自测试在需求自我tests 期间失败时,服务器将关闭;当关键自测试在启动过程中失败时,服务器将不会启动。

在安装实例时,实施的自助扩展会自动注册和配置。注册和配置的自tests 与子系统类型相关联。

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

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

启动时默认启用以下自助tests。

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

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

    selftests.plugin.SystemCertsVerification.FullCAandOCSPVerify=true

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

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

  • KRAPresence - 用于验证 KRA 子系统是否存在。
  • SystemCertsVerification - 用于确定系统证书当前是否有效,且尚未过期或已被撤销。

对于 OCSP 子系统,启用了以下自助tests:

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

    selftests.plugin.SystemCertsVerification.FullCAandOCSPVerify=true

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

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

  • SystemCertsVerification - 用于确定系统证书当前是否有效,且尚未过期或已被撤销。

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

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

13.3.2.2. 修改自我测试的配置

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

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

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

    要标记自我测试的关键,请向列表中自测试的名称添加一个冒号和词 key。

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

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

13.3.3. 调试日志的其他配置

13.3.3.1. 启用和禁用调试日志

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

  1. 停止证书系统实例:

    # systemctl stop pki-tomcatd@instance-name.service

    或者,如果使用 Nuxwdog watchdog:

    # systemctl stop pki-tomcatd-nuxwdog@instance-name.service
  2. 编辑 /CS.cfg 文件并设置 debug.enabled 参数:

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

      debug.enabled=false
      注意

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

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

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

      debug.enabled=true
  3. 启动证书系统实例:

    # systemctl start pki-tomcatd@instance-name.service

    或者,如果使用 Nuxwdog watchdog:

    # systemctl start pki-tomcatd-nuxwdog@instance-name.service

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

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

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

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

/var/log/pki/instance_name/subsystem/debug {
     copytruncate
     weekly
     rotate 5
     notifempty
     missingok
}

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

/var/log/pki/instance_name/ca/debug /var/log/pki/instance_name/kra/debug {
     ...
}

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

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部