Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
8.2. Red Hat Enterprise Linux 6 からバージョン 7 への Identity Management の移行
この手順では、すべてのデータおよび設定を Red Hat Enterprise Linux 6 Identity Management から Red Hat Enterprise Linux 7 サーバーに移行する方法を説明します。移行手順には、以下が含まれます。
- Red Hat Enterprise Linux 6 ベースの認証局 (CA) マスターサーバーを Red Hat Enterprise Linux 7 に移行する。
- すべてのサービスを新しい Red Hat Enterprise Linux 7 サーバーに移行する。これらのサービスには、CRL および証明書の作成、DNS 管理、または Kerberos KDC の管理が含まれます。
- 元の Red Hat Enterprise Linux 6 CA マスターの使用を終了する。
手順では、以下を前提としています。
rhel7.example.com
は、新しい CA マスターとなる Red Hat Enterprise Linux 7 システムです。重要現在サポートされている唯一のマイナーバージョンは RHEL 7.9 です。システムに RHEL 7.9 がインストールされている。rhel6.example.com
は、元の Red Hat Enterprise Linux 6 CA マスターです。注記マスター CA サーバーである Red Hat Enterprise Linux 6 サーバーを特定するには、certmonger
サービスがrenew_ca_cert
コマンドを追跡するサーバーを決定します。すべての Red Hat Enterprise Linux 6 サーバーでこのコマンドを実行します。[root@rhel6 ~]# 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"
renew_ca_cert を実行する保存後アクションは CA マスターに対してのみ定義されます。
8.2.1. Red Hat Enterprise Linux 6 から 7 への Identity Management の移行の前提条件
rhel6.example.com
システムを最新の Red Hat Enterprise Linux 6 バージョンに更新します。rhel6.example.com
システムで、ipa-* パッケージをアップグレードします。[root@rhel6 ~]# yum update ipa-*
この手順では、RHBA-2015:0231-2アドバイザリーが適用されていることも確認します。このアドバイザリーは、2.3-6.el6_6
バージョンのbind-dyndb-ldapパッケージを提供し、Red Hat Enterprise Linux 6.6 拡張更新サポート (EUS) で使用できます。警告以前のバージョンの bind-dyndb-ldap を使用すると、Red Hat Enterprise Linux 6.6 DNS サーバーおよび Red Hat Enterprise Linux 7 DNS サーバー間の DNS 正引きゾーンに一貫性がない動作が生じます。rhel7.example.com
システムで、必要なパッケージをインストールします。「IdM サーバーのインストールに必要なパッケージ」を参照してください。
8.2.2. Red Hat Enterprise Linux 6 での Identity Management スキーマの更新
copy-schema-to-ca.py
スキーマ更新スクリプトは、rhel7.example.com
レプリカのインストールに rhel6.example.com
を準備します。Identity Management バージョン 3.1 とそれ以降のバージョン間のスキーマの変更により、スキーマを更新する必要があります。
copy-schema-to-ca.py
スキーマ更新スクリプトをrhel7.example.com
システムからrhel6.example.com
システムにコピーします。以下に例を示します。[root@rhel7 ~]# scp /usr/share/ipa/copy-schema-to-ca.py root@rhel6:/root/
rhel6.example.com
で更新されたcopy-schema-to-ca.py
スクリプトを実行します。[root@rhel6 ~]# python copy-schema-to-ca.py ipa : INFO Installed /etc/dirsrv/slapd-PKI-IPA//schema/60kerberos.ldif [... output truncated ...] ipa : INFO Schema updated successfully
- Red Hat Enterprise Linux 7 レプリカに接続する前に、認証局を実行するすべての Red Hat Enterprise Linux 6 IdM レプリカで手順を繰り返します。
8.2.3. Red Hat Enterprise Linux 7 レプリカのインストール
rhel6.example.com
システムで、rhel7.example.com
レプリカをインストールするために使用するレプリカファイルを作成します。たとえば、IP アドレスが192.0.2.1
であるrhel7.example.com
のレプリカファイルを作成するには、次のコマンドを実行します。[root@rhel6 ~]# ipa-replica-prepare rhel7.example.com --ip-address 192.0.2.1 Directory Manager (existing master) password: Preparing replica for rhel7.example.com from rhel6.example.com [... output truncated ...] The ipa-replica-prepare command was successful
「レプリカ情報ファイル」 および 「レプリカの作成」 も参照してください。rhel6.example.com
からrhel7.example.com
に、レプリカ情報ファイルをコピーします。[root@rhel6 ~]# scp /var/lib/ipa/replica-info-replica.example.com.gpg root@rhel7:/var/lib/ipa/
- 統合 CA のある新しいレプリカを Red Hat Enterprise Linux 7.6 以降にインストールする場合は、
/etc/httpd/conf.d/nss.conf
ファイルのNSSCipherSuite
パラメーターの最後に以下のエントリーを追加します。+ecdhe_rsa_aes_128_sha,+ecdhe_rsa_aes_256_sha
Red Hat Enterprise Linux 7.6 以降では、特定の暗号は IdM CA ではデフォルトで有効ではなくなりました。このエントリーを設定に追加せずに、Red Hat Enterprise Linux 6 で実行しているマスターのレプリカとして、統合 CA のある IdM サーバーを Red Hat Enterprise Linux 7.6 でセットアップすると、CRITICAL Failed to configure CA instance エラーが発生して失敗します。 - レプリカ ファイルを使用して
rhel7.example.com
レプリカをインストールします。たとえば、次のコマンドでは、以下のオプションを使用しています。- Certificate System コンポーネントを設定する
--setup-ca
- 統合 DNS サーバーを設定し、フォワーダーを設定する
--setup-dns
および--forwarder
--ip-address
-rhel7.example.com
システムの IP アドレスを指定します。
[root@rhel7 ~]# ipa-replica-install /var/lib/ipa/replica-info-rhel7.example.com.gpg --setup-ca --ip-address 192.0.2.1 --setup-dns --forwarder 192.0.2.20 Directory Manager (existing master) password: Checking DNS forwarders, please wait ... Run connection check to master [... output truncated ...] Client configuration complete.
関連項目:- 「レプリカの作成」: レプリカ情報ファイルを使用してレプリカを作成する方法を説明
- Identity Management サービスが
rhel7.example.com
で稼働していることを確認します。[root@rhel7 ~]# ipactl status Directory Service: RUNNING [... output truncated ...] ipa: INFO: The ipactl command was successful
8.2.4. CA サービスの Red Hat Enterprise Linux 7 サーバーへの移行
作業を開始する前に:
rhel6.example.com
およびrhel7.example.com
の CA がいずれもマスターサーバーとして設定されていることを確認します。[root@rhel7 ~]$ kinit admin [root@rhel7 ~]$ ipa-csreplica-manage list rhel6.example.com: master rhel7.example.com: master
レプリカ合意の詳細を表示するには、以下を実行します。[root@rhel7 ~]# ipa-csreplica-manage list --verbose rhel7.example.com rhel7.example.com last init status: None last init ended: 1970-01-01 00:00:00+00:00 last update status: Error (0) Replica acquired successfully: Incremental update succeeded last update ended: 2017-02-13 13:55:13+00:00
rhel6.example.com
の元のマスター CA で、CA サブシステム証明書の更新を停止します。
- 元の CA 証明書の追跡を無効にします。
[root@rhel6 ~]# getcert stop-tracking -d /var/lib/pki-ca/alias -n "auditSigningCert cert-pki-ca" Request "20201127184547" removed. [root@rhel6 ~]# getcert stop-tracking -d /var/lib/pki-ca/alias -n "ocspSigningCert cert-pki-ca" Request "20201127184548" removed. [root@rhel6 ~]# getcert stop-tracking -d /var/lib/pki-ca/alias -n "subsystemCert cert-pki-ca" Request "20201127184549" removed. [root@rhel6 ~]# getcert stop-tracking -d /etc/httpd/alias -n ipaCert Request "20201127184550" removed.
rhel6.example.com
を再設定し、新しいマスター CA から更新された証明書を取得します。- 更新ヘルパースクリプトを
certmonger
サービスディレクトリーにコピーし、適切なパーミッションを設定します。[root@rhel6 ~]# cp /usr/share/ipa/ca_renewal /var/lib/certmonger/cas/ [root@rhel6 ~]# chmod 0600 /var/lib/certmonger/cas/ca_renewal
- SELinux 設定を更新します。
[root@rhel6 ~]# restorecon /var/lib/certmonger/cas/ca_renewal
certmonger
を再起動します。[root@rhel6 ~]# service certmonger restart
- CA が証明書を取得するようになっているかチェックします。
[root@rhel6 ~]# 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
- CA 証明書データベースの PIN を取得します。
[root@rhel6 ~]# grep internal= /var/lib/pki-ca/conf/password.conf
- 外部更新の証明書
certmonger
追跡を設定します。これには、データベース PIN が必要です。[root@rhel6 ~]# 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 "20201127184743" added. [root@rhel6 ~]# 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 "20201127184744" added. [root@rhel6 ~]# 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 "20201127184745" added. [root@rhel6 ~]# 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 "20201127184746" added.
CRL 生成を元の
rhel6.example.com
CA マスターから rhel7.example.com
に移動します。
rhel6.example.com
で CRL 生成を停止します。- CA サービスを停止します。
[root@rhel6 ~]# service pki-cad stop
rhel6.example.com
で CRL 生成を無効にします。/var/lib/pki-ca/conf/CS.cfg
ファイルを開き、ca.crl.MasterCRL.enableCRLCache
およびca.crl.MasterCRL.enableCRLUpdates
パラメーターの値をfalse
に設定します。ca.crl.MasterCRL.enableCRLCache=
false
ca.crl.MasterCRL.enableCRLUpdates=false
- CA サービスを起動します。
[root@rhel6 ~]# service pki-cad start
rhel6.example.com
で、CRL 要求をリダイレクトするように Apache を設定します。/etc/httpd/conf.d/ipa-pki-proxy.conf
ファイルを開いて、RewriteRule
エントリーをコメントアウトします。RewriteRule ^/ipa/crl/MasterCRL.bin https://rhel6.example.com/ca/ee/ca/getCRL?op=getCRL&crlIssuingPoint=MasterCRL [L,R=301,NC]
注記URL のサーバーのホスト名を置き換えないでください。URL はローカルホスト名を参照する必要があります。- Apache を再起動します。
[root@rhel6 ~]# service httpd restart
IdM は、ローカルファイルではなく、ローカル CA から証明書失効リスト (CRL) を取得するようになりました。rhel7.example.com
で、新しい CA マスターとしてrhel7.example.com
を設定します。- 「証明書更新を処理するサーバーの変更」 の説明に従って、CA サブシステム証明書の更新を処理するように
rhel7.example.com
を設定します。 - 「CRL を生成するサーバーの変更」 で説明されているように、
rhel7.example.com
を一般的な証明書失効リスト (CRL) に設定します。
関連情報
- CA サブシステム証明書の更新および CRL の詳細は、「レプリカのマスター CA サーバーへのプロモート」 を参照してください。
8.2.5. Red Hat Enterprise Linux 6 サーバーの停止
rhel6.example.com
上の全サービスを停止して、新しい rhel7.example.com
サーバーへのドメイン検索を実施します。
[root@rhel6 ~]# ipactl stop
Stopping CA Service
Stopping pki-ca: [ OK ]
Stopping HTTP Service
Stopping httpd: [ OK ]
Stopping MEMCACHE Service
Stopping ipa_memcached: [ OK ]
Stopping DNS Service
Stopping named: . [ OK ]
Stopping KPASSWD Service
Stopping Kerberos 5 Admin Server: [ OK ]
Stopping KDC Service
Stopping Kerberos 5 KDC: [ OK ]
Stopping Directory Service
Shutting down dirsrv:
EXAMPLE-COM... [ OK ]
PKI-IPA... [ OK ]
この後に、
ipa
ユーティリティーを使用すると、Remote Procedure Call (RPC) で新規サーバーに接続します。
8.2.6. マスター CA サーバーの移行後の次のステップ
トポロジーの各 Red Hat Enterprise Linux 6 サーバーの場合:
rhel7.example.com
からレプリカファイルを作成します。注記Red Hat Enterprise Linux 6 サーバーから Red Hat Enterprise Linux 7 レプリカをインストールすると、Identity Management ドメインのドメインレベルは、自動的に 0 に設定されます。Red Hat Enterprise Linux 7.3 では、レプリカのインストールや管理が容易になりました。これらの機能を使用するには、トポロジーはドメインレベル 1 にする必要があります。7章ドメインレベルの表示と引き上げを参照してください。- レプリカファイルを使用して、別の Red Hat Enterprise Linux 7 システムに新しいレプリカをインストールします。
Red Hat Enterprise Linux 6 サーバーの使用を終了するには、以下を実行します。
- Red Hat Enterprise Linux 7 サーバーで削除コマンドを実行して、トポロジーからサーバーを削除します。
「IdM サーバーのアンインストール」を参照してください。
重要
クライアント設定は自動的に更新されません。IDM サーバーの使用を終了し、新しいサーバーを異なる名前で設定した場合は、全体的なクライアント設定を確認する必要があります。特に、以下のファイルを手動で更新する必要があります。
/etc/openldap/ldap.conf
/etc/ipa/default.conf
/etc/sssd/sssd.conf