Solaris のシステム管理 (セキュリティサービス)

マスター KDC とスレーブ KDC をスワップする方法

この手順を実行するには、スレーブ KDC がスワップ可能なスレーブとして設定されている必要があります (スワップ可能なスレーブ KDC を構成する方法 を参照)。この手順では、旧マスター KDC サーバー名は、kdc1 です。新しいマスター KDC となるスレーブ KDC の名前は、kdc4 です。

  1. 旧マスター KDC 上で、kadmind プロセスを終了します。


    kdc1 # /etc/init.d/kdc.master stop
    

    kadmind プロセスを終了するときは、旧 KDC データベースに対する変更は行わないでください。

  2. 旧マスター KDC 上で、rootcrontab ファイルの kprop 行をコメントにします。


    kdc1 # crontab -e
    #ident  "@(#)root       1.19    98/07/06 SMI"   /* SVr4.0 1.1.3.1       */
    #
    # root の crontab はアカウントデータ収集を実行するために使用する
    #
    # rtc コマンドは、夏時間を変更する場合に実時間クロックを
    # 調整するために実行する
    #
    10 3 * * 0,4 /etc/cron.d/logchecker
    10 3 * * 0   /usr/lib/newsyslog
    15 3 * * 0 /usr/lib/fs/nfs/nfsfind
    1 2 * * * [ -x /usr/sbin/rtc ] && /usr/sbin/rtc -c> /dev/null 2>&1
    30 3 * * * [ -x /usr/lib/gss/gsscred_clean ] && /usr/lib/gss/gsscred_clean
    #10 3 * * * /usr/lib/krb5/kprop_script kdc2.example.sun.com #SUNWkr5ma
    

    旧マスター KDC が KDC データベースのコピーを伝播しなくなります。

  3. 旧マスター KDC 上で、kprop_script を実行してデータベースをバックアップし、伝播します。


    kdc1 # /usr/lib/krb5/kprop_script kdc4.example.com
    Database propagation to kdc4.example.com: SUCCEEDED
  4. 旧マスター KDC 上で、マスター KDC コマンドを移動します。

    マスター KDC コマンドが実行されるのを回避するために、kpropkadmind、および kadmin.local コマンドを予約した場所に移動します。


    kdc4 # mv /usr/lib/krb5/kprop /usr/lib/krb5/kprop.save
    kdc4 # mv /usr/lib/krb5/kadmind /usr/lib/krb5/kadmind.save
    kdc4 # mv /usr/sbin/kadmin.local /usr/sbin/kadmin.local.save
    kdc4 # mv /etc/krb5/kadm5.acl /etc/krb5/kadm5.acl.save
    
  5. DNS サーバー上で、マスター KDC の別名を変更します。

    サーバーを変更するために、example.com ゾーンファイルを編集して masterkdc のエントリを変更します。


    masterkdc IN CNAME kdc4
  6. DNS サーバー上で、インターネットドメインネームサーバーを再起動します。

    両方のサーバー上で次のコマンドを実行して、新しい別名情報を取得します。


    # pkill -1 in.named
  7. 新しいマスター KDC 上で、マスター KDC コマンドを移動します。


    kdc4 # mv /usr/lib/krb5/kprop.save /usr/lib/krb5/kprop
    kdc4 # mv /usr/lib/krb5/kadmind.save /usr/lib/krb5/kadmind
    kdc4 # mv /usr/sbin/kadmin.local.save /usr/sbin/kadmin.local
    
  8. 新しいマスター KDC 上で、Kerberos アクセス制御リストファイル ( kadm5.acl) を編集します。

    /etc/krb5/kadm5.acl ファイルには、KDC を管理できる主体名がすべて含まれている必要があります。最初のエントリは、次のようになります。


    kws/admin@EXAMPLE.COM   *

    このエントリにより、 EXAMPLE.COM レルム内の kws/admin 主体に対して、KDC 内の主体またはポリシーを変更する機能が与えられます。デフォルトのインストールでは、アスタリスク (*) が指定され、すべての admin 主体に変更権限が与えられます。アスタリスクを指定すると、セキュリティが低下する可能性があります。admin 主体をすべて指定すれば、セキュリティが向上します。詳細は、kadm5.acl(4) のマニュアルページを参照してください。

  9. 新しいマスター KDC 上で、kadmin.local を使用して kadmin のキータブファイルを作成します。

    このコマンドシーケンスは、admin および changepw 主体のエントリを格納するためのキータブを作成します。これらの主体は、kadmind サービスに必要です。


    kdc4 # /usr/sbin/kadmin.local
    kadmin.local: ktadd -k /etc/krb5/kadm5.keytab kadmin/kdc4.example.com
    Entry for principal kadmin/kdc4.example.com with kvno 3, encryption type DES-CBC-CRC
              added to keytab WRFILE:/etc/krb5/kadm5.keytab.
    kadmin.local: ktadd -k /etc/krb5/kadm5.keytab changepw/kdc4.example.com
    Entry for principal changepw/kdc4.example.com with kvno 3, encryption type DES-CBC-CRC 
              added to keytab WRFILE:/etc/krb5/kadm5.keytab.
    kadmin.local: quit
    
  10. 新しいマスター KDC 上で、kadmind を起動します。


    kdc4 # /etc/init.d/kdc.master start
    
  11. rootcrontab ファイル内の kprop 行を有効にします。


    kdc4 # crontab -e
    #ident  "@(#)root       1.19    98/07/06 SMI"   /* SVr4.0 1.1.3.1       */
    #
    # root の crontab はアカウントデータ収集を実行するために使用する
    #
    # rtc コマンドは、夏時間を変更する場合に実時間クロックを
    # 調整するために実行する
    #
    10 3 * * 0,4 /etc/cron.d/logchecker
    10 3 * * 0   /usr/lib/newsyslog
    15 3 * * 0 /usr/lib/fs/nfs/nfsfind
    1 2 * * * [ -x /usr/sbin/rtc ] && /usr/sbin/rtc -c> /dev/null 2>&1
    30 3 * * * [ -x /usr/lib/gss/gsscred_clean ] && /usr/lib/gss/gsscred_clean
    10 3 * * * /usr/lib/krb5/kprop_script kdc1.example.sun.com #SUNWkr5ma