13.3. 管理系统密码


第 2.3.9 节 “密码和 watchdog (nuxwdog)” 所述,证书系统使用密码绑定到服务器,或者在服务器启动时解锁令牌。

password.conf 文件以纯文本形式存储系统密码。但是,有些管理员更喜欢完全删除密码文件,以允许 nuxwdog 完全提示每个密码的手动输入,并在计划外关闭时存储 auto-restart。

当证书系统实例启动时,子系统会自动检查 password.conf 文件。如果文件存在,则使用这些密码连接到其他服务,如内部 LDAP 数据库。如果该文件不存在,则 watchdog 守护进程会提示输入 PKI 服务器启动所需的所有密码。

注意

如果存在 password.conf 文件,子系统会假定存在所有必需的密码,并以明文正确格式化。如果任何密码缺失或格式错误,则系统无法正确启动。

所需的密码列在 CS.cfg 文件中的 cms.passwordlist 参数中:

cms.passwordlist=internaldb,replicationdb,CA LDAP Publishing
cms.password.ignore.publishing.failure=true
注意

cms.password.ignore.publishing.failure 参数允许 CA 子系统成功启动,即使它有与其中一个 LDAP 发布目录的连接失败。

对于 CA、KRA、OCSP 和 TKS 子系统,默认的预期密码是:

  • NSS 数据库 的内部
  • 内部 LDAP 数据库的 internaldb
  • replicationdb 用于复制密码
  • 任何用于访问用于发布的外部 LDAP 数据库的密码(仅限 CA)

    注意

    如果在 password.conf 文件被删除后配置了发布者,则不会将任何内容写入 password.conf 文件。除非配置了 nuxwdog,否则服务器将无法访问实例下次重启时的新发布密码。

  • 任何外部硬件令牌密码

对于 TPS,这提示输入三个密码:

  • NSS 数据库 的内部
  • 内部 LDAP 数据库的 tokendbpass
  • 任何外部硬件令牌密码

本节论述了为证书系统提供用来检索这些密码的两个机制:

  • password.conf 文件(默认)
  • nuxwdog (watchdog)

13.3.1. 配置 password.conf 文件

注意

本节仅供参考。正确和安全操作必须涉及使用 nuxwdog watchdog。请参阅 第 13.3.2 节 “使用证书系统 watchdog 服务” 启用 nuxwdog,因为完全合规需要它。

默认情况下,密码存储在子系统 conf/ 目录中的纯文本文件 password.conf 中。因此,只需通过文本编辑器修改它们。

此文件中存储的密码列表包括:

  • 证书系统实例用于访问和更新内部数据库的绑定密码。
  • HSM 的密码
  • 证书系统实例用来访问身份验证目录的绑定密码,以防 CMC 共享文件系统服务。
  • 子系统用来访问和更新 LDAP 发布目录的绑定密码;这只有在为发布证书进行了配置并且 CRL 到 LDAP 兼容目录时才需要。
  • 子系统使用的绑定密码来访问其复制数据库。
  • 对于 TPS 实例,用于访问和更新令牌数据库的绑定密码。

password.conf 文件还包含打开子系统私钥所需的令牌密码。

用于子系统的名称和位置密码文件在 CS.cfg 文件中配置:

passwordFile=/var/lib/pki/ instance_name/conf/password.conf

内部密码存储和复制数据库具有随机生成的 PIN,这些 PIN 在安装和配置子系统时设置;在配置实例时管理员定义了内部 LDAP 数据库密码。

password.conf 文件中的密码条目采用以下格式:

name=password

例如:

internal=413691159497

如果需要 HSM 令牌,请使用以下格式:

hardware-name=password

例如:

hardware-NHSM6000=MyHSM$S8cret

password.conf 文件的内容示例:

internal=376577078151
internaldb=secret12
replicationdb=1535106826
hardware-NHSM6000=MyHSM$S8cret

13.3.2. 使用证书系统 watchdog 服务

在证书系统中,watchdog 服务用于启动需要密码访问安全数据库的服务,以便启动。如果需要不要在系统中存储未加密的密码,则 watchdog 服务:

  • 在服务器启动期间提示输入相关密码并缓存它们。
  • 当服务器因为崩溃而自动重启时,请使用缓存的密码。

13.3.2.1. 启用 watchdog 服务

启用 watchdog 服务:

  1. 如果要在此主机上使用 Shared Secret 功能,请启用 Shared Secret 功能,如 第 13.7.8 节 “启用 CMC Shared Secret 功能” 所述。
  2. /var/lib/pki/ instance_name/conf/ 目录中备份 server.xmlpassword.conf 文件。例如:

    # cp -p /var/lib/pki/ instance_name/conf/server.xml /root/
    # cp -p /var/lib/pki/ instance_name/conf/password.conf /root/
  3. 停止并禁用证书系统实例的服务:

    # systemctl stop pki-tomcatd@instance_name.service
    # systemctl disable pki-tomcatd@instance_name.service
  4. 如果您使用硬件安全模块(HSM),请启用 watchdog 服务来提示输入硬件令牌的密码:

    • 显示硬件令牌的名称:

      # egrep "^hardware-" /var/lib/pki/ instance_name/conf/password.conf
      hardware-HSM_token_name=password

      上例中突出显示的字符串是硬件令牌名称。

    • cms.tokenList 参数添加到 /var/lib/pki/ instance_name/conf/ca/CS.cfg 文件中,并将其设置为硬件令牌的名称。例如:

      cms.tokenList=HMS_token_name
  5. 为实例启用 watchdog 配置:

    # pki-server instance-nuxwdog-enable instance_name

    或者,为所有实例启用 watchdog:

    # pki-server nuxwdog-enable

    详情请查看 pki-server-nuxwdog (8) 手册页。

  6. 默认情况下,nuxwdog 作为在 /etc/sysconfig/pki-tomcat 文件中的 TOMCAT_USER 变量中配置的用户启动服务器。另外,要修改用户和组:

    • 将实例的 watchdog systemd 单元文件复制到 /etc/systemd/system/ 目录中:

      # cp -p /usr/lib/systemd/system/instance_name-nuxwdog@.service /etc/systemd/system/
      注意

      /etc/systemd/system/ 目录中的单元文件具有更高的优先级,且在更新过程中不会被替换。

    • 将以下条目添加到 /etc/pki/ instance_name/nuxwdog.conf 文件中的 [Service] 部分:

      User new_user_name
    • 重新载入 systemd 配置:

      # systemctl daemon-reload
  7. 启用使用 watchdog 的证书系统服务:

    # systemctl enable pki-tomcatd-nuxwdog@instance_name.service
  8. 可选:请参阅 第 13.3.2.3 节 “验证证书系统 watchdog 服务是否已启用”
  9. 要启动证书系统实例,请运行以下命令并输入提示的密码:

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

13.3.2.2. 在启用了 watchdog 的情况下启动和停止证书系统

有关如何管理证书系统实例的详情,请参考 第 2.2.3 节 “执行管理(systemctl)”

13.3.2.3. 验证证书系统 watchdog 服务是否已启用

验证 watchdog 服务是否已启用:

  1. 验证 pki-tomcatd-nuxwdog 服务是否已启用:

    # systemctl is-enabled pki-tomcatd-nuxwdog@instance_name.service
    enabled
  2. 验证 pki-tomcatd 服务是否已禁用:

    # systemctl is-disabled pki-tomcatd@instance_name.service
    disabled
  3. /etc/pki/ instance_name/server.xml 文件中:

    • 验证 passwordFile 参数是否指向 CS.cfg 文件。例如:

      passwordFile="/var/lib/pki/ instance_name/ca/CS.cfg"
    • 验证 passwordClass 参数设置为 com.netscape.cms.tomcat.NuxwdogPasswordStore

      passwordClass="com.netscape.cms.tomcat.NuxwdogPasswordStore"

13.3.2.4. 禁用 watchdog 服务

禁用 watchdog 服务:

  1. 停止并禁用使用 watchdog 的证书系统实例的服务:

    # systemctl stop pki-tomcatd-nuxwdog@instance_name.service
    # systemctl disable pki-tomcatd-nuxwdog@instance_name.service
  2. 在不监视实例的情况下启用常规服务:

    # pki-server instance-nuxwdog-disable instance_name
  3. 禁用实例的 watchdog 配置:

    # systemctl enable pki-tomcatd@instance_name.service

    详情请查看 pki-server-nuxwdog (8) 手册页。

  4. password.conf 文件恢复到其原始位置。例如:

    # cp /root/password.conf.bak /var/lib/pki/ instance_name/conf/password.conf
  5. 启动证书系统实例:

    # systemctl start pki-tomcatd@instance_name.service
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.