28.2.4. CRL を生成するサーバーの変更


マスター CA は権威 CA です。これにはルート CA 署名キーがあり、トポロジー内の他のサーバーおよびレプリカに配布される CRL を生成します。通常、最初にインストールされた IdM サーバーは、PKI 階層でマスター CA を所有します。後続のレプリカデータベースはすべて、ipa-replica-install の実行時にそのマスターデータベースから直接クローン (またはコピー) さます。
注記
マスターサーバーを置き換える唯一の理由は、マスターサーバーがオフラインの場合に限られます。CRL を発行し、最終的に証明書チェックを検証することができるルート CA が必要です。
「IdM サーバーおよびレプリカの概要」の説明にあるように、すべてのサーバーとレプリカが連携してデータを共有します。この配置は サーバートポロジー です。
サーバー (ipa-server-install で作成したもの) は、認証局サービスをホストするためにほぼ常に作成されます。[9].これらは の CA サービスです。レプリカが (ipa-replica-install) 作成されるとき、これは既存サーバーの設定に基づきます。レプリカは CA サービスをホス できます が、これは必須ではありません。
作成後、サーバーとレプリカはサーバートポロジーのピアと等しくなります。これらはすべて読み取り/書き込みデータマスターであり、マルチマスターレプリケーションを介して情報を相互に複製します。CA をホストするサーバーおよびレプリカも、トポロジーのピアと同等です。IdM クライアントに証明書と鍵をすべて発行し、それぞれで情報を複製できます。
サーバーとレプリカの違いは、CRL を発行する IdM インスタンスのみです。
最初のサーバーがインストールされると、CRL を発行するよう設定されます。CA 設定ファイル /var/lib/pki-ca/conf/CS.cfg では、CRL 生成が有効にされています。
ca.crl.issuingPointId.enableCRLCache=true
ca.crl.issuingPointId.enableCRLUpdates=true
ca.listenToCloneModifications=false
すべてのレプリカは、マスター CA を CRL 情報のソースとして参照し、CRL 設定を無効にします。
ca.crl.issuingPointId.enableCRLUpdates=false
CRL を発行する IdM トポロジーにあるインスタンスが 1 つ必要です。元のサーバーがオフラインまたは使用を停止する場合は、レプリカをオフラインにするか、または使用停止するように設定する必要があります。レプリカをマスターサーバーにプロモート すると、設定が変更され、CRL を発行し、ルート CA として機能できるようになります。
CRL 生成をサーバーからレプリカに移動するには、まず元のマスター CA を廃止します。
  1. マスター CA サーバーであるサーバーインスタンスを特定します。CRL の生成 および 更新操作は、いずれも同じ CA サーバーによって処理されます。したがって、マスター CA は、certmonger で追跡されている renew_ca_cert 証明書を利用して識別できます。
    [root@server ~]# getcert list -d /var/lib/pki-ca/alias -n "subsystemCert cert-pki-ca" | grep post-save
    	post-save command: /usr/lib64/ipa/certmonger/renew_ca_cert "subsystemCert cert-pki-ca"
  2. 元のマスター CA で、元の CA 証明書の追跡を無効にします。
    [root@server ~]# getcert stop-tracking -d /var/lib/pki-ca/alias -n "auditSigningCert cert-pki-ca"
    Request "20131127184547" removed.
    [root@server ~]# getcert stop-tracking -d /var/lib/pki-ca/alias -n "ocspSigningCert cert-pki-ca"
    Request "20131127184548" removed.
    [root@server ~]# getcert stop-tracking -d /var/lib/pki-ca/alias -n "subsystemCert cert-pki-ca"
    Request "20131127184549" removed.
    [root@server ~]# getcert stop-tracking -d /etc/httpd/alias -n ipaCert
    Request "20131127184550" removed.
  3. 元のマスター CA を再設定し、新規マスター CA から更新された証明書を取得します。
    1. 更新ヘルパーを certmonger ディレクトリーにコピーし、適切なパーミッションを設定します。
      [root@server ~]# cp /usr/share/ipa/ca_renewal /var/lib/certmonger/cas/ca_renewal
      [root@server ~]# chmod 0600 /var/lib/certmonger/cas/ca_renewal
    2. SELinux 設定を更新します。
      [root@server ~]# /sbin/restorecon  /var/lib/certmonger/cas/ca_renewal
    3. certmonger を再起動します。
      [root@server ~]# service certmonger restart
    4. CA が証明書を取得するようになっているかチェックします。これは CA 設定で出力されます。
      [root@server ~]# getcert list-cas
      ...
      CA 'dogtag-ipa-retrieve-agent-submit':
              is-default: no
              ca-type: EXTERNAL
      	helper-location: /usr/libexec/certmonger/dogtag-ipa-retrieve-agent-submit
    5. CA 証明書データベースの PIN を取得します。
      [root@server ~]# grep internal= /var/lib/pki-ca/conf/password.conf
    6. 外部更新の証明書 certmonger 追跡を設定します。これには、データベース PIN が必要です。
      [root@server ~]# getcert start-tracking -c dogtag-ipa-retrieve-agent-submit -d /var/lib/pki-ca/alias -n "auditSigningCert cert-pki-ca" -B /usr/lib64/ipa/certmonger/stop_pkicad -C '/usr/lib64/ipa/certmonger/restart_pkicad "auditSigningCert cert-pki-ca"' -T "auditSigningCert cert-pki-ca" -P database_pin
      New tracking request "20131127184743" added.
      [root@server ~]# getcert start-tracking -c dogtag-ipa-retrieve-agent-submit -d /var/lib/pki-ca/alias -n "ocspSigningCert cert-pki-ca" -B /usr/lib64/ipa/certmonger/stop_pkicad -C '/usr/lib64/ipa/certmonger/restart_pkicad "ocspSigningCert cert-pki-ca"' -T "ocspSigningCert cert-pki-ca" -P database_pin
      New tracking request "20131127184744" added.
      [root@server ~]# getcert start-tracking -c dogtag-ipa-retrieve-agent-submit -d /var/lib/pki-ca/alias -n "subsystemCert cert-pki-ca" -B /usr/lib64/ipa/certmonger/stop_pkicad -C '/usr/lib64/ipa/certmonger/restart_pkicad "subsystemCert cert-pki-ca"' -T "subsystemCert cert-pki-ca" -P database_pin
      New tracking request "20131127184745" added.
      [root@server ~]# getcert start-tracking -c dogtag-ipa-retrieve-agent-submit -d /etc/httpd/alias -n ipaCert -C /usr/lib64/ipa/certmonger/restart_httpd -T ipaCert -p /etc/httpd/alias/pwdfile.txt
      New tracking request "20131127184746" added.
  4. 元のマスター CA で CRL 生成を停止します。
    1. CA サービスを停止します。
      [root@server ~]# service pki-cad stop
    2. CA 設定ファイルを開きます。
      [root@server ~]# vim /var/lib/pki-ca/conf/CS.cfg
    3. ca.crl.MasterCRL.enableCRLCache および ca.crl.MasterCRL.enableCRLUpdates パラメーターの値を false に変更して CRL 生成を無効にします。
      ca.crl.MasterCRL.enableCRLCache=false
      ca.crl.MasterCRL.enableCRLUpdates=false
    4. CA サービスを起動します。
      [root@server ~]# service pki-cad start
  5. CRL 要求を新規マスターにリダイレクトするように Apache を設定します。
    1. CA プロキシー設定を開きます。
      [root@server ~]# vim /etc/httpd/conf.d/ipa-pki-proxy.conf
    2. 最後の行で RewriteRule のコメントを解除します。
      RewriteRule ^/ipa/crl/MasterCRL.bin https://server.example.com/ca/ee/ca/getCRL?op=getCRL&crlIssuingPoint=MasterCRL [L,R=301,NC]
    3. Apache を再起動します。
      [root@server ~]# service httpd restart
次に、レプリカを新しいマスターとして設定します。
  1. CA の証明書の追跡を停止して、更新設定を変更します。クローンとして、CA はマスターから更新された証明書を取得するよう設定されています。マスター CA として、更新した証明書を発行します。
    [root@server ~]# getcert stop-tracking -d /var/lib/pki-ca/alias -n "auditSigningCert cert-pki-ca"
    Request "20131127163822" removed.
    [root@server ~]# getcert stop-tracking -d /var/lib/pki-ca/alias -n "ocspSigningCert cert-pki-ca"
    Request "20131127163823" removed.
    [root@server ~]# getcert stop-tracking -d /var/lib/pki-ca/alias -n "subsystemCert cert-pki-ca"
    Request "20131127163824" removed.
    [root@server ~]# getcert stop-tracking -d /etc/httpd/alias -n ipaCert
    Request "20131127164042" removed.
  2. CA 証明書データベースの PIN を取得します。
    [root@server ~]# grep internal= /var/lib/pki-ca/conf/password.conf
  3. 更新エージェントプロファイルを使用して certmonger で追跡される証明書を設定します。
    [root@server ~]# getcert start-tracking -c dogtag-ipa-renew-agent -d /var/lib/pki-ca/alias -n "auditSigningCert cert-pki-ca" -B /usr/lib64/ipa/certmonger/stop_pkicad -C '/usr/lib64/ipa/certmonger/renew_ca_cert "auditSigningCert cert-pki-ca"' -P database_pin
    New tracking request "20131127185430" added.
    [root@server ~]# getcert start-tracking -c dogtag-ipa-renew-agent -d /var/lib/pki-ca/alias -n "ocspSigningCert cert-pki-ca" -B /usr/lib64/ipa/certmonger/stop_pkicad -C '/usr/lib64/ipa/certmonger/renew_ca_cert "ocspSigningCert cert-pki-ca"' -P database_pin
    New tracking request "20131127185431" added.
    [root@server ~]# getcert start-tracking -c dogtag-ipa-renew-agent -d /var/lib/pki-ca/alias -n "subsystemCert cert-pki-ca" -B /usr/lib64/ipa/certmonger/stop_pkicad -C '/usr/lib64/ipa/certmonger/renew_ca_cert "subsystemCert cert-pki-ca"' -P database_pin
    New tracking request "20131127185432" added.
    [root@server ~]# getcert start-tracking -c dogtag-ipa-renew-agent -d /etc/httpd/alias -n ipaCert -C /usr/lib64/ipa/certmonger/renew_ra_cert -p /etc/httpd/alias/pwdfile.txt
    New tracking request "20131127185433" added.
  4. 新規マスター CA が CRL を生成するように設定します。
    1. CA サービスを停止します。
      [root@server ~]# service pki-cad stop
    2. CA 設定ファイルを開きます。
      [root@server ~]# vim /var/lib/pki-ca/conf/CS.cfg
    3. ca.crl.MasterCRL.enableCRLCache および ca.crl.MasterCRL.enableCRLUpdates パラメーターの値を true に変更して、CRL 生成を有効にします。
      ca.crl.MasterCRL.enableCRLCache=true
      ca.crl.MasterCRL.enableCRLUpdates=true
    4. CA サービスを起動します。
      [root@server ~]# service pki-cad start
  5. Apache を設定してリダイレクト CRL 要求を無効にします。クローンとして、すべての CRL 要求は元のマスターにルーティングされました。新規マスターとして、このインスタンスは CRL リクエストに応答します。
    1. CA プロキシー設定を開きます。
      [root@server ~]# vim /etc/httpd/conf.d/ipa-pki-proxy.conf
    2. 最後の行で RewriteRule 引数をコメントアウトします。
      #RewriteRule ^/ipa/crl/MasterCRL.bin https://server.example.com/ca/ee/ca/getCRL?op=getCRL&crlIssuingPoint=MasterCRL [L,R=301,NC]
    3. Apache を再起動します。
      [root@server ~]# service httpd restart


[9] 唯一の例外は、インストール時に CA なしのインストールでシステム証明書を手動で読み込まれる場合です。それ以外の場合は、Dogtag Certificate System インスタンスがインストールされ、設定されています。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.