Guide du mécanisme d'authentification pour l'entreprise de Sun

Comment permuter des KDC maître et esclave

Cette procédure exige que le serveur KDC esclave ait été configuré en tant qu'esclave permutable (voir "Comment configurer un KDC esclave permutable"). Dans cette procédure, le serveur maître permuté est nommé kdc1, et l'esclave qui deviendra le nouveau maître est nommé kdc4.

  1. Sur l'ancien maître : Éliminez le processus kadmind.

    L'élimination du processus kadmind empêche toute modification de la base de données KDC.


    kdc1 # /etc/init.d/kdc.master stop
    
  2. Sur l'ancien maître : Transformez en commentaire la ligne kprop dans le fichier crontab root.

    Cette étape empêche l'ancien maître de propager sa copie de la base de données KDC.


    kdc1 # crontab -e
    #ident  "@(#)root       1.19    98/07/06 SMI"   /* SVr4.0 1.1.3.1       */
    #
    # Le crontab root devrait être utilisé pour la collecte des données 
    # comptables.
    #
    # La commande rtc est exécutée pour ajuster l'horloge en temps réel lors d'un 
    # passage à l'heure avancée ou normale.
    #
    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. Sur l'ancien maître : Désactivez le démarrage de kadmind dans /etc/init.d/kdc.master.

    Pour empêcher le maître de redémarrer kadmind lors de la réinitialisation du serveur, transformez en commentaire la ligne démarrant kadmind dans le script :


    kdc1 # cat /etc/init.d/kdc.master
    
     .
     .
    
    case "$1" in
    'start')
    
            if [ -f $KDC_CONF_DIR/kdc.conf ]
            then
    #                $BINDIR/kadmind 
            fi
            ;;
  4. Sur l'ancien maître : exécutez kprop_script afin de sauvegarder et de propager la base de données.


    kdc1 # /usr/krb5/lib/kprop_script kdc4.acme.com
    Propagation de la base de données à kdc4.acme.com: REUSSIE
  5. Sur l'ancien maître : Déplacez les commandes du KDC maître.

    Pour empêcher l'exécution des commandes du KDC maître, déplacez kprop, kadmind et kadmin.local vers un emplacement réservé.


    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. Sur le serveur DNS : changez les noms d'alias pour le maître.

    Pour changer les serveurs, éditez le fichier de la zone acme.com et changez l'entrée pour masterkdc.


    masterkdc IN CNAME kdc4
  7. Sur le serveur DNS : redémarrez le serveur de nom de domaine Internet.

    Exécutez la commande suivante sur les deux serveurs pour obtenir les nouvelles informations sur les alias :


    # pkill -1 in.named
  8. Sur le nouveau maître : Déplacez les commandes du KDC maître.


    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. Sur le nouveau maître : Créez un fichier de table de clés pour kadmin au moyen de kadmin.local.

    Cette suite de commandes crée un fichier de table de clés spécial avec des entrées de principal pour admin et changepw. Ces principaux sont requis pour le service kadmind.


    kdc4 # /usr/krb5/sbin/kadmin.local
    kadmin.local: ktadd -k /etc/krb5/kadm5.keytab kadmin/kdc4.acme.com
    Entrée pour le principal kadmin/kdc4.acme.com avec numéro de version de clé 3
    et type de chiffrement DES-CBC-CRC 
                   ajoutée à la table de clés WRFILE:/etc/krb5/kadm5.keytab.
    kadmin.local: ktadd -k /etc/krb5/kadm5.keytab changepw/kdc4.acme.com
    Entrée pour le principal changepw/kdc4.acme.com avec numéro de version de clé 3
    et type de chiffrement DES-CBC-CRC
                   ajoutée à la table de clés WRFILE:/etc/krb5/kadm5.keytab.
    kadmin.local: quit
    
  10. Sur le nouveau maître : activez le démarrage de kadmind dans /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. Sur le nouveau maître : démarrez kadmind.


    kdc4 # /etc/init.d/kdc.master start
    
  12. Activez la ligne kprop dans le fichier crontab root.


    kdc4 # crontab -e
    #ident  "@(#)root       1.19    98/07/06 SMI"   /* SVr4.0 1.1.3.1       */ 
    #
    # Le crontab root devrait être utilisé pour la collecte des données 
    # comptables.
    #
    # La commande rtc est exécutée pour ajuster l'horloge en temps réel lors 
    # d'un passage à l'heure avancée ou normale.
    
    # 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