第 17 章 弃用执行 CA 续订服务器和 CRL publisher 角色的服务器

您可能有一个服务器执行证书颁发机构(CA)续订服务器角色以及证书 Revocation List(CRL)publisher 角色。如果您需要脱机或停用这个服务器,请选择另一个 CA 服务器来执行这些角色。

在本例中,主机 server.idm.example.com 必须停用实现 CA 续订服务器和 CRL publisher 角色。此流程将 CA 续订服务器和 CRL publisher 角色传送到主机 replica.idm.example.com,并从 IdM 环境中删除 server.idm.example.com

注意

您不需要配置同一服务器来执行 CA 续订服务器和 CRL publisher 角色。

先决条件

  • 有 IdM 管理员凭证。
  • 您有您要停用的服务器的 root 密码。
  • IdM 环境中至少有两个 CA 副本。

流程

  1. 获取 IdM 管理员凭证:

    [user@server ~]$ kinit admin
    Password for admin@IDM.EXAMPLE.COM:
  2. (可选) 如果您不确定哪些服务器执行 CA 续订服务器和 CRL 发布者角色:

    1. 显示当前的 CA 续订服务器。您可以从任何 IdM 服务器运行以下命令:

      [user@server ~]$ ipa config-show | grep 'CA renewal'
        IPA CA renewal master: server.idm.example.com
    2. 测试主机是否为当前的 CRL publisher。

      [user@server ~]$ ipa-crlgen-manage status
      CRL generation: enabled
      Last CRL update: 2019-10-31 12:00:00
      Last CRL Number: 6
      The ipa-crlgen-manage command was successful

      不生成 CRL 的 CA 服务器显示 CRL 生成:禁用

      [user@replica ~]$ ipa-crlgen-manage status
      CRL generation: disabled
      The ipa-crlgen-manage command was successful

      继续在 CA 服务器上输入这个命令,直到您找到了 CRL publisher 服务器。

    3. 显示您可以提升以履行这些角色的所有其他 CA 服务器。此环境有两个 CA 服务器。

      [user@server ~]$ ipa server-role-find --role 'CA server'
      ----------------------
      2 server roles matched
      ----------------------
        Server name: server.idm.example.com
        Role name: CA server
        Role status: enabled
        Server name: replica.idm.example.com
        Role name: CA server
        Role status: enabled
      ----------------------------
      Number of entries returned 2
      ----------------------------
  3. replica.idm.example.com 设置为 CA 续订服务器。

    [user@server ~]$ ipa config-mod --ca-renewal-master-server replica.idm.example.com
  4. server.idm.example.com 中:

    1. 禁用证书更新器任务:

      [root@server ~]# pki-server ca-config-set ca.certStatusUpdateInterval 0
    2. 重启 IdM 服务:

      [user@server ~]# ipactl restart
  5. replica.idm.example.com 中:

    1. 启用证书更新器任务:

      [root@replica ~]# pki-server ca-config-unset ca.certStatusUpdateInterval
    2. 重启 IdM 服务:

      [user@replica ~]# ipactl restart
  6. server.idm.example.com 上,停止生成 CRL。

    [user@server ~]$ ipa-crlgen-manage disable
    Stopping pki-tomcatd
    Editing /var/lib/pki/pki-tomcat/conf/ca/CS.cfg
    Starting pki-tomcatd
    Editing /etc/httpd/conf.d/ipa-pki-proxy.conf
    Restarting httpd
    CRL generation disabled on the local host. Please make sure to configure CRL generation on another master with ipa-crlgen-manage enable.
    The ipa-crlgen-manage command was successful
  7. replica.idm.example.com 上,开始生成 CRL。

    [user@replica ~]$ ipa-crlgen-manage enable
    Stopping pki-tomcatd
    Editing /var/lib/pki/pki-tomcat/conf/ca/CS.cfg
    Starting pki-tomcatd
    Editing /etc/httpd/conf.d/ipa-pki-proxy.conf
    Restarting httpd
    Forcing CRL update
    CRL generation enabled on the local host. Please make sure to have only a single CRL generation master.
    The ipa-crlgen-manage command was successful
  8. 停止 server.idm.example.com 中的 IdM 服务:

    [user@server ~]$ ipactl stop
  9. replica.idm.example.com 中,从 IdM 环境中删除 server.idm.example.com

    [user@replica ~]$ ipa server-del server.idm.example.com
  10. server.idm.example.com 中,使用 ipa-server-install --uninstall 命令作为 root 帐户:

    [root@server ~]# ipa-server-install --uninstall
    ...
    Are you sure you want to continue with the uninstall procedure? [no]: yes

验证步骤

  • 显示当前的 CA 续订服务器。

    [user@replica ~]$ ipa config-show | grep 'CA renewal'
      IPA CA renewal master: replica.idm.example.com
  • 确认 replica.idm.example.com 主机正在生成 CRL。

    [user@replica ~]$ ipa-crlgen-manage status
    CRL generation: enabled
    Last CRL update: 2019-10-31 12:10:00
    Last CRL Number: 7
    The ipa-crlgen-manage command was successful