Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

26.2. 証明書の更新

詳細は、以下を参照してください。

26.2.1. 証明書の自動更新

Certmonger サービスは、有効期限が切れる前に以下の証明書の 28 日を自動的に更新します。
  • IdM CA がルート CA として発行する CA 証明書
  • 内部 IdM サービスが使用する統合 IdM CA が発行するサブシステム証明書およびサーバー証明書
サブ CA の CA 証明書を自動的に更新するには、certmonger 追跡リストに記載する必要があります。追跡リストを更新するには、以下を実行します。
[root@ipaserver ~]# ipa-certupdate
trying https://idmserver.idm.example.com/ipa/json
Forwarding 'schema' to json server 'https://idmserver.idm.example.com/ipa/json'
trying https://idmserver.idm.example.com/ipa/json
Forwarding 'ca_is_enabled' to json server 'https://idmserver.idm.example.com/ipa/json'
Forwarding 'ca_find/1' to json server 'https://idmserver.idm.example.com/ipa/json'
Systemwide CA database updated.
Systemwide CA database updated.
The ipa-certupdate command was successful
注記
外部 CA をルート CA として使用している場合は、「CA 証明書の手動更新」 の説明に従って証明書を手動で更新する必要があります。Certmonger サービスは、外部 CA により署名された証明書を自動的に更新することはできません。
Certmonger が 証明書の有効期限 を監視する方法の詳細は、『certmonger を使用した証明書の追跡』のシステムレベルの認証ガイド を参照してください。
自動更新が想定どおりに機能していることを確認するには、/var/log/messages ファイルで certmonger のログメッセージを確認します。
  • 証明書の更新後、certmonger は以下のようなメッセージを記録し、更新操作が成功したか、失敗したことを示します。
    Certificate named "NSS Certificate DB" in token "auditSigningCert cert-pki-ca" in database "/var/lib/pki-ca/alias" renew success
  • 証明書が有効期限に近づくと、certmonger は次のメッセージをログに記録します。
    certmonger: Certificate named "NSS Certificate DB" in token "auditSigningCert cert-pki-ca" in database "/var/lib/pki-ca/alias" will not be valid after 20160204065136.

26.2.2. CA 証明書の手動更新

ipa-cacert-manage ユーティリティーを使用して、以下を手動で更新できます。
  • 自己署名 IdM CA 証明書
  • 外部署名の IdM CA 証明書
ipa-cacert-manage renew コマンドで更新された証明書は、古い証明書と同じキーペアとサブジェクト名を使用します。証明書を更新しても、証明書のロールオーバーを有効にするために以前のバージョンが削除されません。
詳細は ipa-cacert-manage(1) の man ページを参照してください。

26.2.2.1. 自己署名証明書の手動更新

  1. ipa-cacert-manage --renew コマンドを実行します。このコマンドでは、証明書へのパスを指定する必要はありません。
  2. 更新された証明書が LDAP 証明書ストアと、/etc/pki/pki-tomcat/alias NSS データベースに表示されるようになりました。
  3. すべてのサーバーとクライアントで ipa-certupdate ユーティリティーを実行し、LDAP から新しい証明書に関する情報で更新します。すべてのサーバーとクライアントで ipa-certupdate を実行する必要があります。
    重要
    証明書を手動でインストールした後は、常に ipa-certupdate を実行します。これがない場合、証明書は他のマシンに配布されません。
更新した証明書が正しくインストールされていることを確認するには、certutil ユーティリティーを使用して、データベース内の証明書を表示します。以下に例を示します。
# certutil -L -d /etc/pki/pki-tomcat/alias

26.2.2.2. 外部署名の IdM CA 証明書の手動更新

  1. ipa-cacert-manage renew --external-ca コマンドを実行します。
  2. このコマンドは、/var/lib/ipa/ca.crt CSR ファイルを作成します。CSR を外部 CA に送信して、更新した CA 証明書を取得します。
  3. ipa-cacert-manage renew 再度実行し、--external-cert-file オプションを使用して更新された CA 証明書と外部 CA 証明書チェーンファイルを指定します。以下に例を示します。
    # ipa-cacert-manage renew --external-cert-file=/tmp/servercert20110601.pem --external-cert-file=/tmp/cacert.pem
  4. 更新された CA 証明書と外部 CA 証明書チェーンが LDAP 証明書ストアと、/etc/pki/pki-tomcat/alias/ NSS データベースに存在するようになりました。
  5. すべてのサーバーとクライアントで ipa-certupdate ユーティリティーを実行し、LDAP から新しい証明書に関する情報で更新します。すべてのサーバーとクライアントで ipa-certupdate を実行する必要があります。
    重要
    証明書を手動でインストールした後は、常に ipa-certupdate を実行します。これがない場合、証明書は他のマシンに配布されません。
更新した証明書が正しくインストールされていることを確認するには、certutil ユーティリティーを使用して、データベース内の証明書を表示します。以下に例を示します。
# certutil -L -d /etc/pki/pki-tomcat/alias/

26.2.3. IdM がオフライン時に期限切れのシステム証明書の更新

システム証明書の期限が切れると、IdM が起動できません。IdM は、ipa-cert-fix ツールを使用して、このような状況であってもシステム証明書の更新に対応します。

前提条件

  • ホストで ipactl start --ignore-service-failures コマンドを入力して、LDAP サービスが実行中であることを確認する。

手順26.1 IdM サーバーで期限切れのシステム証明書の更新

  1. IdM ドメインの CA で、以下を行います。
    1. Ipa-cert-fix ユーティリティーを起動してシステムを調整し、期限切れの証明書をリスト表示します。
      # ipa-cert-fix
      ...
      The following certificates will be renewed:
      
      Dogtag sslserver certificate:
        Subject: CN=ca1.example.com,O=EXAMPLE.COM 201905222205
        Serial:  13
        Expires: 2019-05-12 05:55:47
      ...
      Enter "yes" to proceed:
    2. 更新プロセスを開始するには、yes を入力します。
      Enter "yes" to proceed: yes
      Proceeding.
      Renewed Dogtag sslserver certificate:
        Subject: CN=ca1.example.com,O=EXAMPLE.COM 201905222205
        Serial:  268369925
        Expires: 2021-08-14 02:19:33
      ...
      
      Becoming renewal master.
      The ipa-cert-fix command was successful
      ipa-cert-fix が期限切れの証明書をすべて更新する前に、最大 1 分かかる場合があります。
      注記
      更新マスターではない CA ホストで ipa-cert-fix ユーティリティーを実行し、ユーティリティーが共有証明書を更新すると、このホストはドメインの新しい更新マスターになります。不整合を避けるために、ドメインには常に更新マスターを 1 つだけ設定する必要があります。
    3. 必要に応じて、すべてのサービスが実行中であることを確認します。
      # ipactl status
      Directory Service: RUNNING
      krb5kdc Service: RUNNING
      kadmin Service: RUNNING
      httpd Service: RUNNING
      ipa-custodia Service: RUNNING
      pki-tomcatd Service: RUNNING
      ipa-otpd Service: RUNNING
      ipa: INFO: The ipactl command was successful
  2. IdM ドメインの他のサーバーの場合:
    1. --force パラメーターを使用して IdM を再起動します。
      # ipactl restart --force
      --force パラメーターを使用すると、ipactl ユーティリティーは個々の起動失敗を無視します。たとえば、サーバーが CA もあると、pki-tomcat サービスが起動に失敗します。--force パラメーターを使用しているため、これが予想され、無視されます。
    2. 再起動後に、certmonger サービスが証明書を更新することを確認します。
      # getcert list | egrep '^Request|status:|subject:'
      Request ID '20190522120745':
              status: MONITORING
              subject: CN=IPA RA,O=EXAMPLE.COM 201905222205
      Request ID '20190522120834':
              status: MONITORING
              subject: CN=Certificate Authority,O=EXAMPLE.COM 201905222205
      ...
      certmonger がレプリカ上で共有証明書を更新する前に時間がかかる場合があることに注意してください。
    3. サーバーも CA の場合、上記のコマンドは、pki-tomcat サービスが使用する証明書の CA_UNREACHABLE を報告します。
      Request ID '20190522120835':
              status: CA_UNREACHABLE
              subject: CN=ca2.example.com,O=EXAMPLE.COM 201905222205
      ...
      この証明書を更新するには、ipa-cert-fix ユーティリティーを使用します。
      # ipa-cert-fix
      Dogtag sslserver certificate:
        Subject: CN=ca2.example.com,O=EXAMPLE.COM
        Serial:  3
        Expires: 2019-05-11 12:07:11
      
      Enter "yes" to proceed: yes
      Proceeding.
      Renewed Dogtag sslserver certificate:
        Subject: CN=ca2.example.com,O=EXAMPLE.COM 201905222205
        Serial:  15
        Expires: 2019-08-14 04:25:05
      
      The ipa-cert-fix command was successful