Active Directory 証明書サービスで構築した証明機関(CA)において、何等かの設定を変更を行う時、バックアップを作業前に取得しておき、問題があった場合にリストアしたいということがあります。
今回は、Active Directory 証明書サービスで構築した CA サーバーのバックアップ、リストアの手順を紹介します。
証明機関(CA) のバックアップ手順
CA サーバー上でバックアップを保存します。
バックアップされるデータは、CA 証明書(秘密キー付き)、CA データベース、構成情報を管理しているレジストリ設定です。
1) CA サーバーに管理者権限をもつユーザーでログオンします。
2) バックアップ ファイル保存用のフォルダとして、C ドライブ直下に CA_Backup という名前のフォルダを作成します。
(今回は例として CA_Backup というフォルダ上にバックアップを保存します。別のフォルダ名でも問題ありません。)
3) 管理者権限でコマンド プロンプトを開きます。
4) 以下のコマンドを実行し、CA データベースと CA 証明書(秘密キー付き)の採取を行います。
certutil -backup C:\CA_Backup
コマンドを実行するとパスワードの入力が求められるので、任意のパスワードを入力してください。
ここで設定するパスワードは CA 証明書を秘密キー付きでインポートする際に入力が求められるパスワードとなります。
上記コマンドが実行したら、バックアップ フォルダの中に以下のファイルが含まれていることを確認してください。
(1) 秘密キー付きでエクスポートするされた CA 証明書
(2) Database フォルダとそのフォルダ内に以下の 3 ファイル
certbkxp.dat edb00001.log 0hdcLCA01.edb
5) 続いて、以下のコマンドを実行し、CA 構成のレジストリ情報のエクスポート ファイルを採取します。
reg export HKLM\SYSTEM\CurrentControlSet\services\CertSvc C:\CA_Backup\CAregistry.reg
上記コマンドが実行したら、バックアップ フォルダの中に以下の通りとなります。
CA サーバーのバックアップの採取手順は以上となります。
CA データベースや CA の構成情報は更新される頻度が高いため、定期的に CA のバックアップを採取することをおすすめします。
証明機関(CA) のリストア手順
先程の手順で採取したバックアップを利用して、証明機関(CA)をリストアします。
CA サーバーにてリストアを行うと、CA 証明書、CA データベースなどが、バックアップを採取したタイミングに切り戻されます。
1) CA サーバーに管理者権限をもつユーザーでログオンします。
2) 管理者権限でコマンド プロンプトを開きます。
3) 以下のコマンドを実行し、Active Directory 証明書サービスを停止します。
net stop certsvc
※ “Active Directory Certificate Services サービスは正常に停止されました。” と表示されることを確認します。
4) 以下のコマンドを実行して、CA 証明書と CA データベースをリストアします。
certutil -restore -f C:\CA_Backup
コマンドを実行したら、CA 証明書を秘密キー付きでインポートするためのパスワードを入力します。
“CertUtil: -store コマンドは正常に完了しました。” と表示されたら、CA 証明書と CA データベースをリストアされております。
5) C:\CA_backup フォルダ内に保存されている、CA 構成のレジストリ情報のエクスポート ファイルをダブルクリックしてリストアします。
レジストリ設定をリストアする時、”続行しますか?” と表示されたら、[はい] をクリックします。
“<エクスポート ファイルのパス> に含まれるキーと値が、レジストリに正常に追加されました。” と表示されましたら、エクスポートしたレジストリ設定が正常にリストアされております。
6) リストアが完了したため、以下のコマンドを実行して、Active Directory 証明書サービスを起動します。
net start certsvc
※ “Active Directory Certificate Services サービスは正常に開始されました。” と表示されることを確認します。
7) Active Directory 証明書サービスが起動したら、以下のコマンドを実行して CRL を更新して公開します。
certutil -crl
CRL の更新、公開が完了したら、リストアの作業が完了です。
おまけ:CA 証明書を更新した場合
Active Directory 証明書サービスで構築したエンタープライズ CA で CA 証明書の更新作業を行った場合のシナリオを考えます。
CA サーバー自体の復旧作業は、通常のバックアップ、リストアで問題ございません。
しかしながら、エンタープライズ CA で CA 証明書を更新した場合、CA 証明書はドメイン コントローラーの構成パーティション上に公開されますので、通常のリストア手順のみでは元の状態に戻すことはできません。
そのため、エンタープライズ CA で CA 証明書を更新した後に元の状態に戻したい場合、通常のリストア手順とあわせて、構成パーティション上から更新した CA 証明書を削除する必要があります。
1) エンタープライズ CA に管理者権限をもつユーザーでログオンします。
2) [ファイル名を指定して実行] を開き、pkiview.msc と入力して [OK] をクリックします。
3) 画面の左ペインにて、[エンタープライズ PKI] を右クリックして [AD コンテナーの管理] をクリックします。
4) [証明機関コンテナー] にて、更新した CA 証明書を選択して [削除] をクリックします。
※ [AD コンテナーの管理] より CA 証明書を削除したら、構成パーティション上にあるコンテナーから CA 証明書が削除されます。
コンテナーから CA 証明書を削除したら、フォレスト内の全てに配布されていた CA 証明書が削除されます。
削除する対象の CA 証明書を間違わないように、[表示] ボタンで CA 証明書の中身を確認した上で削除することをお勧めします。
(予期しないトラブルが発生する可能性があるのでご留意ください)
AD コンテナーからの更新した CA 証明書の削除は、[NTAuthCertificates]、[AIA コンテナー] のコンテナーにおいても同じ手順を実行してください。