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)
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)
19. Verwenden von Oracle Solaris Secure Shell (Aufgaben)
20. Oracle Solaris Secure Shell (Referenz)
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)
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
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 eines KDC auf einem LDAP-Verzeichnisserver
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)
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.
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 - 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. |
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.
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.
# /usr/sbin/kdb5_util dump [-verbose] [-d dbname] [filename [principals...]]
Gibt den Namen der einzelnen Hauptelemente und die Richtlinie aus, die im Backup enthalten sein sollen
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.
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.
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
kdc1 # svcadm disable network/security/krb5kdc kdc1 # svcadm disable network/security/kadmin
# /usr/sbin/kdb5_util load [-verbose] [-d dbname] [-update] [filename]
Gibt die Namen der einzelnen Hauptelemente und die Richtlinie aus, die wiederhergestellt werden
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.
Aktualisiert die vorhandene Datenbank. Andernfalls wird eine neue Datenbank erstellt oder die vorhandene Datenbank überschrieben.
Definiert die Datei, die zur Wiederherstellung der Datenbank verwendet wird. Sie können einen absoluten Pfad für die Datei angeben.
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
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.
kdc1 # svcadm disable network/security/krb5kdc kdc1 # svcadm disable network/security/kadmin
kdc1 # mkdir /var/krb5/tmp kdc1 # chmod 700 /var/krb5/tmp
kdc1 # kdb5_util dump /var/krb5/tmp/prdb.txt
kdc1 # cd /var/krb5 kdc1 # mv princ* tmp/
kdc1 # kdb5_util load /var/krb5/tmp/prdb.txt
kdc1 # svcadm enable -r network/security/krb5kdc kdc1 # svcadm enable -r network/security/kadmin
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:
Realm name = EXAMPLE.COM
DNS-Domainname = example.com
Master-KDC = kdc1.example.com
Slave-KDC = kdc2.example.com
admin-Hauptelement = kws/admin
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
}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:
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: quitDurch 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
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
kdc1 # svcadm restart network/security/kadmin
Vollständige Anweisungen finden Sie unter So konfigurieren Sie ein Slave-KDC zur Verwendung der inkrementellen Weitergabe.
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
}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: quitkdc2 # svcadm disable network/security/krb5_prop
kdc2 # svcadm restart network/security/krb5kdc
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:
Realm name = EXAMPLE.COM
DNS-Domainname = example.com
Master-KDC = kdc1.example.com
Slave-KDC = kdc2.example.com und kdc3.example.com
admin-Hauptelement = kws/admin
Onlinehilfe-URL = http://denver:8888/ab2/coll.384.1/SEAM/@AB2PageView/6956
Hinweis - Passen Sie die URL an, sodass sie auf den Bereich "Graphical Kerberos Administration Tool" verweist, wie in Onlinehilfe-URL im Graphical Kerberos Administration Tool beschrieben.
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.
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:
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:
kadmin: quit
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
}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
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
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.
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:
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: kadmin: quit
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.
kdc3 # svcadm enable network/security/krb5_prop
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
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>
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.
kdc3 # svcadm enable network/security/krb5kdc
Wenn eine inkrementelle Weitergabe konfiguriert wurde, gewährleistet dieses Verfahren, dass die Informationen auf dem Slave-KDC aktualisiert wurden.
kdc1 # /usr/sbin/kproplog -h
kdc2 # /usr/sbin/kproplog -h
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.
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.
# /usr/sbin/kdb5_util dump /var/krb5/slave_datatrans
# /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
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
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:
Ä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).
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.
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
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.
# 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.