Sun Enterprise Authentication Mechanism 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 muß (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, daß jedes System im DNS über einen Alias verfügt, und verwenden Sie die Aliasnamen bei der Host-Definition in /etc/krb5/krb5.conf.

  2. 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.

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

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

  4. Verschieben Sie die Master-KDC-Befehle.

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


    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. Deaktivieren Sie das Starten von kadmind in /etc/init.d/kdc.master .

    Um zu verhindern, daß 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
            ;;
  6. Kommentieren Sie die kprop-Zeile in der crontab-Datei für root aus.

    Dieser Schritt verhindert, daß 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, daß 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. Deaktivieren Sie Sie auf dem alten Master den Prozeß kadmind.

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


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

    Dieser Schritt verhindert, daß 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. Deaktivieren Sie das Starten von kadmind in /etc/init.d/kdc.master .

    Um zu verhindern, daß 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. Führen Sie auf dem alten Master 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. Verschieben Sie auf dem alten Master die Master-KDC-Befehle.

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


    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. Ändern Sie auf dem DNS-Server 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. Starten Sie auf dem DNS-Server den Internet-Domainnamen-Server neu.

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


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


    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. Erstellen Sie auf dem neuen Master eine Schlüsseltabellendatei für kadmin unter Verwendung 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. Aktivieren Sie auf dem neuen Master 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. Starten Sie auf dem Master-KDC 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