Manuale di Sun Enterprise Authentication Mechanism

Sostituzione di un KDC master con uno slave

Le procedure qui descritte permettono di sostituire un KDC master con un KDC slave. Si consiglia di utilizzarle solo in caso di guasto del KDC master o quando il KDC master debba essere reinstallato (ad esempio per l'adozione di un nuovo hardware).

Configurare un KDC slave come sistema di backup

Questa procedura deve essere eseguita sul KDC slave da rendere disponibile in sostituzione del master.

  1. Durante l'installazione, usare un alias sia per il KDC master che per il KDC slave da configurare per la sua sostituzione.

    Nel definire i nomi host per i KDC, includere un alias per ogni sistema nel DNS e usare questi alias nel definire gli host in /etc/krb5/krb5.conf.

  2. Installare il software del KDC master.

    Insieme al software del KDC master vengono installati i file binari e gli altri file che saranno necessari per la sostituzione, inclusi tutti i file che saranno richiesti dal KDC slave. Al termine dell'installazione, non riavviare il sistema.

  3. Seguire la procedura per l'installazione di un KDC slave.

    Prima della sostituzione, questo server dovrebbe funzionare esattamente come gli altri KDC slave del settore. Per le relative istruzioni, vedere "Configurare un KDC slave". Non installare il software slave. Tutti i file necessari vengono installati durante l'installazione del software master.

  4. Spostare i comandi del KDC master.

    Per evitare che i comandi del KDC master vengano eseguiti dallo slave, spostare kprop, kadmind e kadmin.local in una posizione riservata.


    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. Disabilitare l'avvio di kadmind in /etc/init.d/kdc.master.

    Per evitare che lo slave gestisca le richieste di modifica del database del KDC, commentare la riga per l'avvio di kadmind nello script:


    kdc4 # cat /etc/init.d/kdc.master
     
     .
     .
     
    case "$1" in
    'start')
     
            if [ -f $KDC_CONF_DIR/kdc.conf ]
            then
    #                $BINDIR/kadmind 
            fi
            ;;
     
  6. Commentare la riga kprop nel file crontab di root.

    Questa operazione impedirà allo slave di propagare la sua copia del database del 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.spa.it
     
    

Sostituire un KDC master con uno slave

Questa procedura richiede che il KDC slave sia stato configurato per la sostituzione del master (vedere "Configurare un KDC slave come sistema di backup"). In questa procedura, il server master che viene sostituito è denominato kdc1, mentre lo slave che lo sostituisce è denominato kdc4.

  1. Sul vecchio master: Arrestare il processo kadmind.

    L'arresto del processo kadmind impedisce che il database del KDC venga modificato.


    kdc1 # /etc/init.d/kdc.master stop
    
  2. Sul vecchio master: Commentare la riga kprop nel file crontab di root.

    Questa operazione impedisce che il vecchio master propaghi la sua copia del database del 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.spa.it
     
    
  3. Sul vecchio master: Disabilitare l'avvio di kadmind in /etc/init.d/kdc.master.

    Per impedire che il master riavvii kadmind in caso di riavvio del server, commentare la riga per l'avvio di kadmind nello script:


    kdc1 # cat /etc/init.d/kdc.master
     
     .
     .
     
    case "$1" in
    'start')
     
            if [ -f $KDC_CONF_DIR/kdc.conf ]
            then
    #                $BINDIR/kadmind 
            fi
            ;;
     
  4. Sul vecchio master: Eseguire kprop_script per eseguire il backup e la propagazione del database.


    kdc1 # /usr/krb5/lib/kprop_script kdc4.spa.it
    Propagazione del database su kdc4.spa.it: OPERAZIONE ESEGUITA
  5. Sul vecchio master: Rinominare i comandi del KDC master.

    Per impedire che vengano eseguiti i comandi del KDC master, rinominare kprop, kadmind e kadmin.local usando un nome differente.


    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. Sul server DNS: Cambiare l'alias per il master.

    Per scambiare i server, aprire con un editor il file di zona spa.it e cambiare la voce relativa a masterkdc.


    masterkdc IN CNAME kdc4
  7. Sul server DNS: Riavviare il server di denominazione del dominio Internet.

    Eseguire il comando seguente su entrambi i server per ottenere le informazioni sul nuovo alias:


    # pkill -1 in.named
  8. Sul nuovo master: Rinominare i comandi del KDC master.


    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. Sul nuovo master: Creare una tabella di chiavi per kadmin usando kadmin.local.

    Questa sequenza di comandi crea una speciale tabella di chiavi con i nomi principali per admin e changepw. Questi nomi principali sono necessari per il servizio kadmind.


    kdc4 # /usr/krb5/sbin/kadmin.local
    kadmin.local: ktadd -k /etc/krb5/kadm5.keytab kadmin/kdc4.spa.it
    Voce per nome principale kadmin/kdc4.spa.it con kvno 3, 
       tipo di cifratura DES-CBC-CRC aggiunta alla tabella 
       di chiavi WRFILE:/etc/krb5/kadm5.keytab.
    kadmin.local: ktadd -k /etc/krb5/kadm5.keytab changepw/kdc4.spa.it
    Voce per nome principale changepw/kdc4.spa.it con kvno 3, 
       tipo di cifratura DES-CBC-CRC aggiunta alla tabella 
       di chiavi WRFILE:/etc/krb5/kadm5.keytab.
    kadmin.local: quit
    
  10. Sul nuovo master: Abilitare l'avvio di kadmind in /etc/init.d/kdc.master.


    kdc4 # cat /etc/init.d/kdc.master
     
     .
     .
     
    case "$1" in
    'start')
     
            if [ -f $KDC_CONF_DIR/kdc.conf ]
            then
                    $BINDIR/kadmind 
            fi
            ;;
     
  11. Sul nuovo master: Avviare kadmind.


    kdc4 # /etc/init.d/kdc.master start
    
  12. Abilitare la riga kprop nel file crontab di root.


    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.spa.it