Sun 엔터프라이즈 인증 메커니즘 안내서

마스터 및 슬레이브 KDC 스와핑

이 절차를 통해 마스터 KDC를 슬레이브 KDC와 쉽게 스와핑할 수 있습니다. 이 절차는 마스터 KDC 서버가 어떤 이유로 인해 실패하거나 마스터를 다시 설치하는 경우(하드웨어를 새로 설치하는 경우 등)에만 수행합니다.

스왑 가능한 슬레이브 KDC 구성 방법

다음 절차는 마스터로 사용 가능한 슬레이브 KDC 서버에서 수행해야 합니다.

  1. 설치 시 마스터 및 스왑 가능한 슬레이브 KDC 서버의 별명을 사용합니다.

    KDC의 호스트 이름을 정의할 때는 모든 시스템의 별명이 DNS에 포함되어 있는지 확인하고 /etc/krb5/krb5.conf에 호스트를 정의할 때 별명을 사용합니다.

  2. 마스터 KDC 소프트웨어를 설치합니다.

    마스터 KDC 소프트웨어를 설치하면 스왑 시 슬레이브 KDC 서버에 필요한 모든 파일이 포함된 이진 파일 및 기타 파일들이 작성됩니다. 설치가 끝난 후 시스템을 재부팅하지 마십시오.

  3. 슬레이브 KDC 설치 단계를 수행합니다.

    스왑하기 전까지 이 서버는 영역 내의 다른 슬레이브 KDC와 동일하게 작동해야 합니다. 자세한 내용은 "슬레이브 KDC 구성 방법"을 참고하십시오. 슬레이브 소프트웨어는 설치하지 않습니다. 필요한 모든 파일은 마스터 소프트웨어를 설치할 때 이미 설치되었습니다.

  4. 마스터 KDC 명령을 이동합니다.

    마스터 KDC 명령이 슬레이브에서 실행되지 않도록 kprop, kadmind, kadmin.local을 지정된 위치로 옮깁니다.


    kdc4 # mv /usr/krb5/lib/kprop /usr/krb5/lib/kprop.save
    kdc4 # mv /usr/krb5/lib/kadmind /usr/krb5/lib/kadmind.save
    kdc4 # mv /usr/krb5/sbin/kadmin.local /usr/krb5/sbin/kadmin.local.save
    
  5. /etc/init.d/kdc.master에서 kadmind가 실행되지 않도록 설정합니다.

    슬레이브에서 KDC 데이터베이스 변경 요청을 처리할 수 없도록 하려면 스크립트에서 kadmind를 시작하는 행이 실행되지 않도록 주석행으로 변경합니다.


    kdc4 # cat /etc/init.d/kdc.master
    
     .
     .
    
    case "$1" in
    'start')
    
            if [ -f $KDC_CONF_DIR/kdc.conf ]
            then
    #                $BINDIR/kadmind
            fi
            ;;
  6. root crontab 파일의 kprop 행이 실행되지 않도록 합니다.

    이 단계는 슬레이브가 KDC 데이터베이스 복사본을 전파하지 못하게 합니다.


    kdc4 # crontab -e
    #ident  "@(#)root       1.19    98/07/06 SMI"   /* SVr4.0 1.1.3.1       */
    #
    # The root crontab should be used to perform accounting data collection.
    #
    #  The rtc command is run to adjust the real time clock if and when
    # daylight savings time changes.
    #
    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/krb5/lib/kprop_script kdc1.acme.sun.com #SUNWkr5ma
    

마스터 및 슬레이브 KDC 스왑 방법

이 프로시저를 수행하려면 슬레이브 KDC 서버가 스왑 가능한 슬레이브로 설정되어 있어야 합니다("스왑 가능한 슬레이브 KDC 구성 방법" 참고). 이 프로시저에서 스왑될 마스터 서버의 이름은 kdc1이며 새로운 마스터가 될 슬레이브의 이름은 kdc4입니다.

  1. 기존의 마스터에서 kadmind 프로세스를 종료합니다.

    kadmind 프로세스를 종료하면 KDC 데이터베이스를 변경할 수 없습니다.


    kdc1 # /etc/init.d/kdc.master stop
    
  2. 기존의 마스터에서 다음을 수행합니다. root crontab 파일에서 kprop 행이 실행되지 않도록 합니다.

    이 단계는 기존의 마스터가 KDC 데이터베이스 복사본을 전파하지 못하게 합니다.


    kdc1 # crontab -e
    #ident  "@(#)root       1.19    98/07/06 SMI"   /* SVr4.0 1.1.3.1       */
    #
    # The root crontab should be used to perform accounting data collection.
    #
    # The rtc command is run to adjust the real time clock if and when
    # daylight savings time changes.
    # 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/krb5/lib/kprop_script kdc2.acme.sun.com #SUNWkr5ma
    
  3. 기존의 마스터에서 다음을 수행합니다. /etc/init.d/kdc.master에서 kadmind가 실행되지 않도록 설정합니다.

    서버를 재부팅할 때 마스터가 kadmind를 재시작하지 않게 하려면 스크립트에서 kadmind를 시작하는 행이 실행되지 않도록 설정합니다.


    kdc1 # cat /etc/init.d/kdc.master
    
     .
     .
    
    case "$1" in
    'start')
    
            if [ -f $KDC_CONF_DIR/kdc.conf ]
            then
    #                $BINDIR/kadmind
            fi
            ;;
  4. 기존의 마스터에서 다음을 수행합니다. kprop_script를 실행해서 데이터베이스를 백업 및 전파합니다.


    kdc1 # /usr/krb5/lib/kprop_script kdc4.acme.com
    kdc4.acme.com(으)로의 데이터베이스 전파: 성공함
  5. 기존의 마스터에서 다음을 수행합니다. 마스터 KDC 명령을 이동합니다.

    마스터 KDC 명령이 실행되지 않도록 하려면 kprop, kadmind, kadmin.local을 지정된 위치로 옮깁니다.


    kdc4 # mv /usr/krb5/lib/kprop /usr/krb5/lib/kprop.save
    kdc4 # mv /usr/krb5/lib/kadmind /usr/krb5/lib/kadmind.save
    kdc4 # mv /usr/krb5/sbin/kadmin.local /usr/krb5/sbin/kadmin.local.save
    
  6. DNS 서버에서 다음을 수행합니다. 마스터의 별명을 변경합니다.

    서버를 변경하려면 acme.com 영역 파일의 masterkdc 항목을 변경합니다.


    masterkdc IN CNAME kdc4
  7. DNS 서버에서 다음을 수행합니다. 인터넷 도메인 이름 서버(DNS)를 재시작합니다.

    기존의 마스터와 DNS 서버에서 다음 명령을 실행하여 새로운 별명에 대한 정보를 얻습니다.


    # pkill -1 in.named
  8. 새로운 마스터에서 다음을 수행합니다. 마스터 KDC 명령을 이동합니다.


    kdc4 # mv /usr/krb5/lib/kprop.save /usr/krb5/lib/kprop
    kdc4 # mv /usr/krb5/lib/kadmind.save /usr/krb5/lib/kadmind 
    kdc4 # mv /usr/krb5/sbin/kadmin.local.save /usr/krb5/sbin/kadmin.local
    
  9. 새로운 마스터에서 다음을 수행합니다. kadmin.local을 사용하여 kadmin의 키 테이블 파일을 작성합니다.

    이 명령은 adminchangepw 주체의 항목이 있는 특수 키 테이블 파일을 작성합니다. 이들 주체는 kadmind 서비스에 필요합니다.


    kdc4 # /usr/krb5/sbin/kadmin.local
    kadmin.local: ktadd -k /etc/krb5/kadm5.keytab kadmin/kdc4.acme.com
    kvno가 3인 kadmin/kdc4.acme.com 주체의 항목, DES-CBC-CRC 암호화 유형이
           WRFILE:/etc/krb5/kadm5.keytab. 키 테이블에 추가되었습니다. 
    kadmin.local: ktadd -k /etc/krb5/kadm5.keytab changepw/kdc4.acme.com
    kvno가 3인 changepw/kdc4.acme.com 주체의 항목, DES-CBC-CRC 암호화 유형이
           WRFILE:/etc/krb5/kadm5.keytab. 키 테이블에 추가되었습니다.
    kadmin.local: quit
    
  10. 새로운 마스터에서 다음을 수행합니다. /etc/init.d/kdc.master에서 kadmind이 실행되도록 설정합니다.


    kdc4 # cat /etc/init.d/kdc.master
    
     .
     .
    
    case "$1" in
    'start')
    
            if [ -f $KDC_CONF_DIR/kdc.conf ]
            then
                    $BINDIR/kadmind
            fi
            ;;
  11. 새로운 마스터에서 kadmind을 시작합니다.


    kdc4 # /etc/init.d/kdc.master start
    
  12. root crontab 파일에서 kprop 행이 실행되도록 설정합니다.


    kdc4 # crontab -e
    #ident  "@(#)root       1.19    98/07/06 SMI"   /* SVr4.0 1.1.3.1       */
    #
    # The root crontab should be used to perform accounting data collection.
    #
    # The rtc command is run to adjust the real time clock if and when
    # daylight savings time changes.
    #
    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/krb5/lib/kprop_script kdc1.acme.sun.com #SUNWkr5ma