搜索

14.3. 管理系统密码

download PDF
第 2.3.10 节 “密码和 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)

14.3.1. 配置 password.conf 文件

注意
本节仅供参考。正确的和安全操作必须涉及使用 nuxwdog watchdog。请参阅 第 14.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-NHSM-CONN-XC=MyHSM$S8cret
password.conf 文件的内容示例:
internal=376577078151
internaldb=secret12
replicationdb=1535106826
hardware-NHSM-CONN-XC=MyHSM$S8cret

14.3.2. 使用证书系统 Watchdog 服务

在证书系统中,watchdog 服务用于启动需要密码访问安全数据库的服务,以便启动。如果需要不要在系统中存储未加密的密码,则 watchdog 服务:
  • 在服务器启动期间提示输入相关密码并缓存它们。
  • 当服务器因为崩溃而自动重启时,请使用缓存的密码。

14.3.2.1. 启用 Watchdog 服务

启用 watchdog 服务:
  1. 如果要在此主机上使用 Shared Secret 功能,请启用 Shared Secret 功能,如 第 14.8.3 节 “启用 CMC 共享 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 服务来提示输入硬件令牌的密码:
    1. 显示硬件令牌的名称:
      # egrep "^hardware-" /var/lib/pki/instance_name/conf/password.conf
      hardware-HSM_token_name=password
      上例中突出显示的字符串是硬件令牌名称。
    2. 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) man page。
  6. 默认情况下,nuxwdog 将服务器作为 /etc/sysconfig/pki-tomcat 文件中的 TOMCAT_USER 变量中配置的用户启动。另外,要修改用户和组:
    1. 将实例的 watchdog systemd 单元文件复制到 /etc/systemd/system/ 目录中:
      # cp -p /usr/lib/systemd/system/instance_name-nuxwdog@.service /etc/systemd/system/
      注意
      /etc/systemd/system/ 目录中的单元文件具有更高的优先级,且不会在更新过程中替换。
    2. /etc/pki/instance_name/nuxwdog.conf 文件中的 [Service] 部分添加以下条目:
      User new_user_name
    3. 重新载入 systemd 配置:
      # systemctl daemon-reload
  7. 启用使用 watchdog 的证书系统服务:
    # systemctl enable pki-tomcatd-nuxwdog@instance_name.service
  8. 要启动证书系统实例,请运行以下命令并输入提示的密码:
    # systemctl start pki-tomcatd-nuxwdog@instance_name.service

14.3.2.2. 使用启用 Watchdog 启动和停止证书系统

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

14.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 文件中:
    1. 验证 passwordFile 参数是否引用 CS.cfg 文件。例如:
      passwordFile="/var/lib/pki/instance_name/ca/CS.cfg"
    2. 验证 passwordClass 参数是否已设置为 com.netscape.cms.tomcat.NuxwdogPasswordStore
      passwordClass="com.netscape.cms.tomcat.NuxwdogPasswordStore"

14.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) man page。
  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.