Sun Enterprise Authentication Mechanism 1.0.1 Handbuch

Austauschen von Master- und Slave-KDCs

Diese Verfahren sollten angewendet werden, um den Austausch eines Master-KDCs mit einem Slave-KDC einfacher zu machen. Dies sollte nur getan werden, wenn der Master-KDC-Server aus irgendeinem Grund ausfällt, oder wenn der Master neu installiert werden muss (zum Beispiel bei neuer Hardware).

So wird ein austauschbares Slave-KDC konfiguriert

Dieses Verfahren sollte auf dem Slave-KDC-Server durchgeführt werden, den Sie dazu bereitstellen möchten, Master zu werden.

  1. Verwenden Sie während der Installation für Master- und austauschbaren Slave-KDC-Server Aliasnamen.

    Wenn Sie für die KDCs Hostnamen definieren, stellen Sie sicher, dass jedes System im DNS über einen Alias verfügt, und verwenden Sie die Aliasnamen bei der Host-Definition in /etc/krb5/krb5.conf.

  2. Deaktivieren Sie die Überprüfung des Host-Namens im KDC-Startskript für den Master und den austauschbaren Slave.

    Werden für den Master und die austauschbaren Slave-KDC-Server Aliasnamen verwendet, dann bedeutet dies, dass die Prüfung fehlschlägt, mit der vor dem Starten des KDC-Servers sichergestellt werden soll, dass der aktuelle Knotenname in /etc/krb5/krb5.conf vorhanden ist. Wenn Sie die Aliasnamen verwenden, um den Austausch zu erleichtern, müssen Sie zwei Zeilen in /etc/init.d/kdc auskommentieren. Siehe dazu das folgende Beispiel:


    if [ -f $KDC_CONF_DIR/kdc.conf ]
            then
     #               node=`uname -n`
     #               if grep -i "kdc.*=.*$node" /etc/krb5/krb5.conf > /dev/null 2>&1 ;
                    then
                            $BINDIR/krb5kdc 
                    fi
            fi
            ;;
  3. Installieren Sie die Master-KDC-Software.

    Die Installation der Master-KDC-Software stellt Binärdateien und andere Dateien zur Verfügung, die während eines Austauschs benötigt werden, unter anderen alle Dateien, die ein Slave-KDC-Server benötigt. Starten Sie das System nicht neu, wenn die Installation abgeschlossen ist.

  4. Befolgen Sie die Schritte zur Installation eines Slave-KDCs.

    Vor jeglichem Austausch sollte dieser Server wie jedes andere Slave-KDC im Bereich funktionieren. Weitere Informationen erhalten Sie unter "So wird ein Slave-KDC konfiguriert". Installieren Sie nicht die Slave-Software. Alle benötigten Dateien werden installiert, wenn die Master-Software installiert wird.

  5. Verschieben Sie die Master-KDC-Befehle.

    Um zu verhindern, dass die Master-KDC-Befehle von diesem Slave ausgeführt werden, verschieben Sie kprop, kadmind und kadmin.local an eine reservierte Stelle.


    kdc4 # mv /usr/lib/kprop /usr/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. Deaktivieren Sie das Starten von kadmind in /etc/init.d/kdc.master .

    Um zu verhindern, dass der Slave Anforderungen zur Änderung der KDC-Datenbank bearbeitet, kommentieren Sie im folgenden Skript die Zeile aus, die kadmind startet:


    kdc4 # cat /etc/init.d/kdc.master
    
     .
     .
    
    case "$1" in
    'start')
    
            if [ -f $KDC_CONF_DIR/kdc.conf ]
            then
    #                $BINDIR/kadmind 
            fi
            ;;
  7. Kommentieren Sie die kprop-Zeile in der crontab-Datei für root aus.

    Dieser Schritt verhindert, dass der Slave seine Kopie der KDC-Datenbank vervielfältigt.


    kdc4 # crontab -e
    #ident  "@(#)root       1.19    98/07/06 SMI"   /* SVr4.0 1.1.3.1       */
    #
    # root crontab sollte zur Sammlung von Buchungsdaten verwendet werden.
    #
    # Der rtc-Befehl wird ausgeführt, um die Echtzeituhr anzupassen, wenn ggf.
    # der Wechsel zwischen Sommer- und Winterzeit stattfindet.
    #
    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
    

So werden Master- und Slave-KDC ausgetauscht

Dieses Verfahren verlangt, dass der Slave-KDC-Server als austauschbarer Slave eingerichtet worden ist (siehe "So wird ein austauschbares Slave-KDC konfiguriert"). Der Master-Server, der ausgetauscht wird, heißt hier kdc1, und der Slave, der zum neuen Master wird, heißt kdc4.

  1. Auf dem vorherigen Master: Beenden Sie den Prozess kadmind.

    Durch Beenden des kadmind-Prozesses wird verhindert, dass an der KDC-Datenbank irgendwelche Änderungen vorgenommen werden.


    kdc1 # /etc/init.d/kdc.master stop
    
  2. Auf dem vorherigen Master: Kommentieren Sie die Zeile kprop in der crontab-Datei für root aus.

    Dieser Schritt verhindert, dass der alte Master seine Kopie der KDC-Datenbank vervielfältigt.


    kdc1 # crontab -e
    #ident  "@(#)root       1.19    98/07/06 SMI"   /* SVr4.0 1.1.3.1       */
    #
    # root crontab sollte zur Sammlung von Buchungsdaten verwendet werden.
    #
    # Der rtc-Befehl wird ausgeführt, um die Echtzeituhr anzupassen, wenn ggf.
    # der Wechsel zwischen Sommer- und Winterzeit stattfindet.
    #
    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. Auf dem vorherigen Master: Deaktivieren Sie das Starten von kadmind in /etc/init.d/kdc.master .

    Um zu verhindern, dass der Master kadmind startet, wenn der Server neu hochgefahren wird, kommentieren Sie im folgenden Skript die Zeile aus, die kadmind startet:


    kdc1 # cat /etc/init.d/kdc.master
    
     .
     .
    
    case "$1" in
    'start')
    
            if [ -f $KDC_CONF_DIR/kdc.conf ]
            then
    #                $BINDIR/kadmind 
            fi
            ;;
  4. Auf dem vorherigen Master: Führen Sie kprop_script aus, um die Datenbank zu sichern und zu vervielfältigen.


    kdc1 # /usr/krb5/lib/kprop_script kdc4.acme.com
    Datenbankvervielfältigung auf kdc4.acme.com: ERFOLGREICH
  5. Auf dem vorherigen Master: Verschieben Sie die Master-KDC-Befehle.

    Um zu verhindern, dass die Master-KDC-Befehle ausgeführt werden, verschieben Sie kprop, kadmind und kadmin.local an eine reservierte Stelle.


    kdc4 # mv /usr/lib/kprop /usr/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. Auf dem DNS-Server: Ändern Sie die Aliasnamen für den Master.

    Um die Server zu ändern, bearbeiten Sie die Zonendatei acme.com und ändern Sie den Eintrag für masterkdc.


    masterkdc IN CNAME kdc4
  7. Auf dem DNS-Server: Starten Sie den Namensserver der Internet-Domäne neu.

    Führen Sie den folgenden Befehl auf beiden Servern aus, um die neuen Alias-Informationen zu erhalten:


    # pkill -1 in.named
  8. Auf dem neuen Master: Verschieben Sie die Master-KDC-Befehle.


    kdc4 # mv /usr/lib/kprop.save /usr/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. Auf dem neuen Master: Erstellen Sie eine Schlüsseltabellendatei für kadmin mithilfe von kadmin.local .

    Diese Befehlsfolge erstellt eine spezielle Schlüsseltabellendatei mit Hauptbenutzereinträgen für admin und changepw . Diese Hauptbenutzer werden für den kadmind-Service benötigt.


    kdc4 # /usr/krb5/sbin/kadmin.local
    kadmin.local: ktadd -k /etc/krb5/kadm5.keytab kadmin/kdc4.acme.com
    Eintrag für Hauptbenutzer kadmin/kdc4.acme.com mit kvno 3, Verschlüsselungstyp DES-CBC-CRC
              zur Schlüsseltabellendatei WRFILE:/etc/krb5/kadm5.keytab hinzugefügt.
    kadmin.local: ktadd -k /etc/krb5/kadm5.keytab changepw/kdc4.acme.com
    Eintrag für Hauptbenutzer changepw/kdc4.acme.com mit kvno 3, Verschlüsselungstyp DES-CBC-CRC
              zur Schlüsseltabellendatei WRFILE:/etc/krb5/kadm5.keytab hinzugefügt.
    kadmin.local: quit
    
  10. Auf dem neuen Master: Aktivieren Sie das Starten von 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. Auf dem neuen Master: Starten Sie kadmin.


    kdc4 # /etc/init.d/kdc.master start
    
  12. Aktivieren Sie die kprop-Zeile in der crontab-Datei von root.


    kdc4 # crontab -e
    #ident  "@(#)root       1.19    98/07/06 SMI"   /* SVr4.0 1.1.3.1       */
    #
    # root crontab sollte zur Sammlung von Buchungsdaten verwendet werden.
    #
    # Der rtc-Befehl wird ausgeführt, um die Echtzeituhr anzupassen, wenn ggf.
    # der Wechsel zwischen Sommer- und Winterzeit stattfindet.
    #
    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