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 システムです。
  • 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 アドバイザリーが適用されており、bind-dyndb-ldap パッケージの 2.3-6.el6_6 バージョンが提供され、Red Hat Enterprise Linux 6.6 Extended Update Support(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 からバージョン間のスキーマの変更により、スキーマの更新が必要です。
  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/
  2. 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
  3. Red Hat Enterprise Linux 7 レプリカに接続する前に、認証局を実行するすべての Red Hat Enterprise Linux 6 IdM レプリカで手順を繰り返します。

8.2.3. Red Hat Enterprise Linux 7 レプリカのインストール

  1. 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
  2. レプリカ情報を rhel6.example.com から rhel7.example.com にコピーします。
    [root@rhel6 ~]# scp /var/lib/ipa/replica-info-replica.example.com.gpg root@rhel7:/var/lib/ipa/
  3. 統合 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 で実行しているマスターのレプリカとして Red Hat Enterprise Linux 7.6 統合 CA のある IdM サーバーを設定すると、CRITICAL Failed が CA インスタンスエラーの設定に失敗します
  4. レプリカファイルを使用して、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.
    以下も参照してください。
  5. 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 サブシステムの証明書の更新を停止します。
  1. 元の 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.
  2. rhel6.example.com を再設定し、新しいマスター CA から更新された証明書を取得します。
    1. 更新ヘルパースクリプトを certmonger サービスディレクトリーにコピーし、適切なパーミッションを設定します。
      [root@rhel6 ~]# cp /usr/share/ipa/ca_renewal /var/lib/certmonger/cas/
      [root@rhel6 ~]# chmod 0600 /var/lib/certmonger/cas/ca_renewal
    2. SELinux 設定を更新します。
      [root@rhel6 ~]# restorecon /var/lib/certmonger/cas/ca_renewal
    3. certmonger を再起動します。
      [root@rhel6 ~]# service certmonger restart
    4. 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
    5. CA 証明書データベースの PIN を取得します。
      [root@rhel6 ~]# grep internal= /var/lib/pki-ca/conf/password.conf
    6. 外部更新の証明書を追跡するように 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 に移動します。
  1. rhel6.example.com で CRL 生成を停止します。
    1. CA サービスを停止します。
      [root@rhel6 ~]# service pki-cad stop
    2. 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
    3. CA サービスを起動します。
      [root@rhel6 ~]# service pki-cad start
  2. rhel6.example.com で、CRL 要求をリダイレクトするように Apache を設定します。
    1. /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 はローカルホスト名を参照する必要があります。
    2. Apache を再起動します。
      [root@rhel6 ~]# service httpd restart
    IdM は、ローカルファイルからではなく、ローカルの CA から証明書失効リスト(CRL)を使用するようになりました。
  3. rhel7.example.com で、rhel7.example.com を新しい CA マスターとして設定します。
    1. の説明に従って、CA サブシステム証明書の更新を処理するように rhel7.example.com 「証明書更新を処理するサーバーの変更」
    2. の説明に従って、rhel7.example.com を一般的な証明書失効リスト(CRL) 「CRL を生成するサーバーの変更」

関連情報

8.2.5. Red Hat Enterprise Linux 6 Server の停止

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 ユーティリティーを使用すると、リモートプロシージャーコール(RPC)を使用して新規サーバーに接続します。

8.2.6. マスター CA サーバーの移行後の次のステップ

トポロジーの各 Red Hat Enterprise Linux 6 サーバーに対して、以下を行います。
  1. rhel7.example.com からレプリカファイルを作成します。
    注記
    Red Hat Enterprise Linux 6 サーバーから Red Hat Enterprise Linux 7 レプリカをインストールすると、Identity Management ドメインのドメインレベルは自動的に 0 に設定されます。
    Red Hat Enterprise Linux 7.3 では、レプリカのインストールおよび管理の簡単な方法が導入されました。これらの機能を使用するには、トポロジーがドメインレベル 1 上にある必要があります。を参照してください 7章ドメインレベルの表示と評価
  2. レプリカファイルを使用して、別の 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

このページには機械翻訳が使用されている場合があります (詳細はこちら)。