第21章 IdM デプロイメント全体で期限切れになった Web サーバーと LDAP サーバーの証明書を置き換える


Identity Management (IdM) は、以下のサービス証明書を使用します。

  • LDAP (または Directory) サーバー証明書
  • Web (または httpd) サーバー証明書
  • PKINIT 証明書

統合認証局 (CA) のない IdM デプロイメントでは、certmonger サービスはデフォルトで IdM サービス証明書を追跡せず、有効期限の警告も提供しません。IdM システム管理者が証明書の追跡を手動で設定していない場合や、通知を設定していない場合、証明書が予告なく期限切れになる可能性があります。

server.idm.example.com IdM サーバー上で実行されている httpd および LDAP サービスの期限切れの証明書を、有効な証明書チェーンに手動で置き換えるには、次の手順を実行してください。

注記

httpd および LDAP サービスの証明書は、IdM サーバーごとに異なる鍵ペアとサブジェクト名を持っています。したがって、各 IdM サーバーで個別に証明書を更新する必要があります。

前提条件

  • トポロジー内の すべて の IdM レプリカで、httpd および LDAP 証明書の有効期限が切れている。そうでない場合は、Web サーバーと LDAP サーバーの証明書が IdM レプリカで期限切れになっていない場合の置き換え を参照してください。
  • IdM サーバーとレプリカへの root アクセス権がある。
  • Directory Manager パスワードを把握している。
  • 次のディレクトリーとファイルのバックアップを作成しました:

    • /etc/dirsrv/slapd-IDM-EXAMPLE-COM/
    • /etc/httpd/alias
    • /var/lib/certmonger
    • /var/lib/ipa/certs/
  • 新しい httpd/LDAP 証明書が、以前とは異なる外部 CA によって署名されることになる場合、またはすでにインストールされている CA 証明書が有効でなくなった場合は、その外部 CA の CA 証明書チェーンが格納されたファイルへのアクセス権がある。

手順

  1. オプション: /var/lib/ipa/private/var/lib/ipa/passwds のバックアップを実行します。
  2. 新しい証明書の署名に同じ認証局 (CA) を使用していない場合、またはすでにインストールされている CA 証明書が有効ではなくなった場合は、ローカルデータベース内の外部 CA に関する情報を、外部 CA の有効な CA 証明書チェーンを含むファイルで更新します。.このファイルは、PEM および DER 証明書、PKCS#7 証明書チェーン、PKCS#8 および生の秘密鍵、および PKCS#12 形式で受け入れられます。

    1. CA 証明書をインストールします。

      # ipa-cacert-manage install /path/to/ca.crt
      Copy to Clipboard Toggle word wrap
      重要

      新しい外部 CA 証明書のサブジェクトが古いものと同じであっても、使用している鍵が異なるために別の証明書となっている場合は、次の条件を満たしている場合にのみ、その証明書を使用できます。

      • 2 つの証明書に同一の信頼フラグが付けられている。
      • CA が同じニックネームを共有している。
      • 証明書にリストされている X509 拡張に、Authority Key Identifier (AKI) 拡張が含まれている。
    2. 残りの証明書チェーンを追加の CA 証明書として IdM にインストールします。ipa-cacert-manage install コマンドは、ファイル内の最初の証明書しか読み取りません。そのため、完全な CA チェーンをインストールするには、証明書を 1 つずつインストールする必要があります。たとえば、チェーンに 2 つの証明書が含まれている場合は、各証明書を個別のファイルに保存し、ファイルごとに ipa-cacert-manage install を個別に実行します。

      # ipa-cacert-manage install /path/to/intermediate-ca.crt
      Copy to Clipboard Toggle word wrap
      # ipa-cacert-manage install /path/to/root-ca.crt
      Copy to Clipboard Toggle word wrap
    3. 証明書チェーンからの証明書を使用して、ローカルの IdM 証明書データベースを更新します。

      # ipa-certupdate
      Copy to Clipboard Toggle word wrap
  3. httpd および LDAP の証明書を要求します。

    1. OpenSSL ユーティリティーを使用して、IdM インスタンスで実行している Apache Web サーバーの証明書署名要求 (CSR) をサードパーティー CA に作成します。

      • 新しい秘密鍵の作成は任意です。元の秘密鍵がまだある場合は、openssl req コマンドで -in オプションを使用して、要求を読み取る入力ファイル名を指定できます。

        $ openssl req -new -nodes -in /var/lib/ipa/private/httpd.key -out /tmp/http.csr -addext 'subjectAltName = DNS:_server.idm.example.com_, otherName:1.3.6.1.4.1.311.20.2.3;UTF8:HTTP/server.idm.example.com@IDM.EXAMPLE.COM' -subj '/O=IDM.EXAMPLE.COM/CN=server.idm.example.com'
        Copy to Clipboard Toggle word wrap
      • 新しいキーを作成する場合:

        $ openssl req -new -newkey rsa:2048 -nodes -keyout /var/lib/ipa/private/httpd.key -out /tmp/http.csr -addext 'subjectAltName = DNS:server.idm.example.com, otherName:1.3.6.1.4.1.311.20.2.3;UTF8:HTTP/server.idm.example.com@IDM.EXAMPLE.COM' -subj '/O=IDM.EXAMPLE.COM/CN=server.idm.example.com'
        Copy to Clipboard Toggle word wrap
    2. OpenSSL ユーティリティーを使用して、IdM インスタンスで実行している LDAP サーバーの証明書署名要求 (CSR) をサードパーティー CA に作成します。

      $ openssl req -new -newkey rsa:2048 -nodes -keyout ~/ldap.key -out /tmp/ldap.csr -addext 'subjectAltName = DNS:server.idm.example.com, otherName:1.3.6.1.4.1.311.20.2.3;UTF8:ldap/server.idm.example.com@IDM.EXAMPLE.COM' -subj '/O=IDM.EXAMPLE.COM/CN=server.idm.example.com'
      Copy to Clipboard Toggle word wrap
    3. CSR、/tmp/http.csr および tmp/ldap.csr を外部 CA に送信し、httpd の証明書と LDAP の証明書を取得します。このプロセスは、外部 CA として使用するサービスにより異なります。
  4. httpd の証明書をインストールします。

    # cp /path/to/httpd.crt /var/lib/ipa/certs/
    Copy to Clipboard Toggle word wrap
  5. LDAP 証明書を NSS データベースにインストールします。

    1. オプション: 利用可能な証明書をリスト表示します。

      # certutil -d /etc/dirsrv/slapd-IDM-EXAMPLE-COM/ -L
      Certificate Nickname                                         Trust Attributes
                                                                   SSL,S/MIME,JAR/XPI
      
      Server-Cert                                                  u,u,u
      Copy to Clipboard Toggle word wrap

      デフォルトの証明書のニックネームは Server-Cert ですが、別の名前が適用された可能性があります。

    2. 前の手順の証明書のニックネームを使用して、古い無効な証明書を NSS データベース (NSSDB) から削除します。

      # certutil -D -d /etc/dirsrv/slapd-IDM-EXAMPLE-COM/ -n 'Server-Cert' -f /etc/dirsrv/slapd-IDM-EXAMPLE-COM/pwdfile.txt
      Copy to Clipboard Toggle word wrap
    3. NSSDB へのインポートプロセスを容易にするために、PKCS12 ファイルを作成します。

      # openssl pkcs12 -export -in ldap.crt -inkey ldap.key -out ldap.p12 -name Server-Cert
      Copy to Clipboard Toggle word wrap
    4. 作成した PKCS#12 ファイルを NSSDB にインストールします。

      # pk12util -i ldap.p12 -d /etc/dirsrv/slapd-IDM-EXAMPLE-COM/ -k /etc/dirsrv/slapd-IDM-EXAMPLE-COM/pwdfile.txt
      Copy to Clipboard Toggle word wrap
    5. 新しい証明書が正常にインポートされたことを確認します。

      # certutil -L -d /etc/dirsrv/slapd-IDM-EXAMPLE-COM/
      Copy to Clipboard Toggle word wrap
  6. httpd サービスを再起動します。

    # systemctl restart httpd.service
    Copy to Clipboard Toggle word wrap
  7. Directory サービスを再起動します。

    # systemctl restart dirsrv@IDM-EXAMPLE-COM.service
    Copy to Clipboard Toggle word wrap
  8. すべての IdM レプリカで前のすべての手順を実行します。これは、レプリカ間の TLS 接続を確立するための前提条件です。
  9. 新しい証明書を LDAP ストレージに登録します。

    1. Apache サーバーの古い秘密鍵および証明書を、新しい鍵と、新しく署名した証明書に置き換えます。

      # ipa-server-certinstall -w --pin=password /var/lib/ipa/private/httpd.key /var/lib/ipa/certs/httpd.crt
      Copy to Clipboard Toggle word wrap

      上記のコマンドでは、以下のようになります。

      • -w オプションは、Web サーバーに証明書をインストールすることを指定します。
      • --pin オプションは、秘密鍵を保護するパスワードを指定します。
    2. プロンプトが表示されたら、Directory Manager パスワードを入力します。
    3. LDAP サーバーの古い秘密鍵および証明書を、新しい鍵と、新しく署名した証明書に置き換えます。

      # ipa-server-certinstall -d --pin=password /etc/dirsrv/slapd-IDM-EXAMPLE-COM/ldap.key /path/to/ldap.crt
      Copy to Clipboard Toggle word wrap

      上記のコマンドでは、以下のようになります。

      • -d オプションは、LDAP サーバーに証明書をインストールすることを指定します。
      • --pin オプションは、秘密鍵を保護するパスワードを指定します。
    4. プロンプトが表示されたら、Directory Manager パスワードを入力します。
    5. httpd サービスを再起動します。

      # systemctl restart httpd.service
      Copy to Clipboard Toggle word wrap
    6. Directory サービスを再起動します。

      # systemctl restart dirsrv@IDM-EXAMPLE-COM.service
      Copy to Clipboard Toggle word wrap
  10. 影響を受ける他のすべてのレプリカで、前の手順のコマンドを実行します。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat