JavaScript is required to for searching.
Navigationslinks �berspringen
Druckansicht beenden
Systemverwaltungshandbuch: Sicherheitsservices
search filter icon
search icon

Dokument-Informationen

Vorwort

Teil I Übersicht über die Sicherheit

1.  Sicherheitsservices (Überblick)

Teil II System-, Datei- und Gerätesicherheit

2.  Verwalten von Rechnersicherheit (Übersicht)

3.  Steuern des Zugriffs auf Systeme (Aufgaben)

4.  Steuern des Zugriffs auf Geräte (Aufgaben)

5.  Verwenden von Basic Audit Reporting Tool (Aufgaben)

6.  Steuern des Zugriffs auf Dateien (Aufgaben)

7.  Verwenden von Automated Security Enhancement Tool (Aufgaben)

Teil III Rollen, Berechtigungsprofile und Berechtigungen

8.  Verwenden von Rollen und Berechtigungen (Übersicht)

9.  Rollenbasierte Zugriffssteuerung (Aufgaben)

10.  Rollenbasierte Zugriffssteuerung (Übersicht)

11.  Berechtigungen (Aufgaben)

12.  Berechtigungen (Referenz)

Teil IV Kryptografische Services

13.  Oracle Solaris Cryptographic Framework (Übersicht)

14.  Oracle Solaris Cryptographic Framework (Aufgaben)

15.  Oracle Solaris Key Management Framework

Teil V Authentifizierungsservices und sichere Kommunikation

16.  Verwenden von Authentifizierungsservices (Aufgaben)

17.  Verwenden von PAM

18.  Verwenden von SASL

19.  Verwenden von Oracle Solaris Secure Shell (Aufgaben)

20.  Oracle Solaris Secure Shell (Referenz)

Teil VI Kerberos-Service

21.  Einführung zum Kerberos-Service

22.  Planen des Kerberos-Service

23.  Konfigurieren des Kerberos-Service (Aufgaben)

Konfigurieren des Kerberos-Service (Übersicht der Schritte)

Konfigurieren zusätzlicher Kerberos-Services (Übersicht der Schritte)

Konfigurieren von KDC-Servern

So konfigurieren Sie ein Master-KDC manuell

So konfigurieren Sie ein KDC zur Verwendung eines LDAP-Datenservers

So konfigurieren Sie ein Slave-KDC manuell

So aktualisieren Sie die Ticket Granting Service-Schlüssel auf einem Master-Server

Konfigurieren von bereichsübergreifender Authentifizierung

So richten Sie eine hierarchische bereichsübergreifende Authentifizierung ein

So richten Sie eine direkte bereichsübergreifende Authentifizierung ein

Konfigurieren von Kerberos-Netzwerkanwendungsservern

So konfigurieren Sie einen Kerberos-Netzwerkanwendungsserver

Konfigurieren von Kerberos-NFS-Servern

So konfigurieren Sie Kerberos-NFS-Server

So erstellen Sie eine Berechtigungsnachweistabelle

So fügen Sie der Berechtigungstabelle einen einzelnen Eintrag hinzu

So ordnen Sie Berechtigungsnachweise zwischen Bereichen zu

So richten Sie eine sichere NFS-Umgebung mit mehreren Kerberos-Sicherheitsmodi ein

Konfigurieren von Kerberos-Clients

Konfigurieren von Kerberos-Clients (Übersicht der Schritte)

So erstellen Sie ein Kerberos-Clientinstallationsprofil

So konfigurieren Sie einen Kerberos-Client automatisch

So konfigurieren Sie einen Kerberos-Client interaktiv

So konfigurieren Sie einen Kerberos-Client manuell

So deaktivieren Sie die Überprüfung des TGT (Ticket Granting Ticket)

So greifen Sie auf ein durch Kerberos geschütztes NFS-Dateisystem als root-Benutzer zu

So konfigurieren Sie eine automatische Migration von Benutzern in einem Kerberos-Bereich

Synchronisieren von Uhren zwischen KDCs und Kerberos-Clients

Austauschen von Master-KDC und Slave-KDC

So konfigurieren Sie ein austauschbares Slave-KDC

So tauschen Sie ein Master-KDC gegen ein Slave-KDC aus

Verwalten der Kerberos-Datenbank

Backup und Weitergabe der Kerberos-Datenbank

Datei kpropd.acl

Befehl kprop_script

So erstellen Sie ein Backup der Kerberos-Datenbank

So stellen Sie die Kerberos-Datenbank wieder her

So konvertieren Sie eine Kerberos-Datenbank nach einem Server-Upgrade

So konfigurieren Sie ein Master-KDC zur Verwendung der inkrementellen Weitergabe

So konfigurieren Sie ein Slave-KDC zur Verwendung der inkrementellen Weitergabe

So konfigurieren Sie ein Slave-KDC zur Verwendung der vollständigen Weitergabe

So überprüfen Sie die Synchronisierung der KDC-Server

So führen Sie eine manuelle Weitergabe der Kerberos-Datenbank an Slave-KDCs durch

Einrichten von paralleler Weitergabe

Konfigurationsschritte zum Einrichten einer parallelen Weitergabe

Verwalten der Stash-Datei

So entfernen Sie eine Stash-Datei

Verwalten eines KDC auf einem LDAP-Verzeichnisserver

So kombinieren Sie Kerberos-Hauptelementattribute mit einem nicht zu Kerberos gehörenden Objektklassentyp

So löschen Sie einen Bereich auf einem LDAP-Verzeichnisserver

Erhöhen der Sicherheit auf Kerberos-Servern

So aktivieren Sie nur kerberisierte Anwendungen

So beschränken Sie den Zugriff auf KDC-Server

So verwenden Sie eine Wörterbuchdatei zur Erhöhung der Passwortsicherheit

24.  Kerberos-Fehlermeldungen und -Fehlerbehebung

25.  Verwalten von Kerberos-Hauptelementen und Richtlinien (Aufgaben)

26.  Verwenden von Kerberos-Anwendungen (Aufgaben)

27.  Der Kerberos-Service (Referenz)

Teil VII Prüfung bei Oracle Solaris

28.  Prüfung bei Oracle Solaris (Übersicht)

29.  Planen der Oracle Solaris-Prüfung

30.  Verwalten der Oracle Solaris-Prüfung (Aufgaben)

31.  Prüfung bei Oracle Solaris (Referenz)

Glossar

Index

Verwalten der Kerberos-Datenbank

Die Kerberos-Datenbank ist der Backbone von Kerberos und muss immer auf dem neuesten Stand sein. Dieser Abschnitt enthält einige Verfahren zur Verwaltung der Kerberos-Datenbank, wie Backup und Wiederherstellen der Datenbank, Einrichten der inkrementellen oder parallelen Weitergabe und Verwalten der Stash-Datei. Die Schritte zur ersten Einrichtung der Datenbank finden Sie in So konfigurieren Sie ein Master-KDC manuell.

Backup und Weitergabe der Kerberos-Datenbank

Die Weitergabe der Kerberos-Datenbank vom Master-KDC auf die Slave-KDCs ist eine der wichtigsten Konfigurationsaufgaben. Wenn die Weitergabe zu selten erfolgt, stimmen Master-KDC und Slave-KDCs nicht mehr überein. Wenn das Master-KDC ausfällt, verfügen die Slave-KDCs nicht über die neuesten Datenbankinformationen. Wenn außerdem ein Slave-KDC zum Lastenausgleich als Master-KDC konfiguriert wurde, verfügen die Clients, die dieses Slave-KDC als Master-KDC verwenden, nicht über die neuesten Informationen. Daher müssen Sie sicherstellen, dass die Daten oft genug weitergegeben werden oder die Server zur inkrementellen Weitergabe konfigurieren, abhängig davon, wie häufig die Kerberos-Datenbank geändert wird. Die inkrementelle Weitergabe wird der manuellen Weitergabe vorgezogen, da die manuelle Weitergabe mit einem höheren Verwaltungsaufwand verbunden ist. Eine vollständige Weitergabe der Datenbank ist außerdem nicht immer effizient.

Wenn Sie das Master-KDC konfigurieren, richten Sie den Befehl kprop_script in einem cron-Job ein, um ein Backup der Kerberos-Datenbank in der Abbilddatei /var/krb5/slave_datatrans automatisch zu erstellen und an die Slave-KDCs weiterzugeben. Wie jede Datei kann die Kerberos-Datenbank beschädigt werden. Beschädigte Daten auf einem Slave-KDC fallen wahrscheinlich gar nicht weiter auf, da bei der nächsten automatischen Weitergabe eine neue Kopie installiert wird. Wird jedoch die Datenbank auf dem Master-KDC beschädigt, wird sie bei der nächsten Weitergabe auf allen Slave-KDCs installiert. Außerdem wird dann eine nicht beschädigte Backup-Datei auf dem Master-KDC durch eine beschädigte Backup-Datei überschrieben.

Da in diesem Fall keine "sichere" Backup-Kopie vorhanden ist, sollten Sie auch einen cron-Job einrichten, um die Dump-Datei slave_datatrans regelmäßig an eine andere Position zu kopieren oder um eine weitere Backup-Kopie zu erstellen, indem Sie den Befehl dump des Dienstprogramms kdb5_util verwenden. Sollte die Datenbank nun beschädigt werden, können Sie die neueste Backup-Kopie auf dem Master-KDC mit dem Befehl load des Dienstprogramms kdb5_util wiederherstellen.

Beachten Sie außerdem, dass die Abbilddatei der Datenbank Hauptelementschlüssel enthält und deshalb vor unberechtigtem Zugriff geschützt werden muss. Standardmäßig hat nur der root Lese- und Schreibzugriff auf die Abbilddatei der Datenbank. Um die Abbilddatei vor unberechtigtem Zugriff zu schützen, verwenden Sie ausschließlich den Befehl kprop zur Weitergabe, der die weitergegebenen Daten verschlüsselt. Außerdem gibt kprop die Daten nur an Slave-KDCs weiter und verhindert so, dass die Abbilddatei der Datenbank versehentlich an unberechtigte Hosts gesendet wird.


Achtung

Achtung - Wenn die Kerberos-Datenbank nach der Weitergabe aktualisiert und vor der nächsten Weitergabe beschädigt wird, werden die Aktualisierungen nicht an die KDC-Slaves weitergegeben. Die Aktualisierungen gehen verloren. Aus diesem Grund sollten Sie bei umfangreichen Aktualisierungen der Kerberos-Datenbank vor einer regelmäßigen, geplanten Weitergabe die Datenbank manuell weitergeben, um Datenverlust zu vermeiden.


Datei kpropd.acl

Die Datei kpropd.acl auf einem Slave-KDC enthält eine Liste von Host-Hauptelementnamen (ein Name pro Zeile), die die Systeme angibt, von denen das KDC eine aktualisierte Datenbank durch Weitergabe erhalten kann. Wenn das Master-KDC zur Weitergabe aller Slave-KDCs verwendet wird, muss die Datei kpropd.acl auf jedem Slave nur den Host-Hauptelementnamen des Master-KDC enthalten.

Die Kerberos-Installation und die nachfolgenden Konfigurationsschritte in diesem Dokument beschreiben, wie Sie diese Datei kpropd.acl dem Master-KDC und den Slave-KDCs hinzufügen. Diese Datei enthält alle Hauptelementnamen für den KDC-Host. Diese Konfiguration ermöglicht Ihnen eine Weitergabe von jedem KDC, falls das normalerweise zur Weitergabe verwendete KDC vorübergehend nicht zur Verfügung steht. Durch Beibehalten identischer Kopien auf allen KDCs lässt sich die Konfiguration einfach verwalten.

Befehl kprop_script

Der Befehl kprop_script gibt die Kerberos-Datenbank mithilfe des Befehls kprop an andere KDCs weiter. Wenn der Befehl kprop_script auf einem Slave-KDC ausgeführt wird, gibt er die Kerberos-Datenbankkopie des Slave-KDC an andere KDCs weiter. Der Befehl kprop_script akzeptiert mehrere durch Leerzeichen getrennte Hostnamen als Argumente, um die KDCs für die Weitergabe anzugeben.

Beim Ausführen von kprop_script wird eine Backup-Kopie der Kerberos-Datenbank in der Datei /var/krb5/slave_datatrans angelegt und die Datei auf die angegebenen KDCs kopiert. Die Kerberos-Datenbank wird gesperrt, bis die Weitergabe abgeschlossen ist.

So erstellen Sie ein Backup der Kerberos-Datenbank

  1. Melden Sie sich als Superuser beim Master-KDC an.
  2. Erstellen Sie ein Backup der Kerberos-Datenbank, indem Sie den Befehl dump des Dienstprogramms kdb5_util verwenden.
    # /usr/sbin/kdb5_util dump [-verbose] [-d dbname] [filename [principals...]]
    -verbose

    Gibt den Namen der einzelnen Hauptelemente und die Richtlinie aus, die im Backup enthalten sein sollen

    dbname

    Definiert den Namen der Datenbank, für die das Backup erstellt werden soll. Beachten Sie, dass Sie einen absoluten Pfad für die Datei angeben können. Wenn die Option -d nicht angegeben wird, lautet der Standard-Datenbankname /var/krb5/principal.

    filename

    Definiert die Datei, die für das Backup der Datenbank verwendet wird. Sie können einen absoluten Pfad für die Datei angeben. Wenn Sie keine Datei angeben, wird die Datenbank in die Standarddatei ausgegeben.

    principals

    Definiert einen oder mehrere durch Leerzeichen getrennte Hauptelemente, die gesichert werden sollen. Verwenden Sie nur vollständig qualifizierte Hauptelementnamen. Wenn Sie keine Hauptelemente angeben, wird die gesamte Datenbank gesichert.

Beispiel 23-12 Backup der Kerberos-Datenbank

In dem folgenden Beispiel wird ein Backup der Kerberos-Datenbank in der Datei dumpfile erstellt. Da die Option -verbose angegeben ist, wird jedes Hauptelement beim Backup angezeigt.

# kdb5_util dump -verbose dumpfile 
kadmin/kdc1.eng.example.com@ENG.EXAMPLE.COM 
krbtgt/ENG.EXAMPLE.COM@ENG.EXAMPLE.COM 
kadmin/history@ENG.EXAMPLE.COM 
pak/admin@ENG.EXAMPLE.COM 
pak@ENG.EXAMPLE.COM
changepw/kdc1.eng.example.com@ENG.EXAMPLE.COM

In dem folgenden Beispiel wird ein Backup der Hauptelemente pak und pak/admin aus der Kerberos-Datenbank erstellt.

# kdb5_util dump -verbose dumpfile pak/admin@ENG.EXAMPLE.COM pak@ENG.EXAMPLE.COM
pak/admin@ENG.EXAMPLE.COM
pak@ENG.EXAMPLE.COM

So stellen Sie die Kerberos-Datenbank wieder her

  1. Melden Sie sich als Superuser beim Master-KDC an.
  2. Halten Sie die KDC-Dämonen auf dem Master an.
    kdc1 # svcadm disable network/security/krb5kdc
    kdc1 # svcadm disable network/security/kadmin
  3. Stellen Sie die Kerberos-Datenbank mithilfe des Befehls load des Dienstprogramms kdb_util wieder her.
    # /usr/sbin/kdb5_util load [-verbose] [-d dbname] [-update] [filename] 
    -verbose

    Gibt die Namen der einzelnen Hauptelemente und die Richtlinie aus, die wiederhergestellt werden

    dbname

    Definiert den Namen der Datenbank, die wieder hergestellt werden soll. Beachten Sie, dass Sie einen absoluten Pfad für die Datei angeben können. Wenn die Option -d nicht angegeben wird, lautet der Standard-Datenbankname /var/krb5/principal.

    -update

    Aktualisiert die vorhandene Datenbank. Andernfalls wird eine neue Datenbank erstellt oder die vorhandene Datenbank überschrieben.

    filename

    Definiert die Datei, die zur Wiederherstellung der Datenbank verwendet wird. Sie können einen absoluten Pfad für die Datei angeben.

  4. Starten Sie die KDC-Dämonen.
    kdc1 # svcadm enable -r network/security/krb5kdc
    kdc1 # svcadm enable -r network/security/kadmin

Beispiel 23-13 Wiederherstellen der Kerberos-Datenbank

In dem folgenden Beispiel wird die Datenbank database1 im aktuellen Verzeichnis mithilfe der Datei dumpfile wiederhergestellt. Da die Option -update nicht angegeben ist, wird eine neue Datenbank bei der Wiederherstellung erstellt.

# kdb5_util load -d database1 dumpfile

So konvertieren Sie eine Kerberos-Datenbank nach einem Server-Upgrade

Wenn Ihre KDC-Datenbank auf einem Server mit Solaris 8 oder Solaris 9 erstellt wurde, können Sie durch Konvertieren der Datenbank das verbesserte Datenbankformat nutzen.

Bevor Sie beginnen

Stellen Sie sicher, dass die Datenbank ein älteres Format verwendet.

  1. Halten Sie die KDC-Dämonen auf dem Master an.
    kdc1 # svcadm disable network/security/krb5kdc
    kdc1 # svcadm disable network/security/kadmin
  2. Erstellen Sie ein Verzeichnis zum Speichern einer temporären Kopie der Datenbank.
    kdc1 # mkdir /var/krb5/tmp
    kdc1 # chmod 700 /var/krb5/tmp
  3. Geben Sie die KDC-Datenbank als Abbilddatei aus.
    kdc1 # kdb5_util dump /var/krb5/tmp/prdb.txt
  4. Speichern Sie Kopien der aktuellen Datenbankdateien.
    kdc1 # cd /var/krb5
    kdc1 # mv princ* tmp/
  5. Laden Sie die Datenbank.
    kdc1 # kdb5_util load /var/krb5/tmp/prdb.txt
  6. Starten Sie die KDC-Dämonen.
    kdc1 # svcadm enable -r network/security/krb5kdc
    kdc1 # svcadm enable -r network/security/kadmin

So konfigurieren Sie ein Master-KDC zur Verwendung der inkrementellen Weitergabe

Mit den Schritten in diesem Verfahren können Sie eine vorhandene Master-KDC neu konfigurieren, um die inkrementelle Weitergabe zu nutzen. In diesem Verfahren werden die folgenden Konfigurationsparameter verwendet:

  1. Fügen Sie Einträge zu kdc.conf hinzu.

    Sie müssen die inkrementelle Weitergabe aktivieren und die Anzahl der Aktualisierungen auswählen, die der KDC-Master in der Protokolldatei speichert. Weitere Informationen finden Sie auf der Manpage kdc.conf(4).

    kdc1 # cat /etc/krb5/kdc.conf
    [kdcdefaults]
            kdc_ports = 88,750
    
    [realms]
            EXAMPLE.COM= {
                    profile = /etc/krb5/krb5.conf
                    database_name = /var/krb5/principal
                    admin_keytab = /etc/krb5/kadm5.keytab
                    acl_file = /etc/krb5/kadm5.acl
                    kadmind_port = 749
                    max_life = 8h 0m 0s
                    max_renewable_life = 7d 0h 0m 0s
                    sunw_dbprop_enable = true
                    sunw_dbprop_master_ulogsize = 1000
            }
  2. Erstellen Sie das kiprop-Hauptelement.

    Das kiprop-Hauptelement dient zur Authentifizierung des Master-KDC-Servers und zur Autorisierung der Aktualisierungen vom Master-KDC.

    kdc1 # /usr/sbin/kadmin -p kws/admin
    Enter password: <Type kws/admin password>
    kadmin: addprinc -randkey kiprop/kdc1.example.com
    Principal "kiprop/kdc1.example.com@EXAMPLE.COM" created.
    kadmin: addprinc -randkey kiprop/kdc2.example.com
    Principal "kiprop/kdc2.example.com@EXAMPLE.COM" created.
    kadmin:
  3. Fügen Sie das kiprop-Hauptelement der Schlüsseltabellendatei kadmind hinzu.

    Durch Hinzufügen des kiprop-Hauptelements zur Datei kadm5.keytab kann sich der Befehl kadmind authentifizieren, wenn er gestartet wird.

    kadmin: ktadd -k /etc/krb5/kadm5.keytab kiprop/kdc1.example.com
    Entry for principal kiprop/kdc1.example.com with kvno 3, encryption type AES-256 CTS mode
              with 96-bit SHA-1 HMAC added to keytab WRFILE:/etc/krb5/kadm5.keytab.
    Entry for principal kiprop/kdc1.example.com with kvno 3, encryption type AES-128 CTS mode
              with 96-bit SHA-1 HMAC added to keytab WRFILE:/etc/krb5/kadm5.keytab.
    Entry for principal kiprop/kdc1.example.com with kvno 3, encryption type Triple DES cbc
              mode with HMAC/sha1 added to keytab WRFILE:/etc/krb5/kadm5.keytab.
    Entry for principal kiprop/kdc1.example.com with kvno 3, encryption type ArcFour
              with HMAC/md5 added to keytab WRFILE:/etc/krb5/kadm5.keytab.
    Entry for principal kiprop/kdc1.example.com with kvno 3, encryption type DES cbc mode
              with RSA-MD5 added to keytab WRFILE:/etc/krb5/kadm5.keytab.
    kadmin: quit
  4. Fügen Sie kadm5.acl einen kiprop-Eintrag auf dem Master-KDC hinzu.

    Durch diesen Eintrag erhält das Master-KDC Anforderungen zur inkrementellen Weitergabe vom kdc2-Server.

    kdc1 # cat /etc/krb5/kadm5.acl
    */admin@EXAMPLE.COM *
    kiprop/kdc2.example.com@EXAMPLE.COM p
  5. Kennzeichnen Sie die kprop-Zeile in der crontab-Datei im root als Kommentar.

    Dieser Schritt verhindert, dass das Master-KDC seine Kopie der KDC-Datenbank weitergibt.

    kdc1 # crontab -e
    #ident  "@(#)root       1.20    01/11/06 SMI"
    #
    # 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 * * * /usr/sbin/logadm
    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/lib/krb5kprop_script kdc2.example.sun.com #SUNWkr5ma
  6. Starten Sie kadmind neu.
    kdc1 # svcadm restart network/security/kadmin
  7. Konfigurieren Sie alle Slave-KDC-Server, die inkrementelle Weitergabe nutzen.

    Vollständige Anweisungen finden Sie unter So konfigurieren Sie ein Slave-KDC zur Verwendung der inkrementellen Weitergabe.

So konfigurieren Sie ein Slave-KDC zur Verwendung der inkrementellen Weitergabe

  1. Fügen Sie Einträge zu krb5.conf hinzu.

    Die neuen Einträge ermöglichen die inkrementelle Weitergabe und stellen eine Abfragezeit von 2 Minuten ein.

    kdc2 # cat /etc/krb5/krb5.conf
    [kdcdefaults]
            kdc_ports = 88,750
    
    [realms]
            EXAMPLE.COM= {
                    profile = /etc/krb5/krb5.conf
                    database_name = /var/krb5/principal
                    admin_keytab = /etc/krb5/kadm5.keytab
                    acl_file = /etc/krb5/kadm5.acl
                    kadmind_port = 749
                    max_life = 8h 0m 0s
                    max_renewable_life = 7d 0h 0m 0s
                    sunw_dbprop_enable = true
                    sunw_dbprop_slave_poll = 2m
            }
  2. Fügen Sie das kiprop-Hauptelement der Datei krb5.keytab hinzu.
    kdc2 # /usr/sbin/kadmin -p kws/admin
    Enter password: <Type kws/admin password>
    kadmin: ktadd kiprop/kdc2.example.com
    Entry for principal kiprop/kdc2.example.com with kvno 3, encryption type AES-256 CTS mode
              with 96-bit SHA-1 HMAC added to keytab WRFILE:/etc/krb5/krb5.keytab.
    Entry for principal kiprop/kdc2.example.com with kvno 3, encryption type AES-128 CTS mode
              with 96-bit SHA-1 HMAC added to keytab WRFILE:/etc/krb5/krb5.keytab.
    Entry for principal kiprop/kdc2.example.com with kvno 3, encryption type Triple DES cbc
              mode with HMAC/sha1 added to keytab WRFILE:/etc/krb5/krb5.keytab.
    Entry for principal kiprop/kdc2.example.com with kvno 3, encryption type ArcFour
              with HMAC/md5 added to keytab WRFILE:/etc/krb5/krb5.keytab.
    Entry for principal kiprop/kdc2.example.com with kvno 3, encryption type DES cbc mode
              with RSA-MD5 added to keytab WRFILE:/etc/krb5/krb5.keytab.
    kadmin: quit
  3. Deaktivieren Sie kpropd.
    kdc2 # svcadm disable network/security/krb5_prop
  4. Starten Sie den KDC-Server neu.
    kdc2 # svcadm restart network/security/krb5kdc

So konfigurieren Sie ein Slave-KDC zur Verwendung der vollständigen Weitergabe

In diesem Verfahren wird beschrieben, wie ein Slave-KDC-Server mit Solaris 10 zur vollständigen Weitergabe konfiguriert wird. Normalerweise muss dieses Verfahren nur durchgeführt werden, wenn auf dem Master-KDC-Server Solaris 9 oder eine frühere Version ausgeführt wird. In diesem Fall kann der Master-KDC-Server keine inkrementelle Weitergabe unterstützen, sodass der Slave konfiguriert werden muss, damit die Daten weitergegeben werden können.

Mit diesem Verfahren wird ein Slave-KDC namens kdc3 konfiguriert. In diesem Verfahren werden die folgenden Konfigurationsparameter verwendet:

Bevor Sie beginnen

Das Master-KDC muss konfiguriert sein. Wenn dieser Slave austauschbar ist, finden Sie spezielle Anweisungen unter Austauschen von Master-KDC und Slave-KDC.

  1. Melden Sie sich auf dem Master-KDC als Superuser an.
  2. Starten Sie kadmin auf dem Master-KDC.

    Sie müssen sich mit einem der zuvor bei der Konfiguration des Master-KDC erstellten admin-Hauptelementnamen anmelden.

    kdc1 # /usr/sbin/kadmin -p kws/admin
    Enter password: <Type kws/admin password>
    kadmin: 
    1. Fügen Sie auf dem Master-KDC der Datenbank Slave-Host-Hauptelemente hinzu, falls noch nicht geschehen.

      Damit der Slave ordnungsgemäß funktioniert, muss er über ein Host-Hauptelement verfügen. Wenn die Hauptelementinstanz ein Hostname ist, muss der FQDN unabhängig von der Schreibung des Domainnamens in der Datei /etc/resolv.conf in Kleinbuchstaben angegeben werden.

      kadmin: addprinc -randkey host/kdc3.example.com
      Principal "host/kdc3@EXAMPLE.COM" created.
      kadmin: 
    2. Beenden Sie kadmin.
      kadmin: quit
  3. Bearbeiten Sie die Kerberos-Konfigurationsdatei (krb5.conf) auf dem Master-KDC.

    Sie müssen einen Eintrag pro Slave hinzufügen. Eine vollständige Beschreibung dieser Datei finden Sie auf der Manpage krb5.conf(4).

    kdc1 # cat /etc/krb5/krb5.conf
     .
     .
    [realms]
                    EXAMPLE.COM = {
                    kdc = kdc1.example.com
                    kdc = kdc2.example.com
                    kdc = kdc3.example.com
                    admin_server = kdc1.example.com
            }
  4. Fügen Sie auf dem Master-KDC einen Eintrag für das Master-KDC hinzu und fügen Sie jedes Slave-KDC in die Datei kpropd.acl ein.

    Eine vollständige Beschreibung dieser Datei finden Sie auf der Manpage kprop(1M).

    kdc1 # cat /etc/krb5/kpropd.acl
    host/kdc1.example.com@EXAMPLE.COM
    host/kdc2.example.com@EXAMPLE.COM
    host/kdc3.example.com@EXAMPLE.COM
  5. Kopieren Sie die KDC-Administrationsdateien vom Master-KDC-Server auf alle Slave-KDCs.

    Dieser Schritt ist für alle Slave-KDCs obligatorisch, da der Master-KDC-Server über aktualisierte Informationen verfügt, die auf den KDC-Servern benötigt werden. Sie können ftp oder einen ähnlichen Transfermechanismus verwenden, um Kopien der folgenden Dateien vom Master-KDC zu übertragen:

    • /etc/krb5/krb5.conf

    • /etc/krb5/kdc.conf

    • /etc/krb5/kpropd.acl

  6. Stellen Sie auf allen Slave-KDCs sicher, dass die Kerberos-Zugriffssteuerungsliste kadm5.acl nicht mit Daten angefüllt ist.

    In unverändertem Zustand sieht die Datei kadm5.acl etwa folgendermaßen aus:

    kdc2 # cat /etc/krb5/kadm5.acl
    */admin@___default_realm___ *

    Wenn die Datei kiprop-Einträge enthält, entfernen Sie diese.

  7. Starten Sie den Befehl kadmin auf dem neuen Slave.

    Sie müssen sich mit einem der zuvor bei der Konfiguration des Master-KDC erstellten admin-Hauptelementnamen anmelden.

    kdc2 # /usr/sbin/kadmin -p kws/admin
    Enter password: <Type kws/admin password>
    kadmin: 
    1. Fügen Sie mithilfe von kadmin das Host-Hauptelement des Slaves der Schlüsseltabellendatei des Slaves hinzu.

      Dieser Eintrag stellt die ordnungsgemäße Funktion von kprop und anderen kerberisierten Anwendungen sicher. Wenn die Hauptelementinstanz ein Hostname ist, muss der FQDN unabhängig von der Schreibung des Domainnamens in der Datei /etc/resolv.conf in Kleinbuchstaben angegeben werden.

      kadmin: ktadd host/kdc3.example.com
      Entry for principal host/kdc3.example.com with kvno 3, encryption type AES-256 CTS mode
                with 96-bit SHA-1 HMAC added to keytab WRFILE:/etc/krb5/krb5.keytab.
      Entry for principal host/kdc3.example.com with kvno 3, encryption type AES-128 CTS mode
                with 96-bit SHA-1 HMAC added to keytab WRFILE:/etc/krb5/krb5.keytab.
      Entry for principal host/kdc3.example.com with kvno 3, encryption type Triple DES cbc
                mode with HMAC/sha1 added to keytab WRFILE:/etc/krb5/krb5.keytab.
      Entry for principal host/kdc3.example.com with kvno 3, encryption type ArcFour
                with HMAC/md5 added to keytab WRFILE:/etc/krb5/krb5.keytab.
      Entry for principal host/kdc3.example.com with kvno 3, encryption type DES cbc mode
                with RSA-MD5 added to keytab WRFILE:/etc/krb5/krb5.keytab.
      kadmin: 
    2. Beenden Sie kadmin.
      kadmin: quit
  8. Fügen Sie auf dem Master-KDC den Namen des Slave-KDC dem cron-Job zu, der normalerweise die Backups ausführt, indem Sie crontab -e verwenden.

    Fügen Sie den Namen der einzelnen Slave-KDC-Server am Ende der kprop_script-Zeile hinzu.

    10 3 * * * /usr/lib/krb5/kprop_script kdc2.example.com kdc3.example.com

    Sie sollten auch den Zeitpunkt der Backups ändern. Mit diesem Eintrag erfolgt das Backup der Daten täglich morgens um 3:10 Uhr.

  9. Starten Sie den Kerberos-Weitergabedämon auf dem neuen Slave.
    kdc3 # svcadm enable network/security/krb5_prop
  10. Erstellen Sie ein Backup der Datenbank auf dem Master-KDC und geben Sie sie weiter, indem Sie kprop_script verwenden.

    Wenn bereits eine Backup-Kopie der Datenbank verfügbar ist, muss das Backup kein zweites Mal abgeschlossen werden. Weitere Informationen finden Sie unter So führen Sie eine manuelle Weitergabe der Kerberos-Datenbank an Slave-KDCs durch.

    kdc1 # /usr/lib/krb5/kprop_script kdc3.example.com
    Database propagation to kdc3.example.com: SUCCEEDED
  11. Erstellen Sie mit kdb5_util auf dem neuen Slave eine Stash-Datei.
    kdc3 # /usr/sbin/kdb5_util stash
    kdb5_util: Cannot find/read stored master key while reading master key
    kdb5_util: Warning: proceeding without master key
    
    Enter KDC database master key: <Type the key>
  12. (Optional) Synchronisieren Sie die Uhr des neuen Slave-KDC mit derjenigen des Master-KDC, indem Sie NTP oder einen anderen Synchronisierungsmechanismus für Uhren verwenden.

    Die Installation und Verwendung des Network Time Protocol (NTP) ist nicht obligatorisch. Alle Uhren müssen sich innerhalb der im Abschnitt libdefaults der Datei krb5.conf definierten Standardzeit befinden. Informationen zu NTP finden Sie unter Synchronisieren von Uhren zwischen KDCs und Kerberos-Clients.

  13. Starten Sie den KDC-Dämon (krb5kdc) auf dem neuen Slave.
    kdc3 # svcadm enable network/security/krb5kdc

So überprüfen Sie die Synchronisierung der KDC-Server

Wenn eine inkrementelle Weitergabe konfiguriert wurde, gewährleistet dieses Verfahren, dass die Informationen auf dem Slave-KDC aktualisiert wurden.

  1. Führen Sie auf dem KDC-Master-Server den Befehl kproplog aus.
    kdc1 # /usr/sbin/kproplog -h
  2. Führen Sie auf einem KDC-Slave-Server den Befehl kproplog aus.
    kdc2 # /usr/sbin/kproplog -h
  3. Überprüfen Sie, ob die letzte Seriennummer und der letzte Zeitstempel übereinstimmen.

Beispiel 23-14 Überprüfen der Synchronisierung der KDC-Server

In dem folgenden Beispiel werden die Ergebnisse für die Ausführung des Befehls kproplog auf dem Master-KDC-Server gezeigt.

kdc1 # /usr/sbin/kproplog -h

Kerberos update log (/var/krb5/principal.ulog)
Update log dump:
    Log version #: 1
    Log state: Stable
    Entry block size: 2048
    Number of entries: 2500
    First serial #: 137966
    Last serial #: 140465
    First time stamp: Fri Nov 28 00:59:27 2004
    Last time stamp: Fri Nov 28 01:06:13 2004

In dem folgenden Beispiel werden die Ergebnisse für die Ausführung des Befehls kproplog auf dem Slave-KDC-Server gezeigt.

kdc2 # /usr/sbin/kproplog -h

Kerberos update log (/var/krb5/principal.ulog)
Update log dump:
    Log version #: 1
    Log state: Stable
    Entry block size: 2048
    Number of entries: 0
    First serial #: None
    Last serial #: 140465
    First time stamp: None
    Last time stamp: Fri Nov 28 01:06:13 2004

Beachten Sie, dass die Werte für die letzte Seriennummer und den letzten Zeitstempel identisch sind. Das bedeutet, dass Slave- und Master-KDC-Server synchronisiert sind.

Beachten Sie, dass das Aktualisierungsprotokoll des Slave-KDC-Servers keine Aktualisierungseinträge enthält. Das liegt daran, dass der Slave-KDC-Server im Unterschied zum Master-KDC-Server keinen Satz der Aktualisierungen beibehält. Der KDC-Slave-Server bietet auch keine Informationen zu der ersten Seriennummer oder dem ersten Zeitstempel, da dies nicht relevant ist.

So führen Sie eine manuelle Weitergabe der Kerberos-Datenbank an Slave-KDCs durch

In diesem Verfahren wird beschrieben, wie Sie die Kerberos-Datenbank mithilfe des Befehls kprop weitergeben. Führen Sie dieses Verfahren aus, um ein Slave-KDC mit dem Master-KDC außerhalb des regelmäßigen cron-Jobs zu synchronisieren. Anders als kprop_script können Sie mit kprop die Backup-Kopie der aktuellen Kerberos-Datenbank weitergeben, ohne zuerst eine neue Backup-Kopie zu erstellen.


Hinweis - Führen Sie dieses Verfahren nicht aus, wenn Sie die inkrementelle Weitergabe nutzen.


  1. Melden Sie sich als Superuser beim Master-KDC an.
  2. (Optional) Erstellen Sie ein Backup der Datenbank mithilfe des Befehls kdb5_util.
    # /usr/sbin/kdb5_util dump /var/krb5/slave_datatrans
  3. Geben Sie die Datenbank mithilfe des Befehls kprop an ein Slave-KDC weiter.
    # /usr/lib/krb5/kprop -f /var/krb5/slave_datatrans slave-KDC

Beispiel 23-15 Manuelle Weitergabe der Kerberos-Datenbank an Slave-KDCs mithilfe von kprop_script

Wenn Sie ein Backup der Datenbank außerhalb eines routinemäßigen cron-Jobs erstellen und an ein Slave-KDC weitergeben möchten, können Sie auch den Befehl kprop_script wie folgt verwenden:

# /usr/lib/krb5/kprop_script slave-KDC

Einrichten von paralleler Weitergabe

In den meisten Fällen wird das Master-KDC ausschließlich zur Weitergabe der Kerberos-Datenbank an die Slave-KDCs verwendet. Befinden sich jedoch viele Slave-KDCs an einem Standort, empfiehlt sich die parallele Weitergabe zur Lastverteilung.


Hinweis - Führen Sie dieses Verfahren nicht aus, wenn Sie die inkrementelle Weitergabe nutzen.


Bei der parallelen Weitergabe geht ein Teil der Aufgaben vom Master-KDC an bestimmte Slave-KDCs über. Diese Arbeitsaufteilung beschleunigt die Weitergabe und entlastet das Master-KDC.

Angenommen, an einem Standort befinden sich ein Master-KDC und sechs Slave-KDCs (siehe Abbildung 23-2), wobei slave-1 bis slave-3 eine logische Gruppe und slave-4 bis slave-6 eine andere logische Gruppe bilden. Zur Einrichtung einer parallelen Weitergabe kann beispielsweise das Master-KDC die Datenbank an slave-1 und slave-4 weitergeben. Diese KDC-Slaves können wiederum die Datenbank an die KDC-Slaves ihrer Gruppe weitergeben.

Abbildung 23-2 Beispiel für die Konfiguration einer parallelen Weitergabe

image:Das Diagramm zeigt ein Master-KDC mit zwei Weitergabe-Slaves. Jeder Weitergabe-Slave gibt die Master-KDC-Datenbank an die zugehörigen Slaves weiter.

Konfigurationsschritte zum Einrichten einer parallelen Weitergabe

Der folgende Abschnitt enthält keine ausführliche Beschreibung der einzelnen Verfahrensschritte, sondern eine allgemeine Liste von Schritten zur Konfiguration einer parallelen Weitergabe. Folgende Schritte müssen ausgeführt werden:

  1. Ändern Sie auf dem Master-KDC den Eintrag kprop_script im entsprechenden cron-Job, um nur die Argumente für die KDC-Slaves einzuschließen, die die folgende Weitergabe ausführen (die Weitergabe-Slaves).

  2. Fügen Sie dem cron-Job auf jedem Weitergabe-Slave einen kprop_script-Eintrag mit den Argumenten für die Slaves hinzu, an die Daten weitergegeben werden sollen. Für eine erfolgreiche parallele Weitergabe muss der cron-Job ausgeführt werden, nachdem der Weitergabe-Slave die neue Kerberos-Datenbank erhalten hat.


    Hinweis - Wie lange die Weitergabe an den Weitergabe-Slave dauert, hängt von Faktoren wie der Netzwerkbandbreite und der Größe der Kerberos-Datenbank ab.


  3. Richten Sie die entsprechenden Berechtigungen auf den einzelnen Slave-KDCs für die Weitergabe ein. Fügen Sie dazu den Host-Hauptelementnamen des weitergebenden KDC der Datei kpropd.acl hinzu.

Beispiel 23-16 Einrichten von paralleler Weitergabe

Unter Verwendung des Beispiels in Abbildung 23-2 sieht der kprop_script-Eintrag des Master-KDC etwa folgendermaßen aus:

0 3 * * * /usr/lib/krb5/kprop_script slave-1.example.com slave-4.example.com

Der kprop_script-Eintrag von slave-1 sieht etwa folgendermaßen aus:

0 4 * * * /usr/lib/krb5/kprop_script slave-2.example.com slave-3.example.com

Beachten Sie, dass die Weitergabe an die Slaves eine Stunde nach der Weitergabe durch den Master erfolgt.

Die Datei kpropd.acl auf den Weitergabe-Slaves enthält folgenden Eintrag:

host/master.example.com@EXAMPLE.COM

Die Datei kpropd.acl auf den KDC-Slaves, die Daten von slave-1 erhalten, enthält den folgenden Eintrag:

host/slave-1.example.com@EXAMPLE.COM

Verwalten der Stash-Datei

Die Stash-Datei enthält den Master-Schlüssel für die Kerberos-Datenbank, der automatisch zusammen mit der Kerberos-Datenbank erstellt wird. Wenn die Stash-Datei beschädigt wird, können Sie sie mit dem Befehl stash des Dienstprogramms kdb5_util ersetzen. Eine Stash-Datei sollte nur gelöscht werden, nachdem die Kerberos-Datenbank mit dem Befehl destroy des Dienstprogramms kdb5_util entfernt wurde. Da die Stash-Datei nicht automatisch zusammen mit der Datenbank gelöscht wird, müssen Sie sie entfernen, um die Bereinigung abzuschließen.

So entfernen Sie eine Stash-Datei

  1. Melden Sie sich als Superuser bei dem KDC an, das die Stash-Datei enthält.
  2. Entfernen Sie die Stash-Datei.
    # rm stash-file

    stash-file gibt den Pfad der Stash-Datei an. Standardmäßig befindet sich die Stash-Datei unter /var/krb5/.k5. realm.


    Hinweis - Mit der Option -f des Befehls kdb5_util können Sie die Stash-Datei neu erstellen.