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.issuingPointId.enableCRLCache=true
ca.crl.issuingPointId.enableCRLUpdates=true
ca.listenToCloneModifications=false
すべてのレプリカは、マスター CA を CRL 情報のソースとして参照し、CRL 設定を無効にします。
ca.crl.issuingPointId.enableCRLUpdates=false
ca.crl.issuingPointId.enableCRLUpdates=false
CRL を発行する IdM トポロジーにあるインスタンスが 1 つ必要です。元のサーバーがオフラインまたは使用を停止する場合は、レプリカをオフラインにするか、または使用停止するように設定する必要があります。レプリカをマスターサーバーにプロモート すると、設定が変更され、CRL を発行し、ルート CA として機能できるようになります。
CRL 生成をサーバーからレプリカに移動するには、まず元のマスター CA を廃止します。
- マスター CA サーバーであるサーバーインスタンスを特定します。CRL の生成 および 更新操作は、いずれも同じ CA サーバーによって処理されます。したがって、マスター CA は、certmonger で追跡されている renew_ca_cert 証明書を利用して識別できます。
getcert list -d /var/lib/pki-ca/alias -n "subsystemCert cert-pki-ca" | grep post-save
[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"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 元のマスター CA で、元の CA 証明書の追跡を無効にします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 元のマスター CA を再設定し、新規マスター CA から更新された証明書を取得します。
- 更新ヘルパーを certmonger ディレクトリーにコピーし、適切なパーミッションを設定します。
cp /usr/share/ipa/ca_renewal /var/lib/certmonger/cas/ca_renewal chmod 0600 /var/lib/certmonger/cas/ca_renewal
[root@server ~]# cp /usr/share/ipa/ca_renewal /var/lib/certmonger/cas/ca_renewal [root@server ~]# chmod 0600 /var/lib/certmonger/cas/ca_renewal
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - SELinux 設定を更新します。
/sbin/restorecon /var/lib/certmonger/cas/ca_renewal
[root@server ~]# /sbin/restorecon /var/lib/certmonger/cas/ca_renewal
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - certmonger を再起動します。
service certmonger restart
[root@server ~]# service certmonger restart
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - CA が証明書を取得するようになっているかチェックします。これは CA 設定で出力されます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - CA 証明書データベースの PIN を取得します。
grep internal= /var/lib/pki-ca/conf/password.conf
[root@server ~]# grep internal= /var/lib/pki-ca/conf/password.conf
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 外部更新の証明書 certmonger 追跡を設定します。これには、データベース PIN が必要です。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- 元のマスター CA で CRL 生成を停止します。
- CA サービスを停止します。
service pki-cad stop
[root@server ~]# service pki-cad stop
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - CA 設定ファイルを開きます。
vim /var/lib/pki-ca/conf/CS.cfg
[root@server ~]# vim /var/lib/pki-ca/conf/CS.cfg
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ca.crl.MasterCRL.enableCRLCache
およびca.crl.MasterCRL.enableCRLUpdates
パラメーターの値を false に変更して CRL 生成を無効にします。ca.crl.MasterCRL.enableCRLCache=false ca.crl.MasterCRL.enableCRLUpdates=false
ca.crl.MasterCRL.enableCRLCache=false ca.crl.MasterCRL.enableCRLUpdates=false
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - CA サービスを起動します。
service pki-cad start
[root@server ~]# service pki-cad start
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- CRL 要求を新規マスターにリダイレクトするように Apache を設定します。
- CA プロキシー設定を開きます。
vim /etc/httpd/conf.d/ipa-pki-proxy.conf
[root@server ~]# vim /etc/httpd/conf.d/ipa-pki-proxy.conf
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 最後の行で RewriteRule のコメントを解除します。
RewriteRule ^/ipa/crl/MasterCRL.bin https://server.example.com/ca/ee/ca/getCRL?op=getCRL&crlIssuingPoint=MasterCRL [L,R=301,NC]
RewriteRule ^/ipa/crl/MasterCRL.bin https://server.example.com/ca/ee/ca/getCRL?op=getCRL&crlIssuingPoint=MasterCRL [L,R=301,NC]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Apache を再起動します。
service httpd restart
[root@server ~]# service httpd restart
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
次に、レプリカを新しいマスターとして設定します。
- CA の証明書の追跡を停止して、更新設定を変更します。クローンとして、CA はマスターから更新された証明書を取得するよう設定されています。マスター CA として、更新した証明書を発行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - CA 証明書データベースの PIN を取得します。
grep internal= /var/lib/pki-ca/conf/password.conf
[root@server ~]# grep internal= /var/lib/pki-ca/conf/password.conf
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 更新エージェントプロファイルを使用して certmonger で追跡される証明書を設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 新規マスター CA が CRL を生成するように設定します。
- CA サービスを停止します。
service pki-cad stop
[root@server ~]# service pki-cad stop
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - CA 設定ファイルを開きます。
vim /var/lib/pki-ca/conf/CS.cfg
[root@server ~]# vim /var/lib/pki-ca/conf/CS.cfg
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ca.crl.MasterCRL.enableCRLCache
およびca.crl.MasterCRL.enableCRLUpdates
パラメーターの値を true に変更して、CRL 生成を有効にします。ca.crl.MasterCRL.enableCRLCache=true ca.crl.MasterCRL.enableCRLUpdates=true
ca.crl.MasterCRL.enableCRLCache=true ca.crl.MasterCRL.enableCRLUpdates=true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - CA サービスを起動します。
service pki-cad start
[root@server ~]# service pki-cad start
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- Apache を設定してリダイレクト CRL 要求を無効にします。クローンとして、すべての CRL 要求は元のマスターにルーティングされました。新規マスターとして、このインスタンスは CRL リクエストに応答します。
- CA プロキシー設定を開きます。
vim /etc/httpd/conf.d/ipa-pki-proxy.conf
[root@server ~]# vim /etc/httpd/conf.d/ipa-pki-proxy.conf
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 最後の行で RewriteRule 引数をコメントアウトします。
#RewriteRule ^/ipa/crl/MasterCRL.bin https://server.example.com/ca/ee/ca/getCRL?op=getCRL&crlIssuingPoint=MasterCRL [L,R=301,NC]
#RewriteRule ^/ipa/crl/MasterCRL.bin https://server.example.com/ca/ee/ca/getCRL?op=getCRL&crlIssuingPoint=MasterCRL [L,R=301,NC]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Apache を再起動します。
service httpd restart
[root@server ~]# service httpd restart
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
[9]
唯一の例外は、インストール時に CA なしのインストールでシステム証明書を手動で読み込まれる場合です。それ以外の場合は、Dogtag Certificate System インスタンスがインストールされ、設定されています。