Nach Installation der SEAM-Software müssen Sie die KDC-Server konfigurieren. Durch Konfiguration eines Master-KDCs und wenigstens eines Slave-KDCs wird der Dienst für die Ausgabe von Berechtigungsnachweisen bereitgestellt. Diese Berechtigungsnachweise sind die Grundlage von SEAM, daher müssen die KDCs installiert sein, bevor Sie an andere Aufgaben herangehen.
Der wichtigste Unterschied zwischen einem Master-KDC und einem Slave-KDC liegt darin, dass nur der Master Anforderungen der Datenbankverwaltung bearbeiten kann. So muss zum Beispiel das Ändern eines Passworts oder Hinzufügen eines neuen Hauptbenutzers auf dem Master-KDC vorgenommen werden. Diese Änderungen können dann an die Slave-KDCs weitergeleitet werden. Slave-KDCs wie auch das Master-KDC generieren Berechtigungsnachweise; dadurch wird Redundanz hergestellt für den Fall, dass das Master-KDC nicht in der Lage ist zu reagieren.
Um ein umfassendes Beispiel zu geben, nehmen wir an, Sie haben die Vorkonfigurationsprozedur noch nicht ausgeführt. Wenn Sie die Vorkonfigurationsprozedur beim Installieren der Software jedoch angewendet haben, dann brauchen viele der in dieser Prozedur enthaltenen Dateien nicht bearbeitet werden; Sie sollten allerdings deren Inhalte überprüfen.
In diesem Verfahren werden die folgenden Konfigurationsparameter verwendet:
Bereichsname = ACME.COM
DNS-Domainname = acme.com
Master-KDC = kdc1.acme.com
Slave-KDC = kdc2.acme.com
Admin-Hauptbenutzer = kws/admin
Online-Hilfe-URL = http://stuttgart:8888/ab2/coll.384.1/SEAM/@AB2PageView/6956
Passen Sie den URL so an, dass er auf den Bereich "SEAM Verwaltungstool" verweist, wie in den Hinweisen zur Installation und Version von SEAM beschrieben.
Voraussetzungen für die Konfiguration eines Master-KDCs
Dieses Verfahren verlangt, dass die Master-KDC-Software installiert ist. Außerdem muss DNS ausgeführt werden. Besondere Anweisungen zur Namensgebung bei austauschfähigem Master finden Sie unter "Austauschen von Master- und Slave-KDCs".
Melden Sie sich als Superuser beim Master-KDC an.
Bearbeiten Sie die Kerberos-Konfigurationsdatei (krb5.conf).
Sie müssen die Bereichsnamen und die Namen der Server ändern. Eine vollständige Beschreibung dieser Datei erhalten Sie in der Online-Dokumentation zu krb5.conf(4) . Wenn Sie die SEAM-Software mit diesen Konfigurationsdateien installiert haben, überprüfen Sie deren Inhalt nur, anstatt ihn zu bearbeiten.
kdc1 # cat /etc/krb5/krb5.conf
[libdefaults]
default_realm = ACME.COM
[realms]
ACME.COM = {
kdc = kdc1.acme.com
kdc = kdc2.acme.com
admin_server = kdc1.acme.com
}
[domain_realm]
.acme.com = ACME.COM
#
# Wenn Domainname und Bereichsname identisch sind,
# wird dieser Eintrag nicht benötigt
#
[logging]
default = FILE:/var/krb5/kdc.log
kdc = FILE:/var/krb5/kdc.log
[appdefaults]
gkadmin = {
help_url = http://stuttgart:8888/ab2/coll.384.1/SEAM/@AB2PageView/6956
}
|
In diesem Beispiel wurden die Zeilen für domain_realm, kdc, admin_server sowie alle domain_realm-Einträge geändert. Die Zeile für domain_realm ist enthalten, um das Beispiel zu vervollständigen, jedoch wird dieser Eintrag vom Installationsprozess nicht erstellt, wenn Bereichsname und Domain-Name identisch sind. Außerdem wurde die Zeile mit der Definition von help_url bearbeitet.
Bearbeiten Sie die KDC-Konfigurationsdatei (kdc.conf).
Sie müssen den Bereichsnamen ändern. Eine vollständige Beschreibung dieser Datei erhalten Sie in der Online-Dokumentation zu kdc.conf(4). Wenn Sie die SEAM-Software mit diesen Konfigurationsdateien installiert haben, überprüfen Sie deren Inhalt nur, anstatt ihn zu bearbeiten.
kdc1 # cat /etc/krb5/kdc.conf
[kdcdefaults]
kdc_ports = 88,750
[realms]
ACME.COM = {
profile = /etc/krb5/krb5.conf
database_name = /var/krb5/principal
admin_keytab = /var/krb5/kadm5.keytab
acl_file = /var/krb5/kadm5.acl
kadmind_port = 749
max_life = 8h 0m 0s
max_renewable_life = 7d 0h 0m 0s
}
|
In diesem Beispiel wurde die Definition des Bereichsnamens im Abschnitt realms geändert.
Erstellen Sie die KDC-Datenbank mithilfe von kdb5_util.
Der Befehl kdb5_util erstellt die KDC-Datenbank und, in Verbindung mit der Option -s, eine stash-Datei (Vorsorgedatei), mit deren Hilfe das KDC selbst authentisiert wird, bevor die Dämonen kadmind und krb5kdc gestartet werden.
kdc1 # /usr/krb5/sbin/kdb5_util create -r ACME.COM -s Initialisieren der Datenbank '/var/krb5/principal' für Bereich 'ACME.COM' Master-Schlüsselname 'K/M@ACME.COM' Sie werden nach dem Master-Passwort für die Datenbank gefragt. Es ist wichtig, dass Sie dieses Passwort NICHT VERGESSEN. Geben Sie den Masterschlüssel für die KDC-Datenbank ein: <Eingabe des Schlüssels> Geben Sie den Masterschlüssel für die KDC-Datenbank noch einmal ein: <Nochmalige Eingabe> |
Die Option -r mit nachfolgendem Bereichsnamen ist nicht erforderlich, wenn der Bereichsname mit dem Domain-Namen im Namensraum der Server identisch ist.
Bearbeiten Sie die Kerberos-Zugriffssteuerungslistendatei (kadm5.acl).
Nach der Bearbeitung sollte /etc/krb5/kadm5.acl alle Hauptbenutzernamen enthalten, denen die Verwaltung des KDCs erlaubt ist. Der erste hinzugefügte Eintrag könnte folgendermaßen aussehen:
kws/admin@ACME.COM * |
Dieser Eintrag gibt dem Hauptbenutzer kws/admin im Bereich ACME.COM die Möglichkeit, Hauptbenutzer oder Richtlinien im KDC zu ändern. Die Standardinstallation enthält ein "*", das sich auf alle admin-Hauptbenutzer bezieht. Da dies ein Sicherheitsrisiko darstellen könnte, ist es sicherer, eine Liste aller admin-Hauptbenutzer einzugeben.
Start kadmin.local.
In den nächsten Teilschritten werden die von SEAM verwendeten Hauptbenutzer erstellt.
kdc1 # /usr/krb5/sbin/kadmin.local kadmin.local: |
Fügen Sie administrative Hauptbenutzer mithilfe des Befehls kadmin.local zur Datenbank hinzu.
Sie können soviele admin-Hauptbenutzer hinzufügen, wie Sie benötigen. Sie müssen wenigstens einen admin-Hauptbenutzer hinzufügen, um den KDC-Konfigurationsprozess abzuschließen. In diesem Beispiel wird der Hauptbenutzer kws/admin hinzugefügt. Sie können einen geeigneten Hauptbenutzernamen anstelle von "kws " einsetzen.
kadmin.local: addprinc kws/admin Geben Sie das Passwort für Hauptbenutzer kws/admin@ACME.COM ein: <Eingabe des Passworts> Geben Sie das Passwort für Hauptbenutzer kws/admin@ACME.COM erneut ein: <Nochmalige Eingabe> Hauptbenutzer "kws/admin@ACME.COM" erstellt. kadmin.local: |
Erstellen Sie eine Schlüsseltabellendatei für kadmin mithilfe von kadmin.local.
Diese Befehlsfolge erstellt eine spezielle Schlüsseltabellendatei mit Hauptbenutzereinträgen für kadmin und changepw. Diese Hauptbenutzer werden für den kadmind-Dienst benötigt.
kadmin.local: ktadd -k /etc/krb5/kadm5.keytab kadmin/kdc1.acme.com
Eintrag für Hauptbenutzer kadmin/kdc1.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/kdc1.acme.com
Eintrag für Hauptbenutzer changepw/kdc1.acme.com mit kvno 3, Verschlüsselungstyp DES-CBC-CRC
zur Schlüsseltabellendatei WRFILE:/etc/krb5/kadm5.keytab hinzugefügt.
kadmin.local:
|
Beenden Sie kadmin.local
Sie haben alle für die nächsten Schritte erforderlichen Hauptbenutzer hinzugefügt.
kadmin.local: quit |
Starten Sie die Kerberos-Dämonen.
kdc1 # /etc/init.d/kdc start kdc1 # /etc/init.d/kdc.master start |
Starten Sie kadmin.
An dieser Stelle können Sie Hauptbenutzer mithilfe des SEAM-Verwaltungstools hinzufügen. Das Befehlszeilen-Beispiel wird der Einfachheit halber gezeigt. Sie müssen sich mit einem der admin-Hauptbenutzernamen anmelden, die Sie vorher in diesem Verfahren erstellt haben.
kdc1 # /usr/krb5/sbin/kadmin -p kws/admin Passwort eingeben: <Eingabe des Passworts für kws/admin> kadmin: |
Erstellen Sie mithilfe von kadmin den Host-Hauptbenutzer für das Master-KDC.
Der Host-Hauptbenutzer wird von mit Kerberos ausgestatteten Anwendungen (wie klist und kprop) wie auch Diensten (wie ftp und telnet) verwendet.
kadmin: addprinc -randkey host/kdc1.acme.com Hauptbenutzer "host/kdc1.acme.com@ACME.COM" erstellt. kadmin: |
Optional: Erstellen Sie den Root-Hauptbenutzer für das Master-KDC mit kadmin.
Dieser Hauptbenutzer wird für das authentisierte NFS-Einhängen verwendet und ist daher wahrscheinlich auf einem Master-KDC nicht erforderlich.
kadmin: addprinc root/kdc1.acme.com Geben Sie das Passwort für Hauptbenutzer "root/kdc1.acme.com@ACME.COM" ein: <Eingabe des Passworts> Geben Sie das Passwort für Hauptbenutzer "root/kdc1.acme.com@ACME.COM" erneut ein: <Nochmalige Eingabe> Hauptbenutzer "root/kdc1.acme.com@ACME.COM" erstellt. kadmin: |
Fügen Sie den Host-Hauptbenutzer für das Master-KDC zu dessen Schlüsseltabellendatei hinzu.
Durch Hinzufügen des Host-Hauptbenutzers zur Schlüsseltabellendatei kann dieser Hauptbenutzer automatisch verwendet werden.
kadmin: ktadd host/kdc1.acme.com kadmin: Eintrag für host/kdc1.acme.com mit kvno 3, Verschlüsselungstyp DES-CBC-CRC zur Schlüsseltabelle hinzugefügt WRFILE:/etc/krb5/krb5.keytab kadmin: quit |
Beenden Sie kadmin
kadmin: quit |
Fügen Sie für jedes KDC einen Eintrag in der Vervielfältigungskonfigurationsdatei (kpropd.acl) ein.
Eine vollständige Beschreibung dieser Datei erhalten Sie in der Online-Dokumentation zu kprop(1M). Wenn Sie die SEAM-Software mit diesen Konfigurationsdateien installiert haben, überprüfen Sie deren Inhalt nur, anstatt ihn zu bearbeiten.
kdc1 # cat /etc/krb5/kpropd.acl host/kdc1.acme.com@ACME.COM host/kdc2.acme.com@ACME.COM |
Optional: Synchronisieren Sie die Systemuhr des Master-KDCs mit NTP oder einem anderen Mechanismus für die Synchronisation der Uhrzeit.
Es nicht erforderlich, NTP zu installieren und zu verwenden, aber jede Systemuhr muss auf einen Standard-Zeitbereich eingestellt sein, der im Abschnitt libdefaults der Datei krb5.conf definiert ist, damit eine Authentisierung erfolgreich sein kann. Weitere Informationen über NTP finden Sie unter "Synchronisieren der Uhren zwischen KDCs und SEAM-Clients".
In diesem Verfahren wird ein neues Slave-KDC mit dem Namen kdc3 konfiguriert. Um ein vollständiges Beispiel zu bieten, wird angenommen, dass Sie beim Installieren der Software entweder nicht die Vorkonfigurationsprozedur verwendet oder bei Ausführung der Vorkonfigurationsprozedur kdc3 nicht als Slave definiert haben. Wenn Sie die Vorkonfigurationsprozedur jedoch verwendet und kdc3 als Slave definiert haben, dann brauchen viele der in dieser Prozedur enthaltenen Dateien nicht bearbeitet werden; Sie sollten allerdings deren Inhalte überprüfen.
Dieses Verfahren verwendet die folgenden Konfigurationsparameter:
Bereichsname = ACME.COM
DNS-Domainname = acme.com
Master-KDC = kdc1.acme.com
slave kdc = kdc2.acme.com und kdc3.acme.com
Admin-Hauptbenutzer = kws/admin
Online-Hilfe-URL = http://stuttgart:8888/ab2/coll.384.1/SEAM/@AB2PageView/6956
Passen Sie den URL so an, dass er auf den Abschnitt "SEAM Verwaltungstool" verweist, wie in den Hinweisen zur Installation und Version von SEAM beschrieben.
Voraussetzungen für die Konfiguration eines Slave-KDCs.
Bei diesem Verfahren ist erforderlich, dass das Master-KDC konfiguriert und die SEAM-Software für Slave-KDCs auf kdc3 installiert worden ist. Besondere Anweisungen bei austauschfähigem Slave finden Sie unter "Austauschen von Master- und Slave-KDCs".
Auf dem Master-KDC: Melden Sie sich als Superuser an.
Auf dem Master-KDC: Starten Sie kadmin.
Sie müssen sich mit einem der admin-Hauptbenutzernamen anmelden, die Sie beim Konfigurieren des Master-KDCs erstellt haben.
kdc1 # /usr/krb5/sbin/kadmin -p kws/admin Passwort eingeben: <Eingabe des Passworts für kws/admin> kadmin: |
Auf dem Master-KDC: Fügen Sie Slave-Host-Hauptbenutzer mithilfe von kadmin zur Datenbank hinzu, sofern nicht bereits geschehen.
Damit der Slave funktioniert, muss er einen Host-Hauptbenutzer haben.
kadmin: addprinc -randkey host/kdc3.acme.com Hauptbenutzer "host/kdc3.acme.com@ACME.COM" erstellt. kadmin: |
Optional: Erstellen Sie mithilfe von kadmin auf dem Master-KDC den Hauptbenutzer root für das Slave-KDC.
Dieser Hauptbenutzer wird nur benötigt, wenn der Slave einen NFS-Mount eines authentisierten Dateisystems vornehmen wird.
kadmin: addprinc root/kdc3.acme.com Geben Sie das Passwort für Hauptbenutzer "root/kdc3.acme.com@ACME.COM" ein: <Eingabe des Passworts> Geben Sie das Passwort für Hauptbenutzer "root/kdc3.acme.com@ACME.COM" erneut ein: <Nochmalige Eingabe> Hauptbenutzer "root/kdc3.acme.com@ACME.COM" erstellt. kadmin: |
Beenden Sie kadmin
kadmin: quit |
Auf dem Master-KDC: Bearbeiten Sie die Kerberos-Konfigurationsdatei (krb5.conf).
Sie müssen für jeden Slave einen Eintrag hinzufügen. Eine vollständige Beschreibung dieser Datei finden Sie in der Online-Dokumentation (Man Page) unter krb5.conf(4).Wenn Sie beim Ausführen der Vorkonfigurationsprozedur kdc3 als Slave-Server definiert haben, dann überprüfen Sie den Inhalt der Datei nur, anstatt ihn zu bearbeiten.
kdc1 # cat /etc/krb5/krb5.conf
[libdefaults]
default_realm = ACME.COM
[realms]
ACME.COM = {
kdc = kdc1.acme.com
kdc = kdc2.acme.com
kdc = kdc3.acme.com
admin_server = kdc1.acme.com
}
[domain_realm]
.acme.com = ACME.COM
#
# Wenn Domainname und Bereichsname identisch sind,
# wird dieser Eintrag nicht benötigt
#
[logging]
default = FILE:/var/krb5/kdc.log
kdc = FILE:/var/krb5/kdc.log
[appdefaults]
gkadmin = {
help_url = http://stuttgart:8888/ab2/coll.384.1/SEAM/@AB2PageView/6956
|
Auf dem Master-KDC: Fügen Sie für jedes Slave-KDC einen Eintrag in die Vervielfältigungskonfigurationsdatei der Datenbank (kpropd.acl) ein.
Eine vollständige Beschreibung dieser Datei erhalten Sie in der Online-Dokumentation zu kprop(1M). Wenn Sie beim Ausführen der Vorkonfigurationsprozedur kdc3 als Slave-Server definiert haben, dann überprüfen Sie den Inhalt der Datei nur, anstatt ihn zu bearbeiten.
kdc1 # cat /etc/krb5/kpropd.acl host/kdc1.acme.com@ACME.COM host/kdc2.acme.com@ACME.COM host/kdc3.acme.com@ACME.COM |
Auf allen Slaves: Kopieren Sie die KDC-Verwaltungsdateien vom Master-KDC-Server.
Dieser Schritt muss auf allen Slave-KDCs durchgeführt werden, da der Master-KDC-Server die aktualisierten Informationen enthält, die jeder andere KDC-Server benötigt. Wenn Sie beim Ausführen der Vorkonfigurationsprozedur kdc3 als einen Slave-Server definiert haben, dann überprüfen Sie den Inhalt der Datei nur, anstatt ihn zu bearbeiten. Sie können mit ftp oder einem ähnlichen Übertragungsmechanismus Kopien der folgenden Dateien vom Master erstellen:
/etc/krb5/krb5.conf
/etc/krb5/kdc.conf
/etc/krb5/kpropd.acl
Auf dem neuen Slave: Fügen Sie dessen Host-Hauptbenutzer zur Schlüsseltabellendatei des Slave mithilfe des Programms kadmin hinzu.
Sie müssen sich mit einem der admin-Hauptbenutzernamen anmelden, die Sie beim Konfigurieren des Master-KDCs erstellt haben. Durch diesen Eintrag können kprop und andere mit Kerberos ausgestattete Anwendungen korrekt ausgeführt werden.
kdc3 # /usr/krb5/sbin/kadmin -p kws/admin Passwort eingeben: <Eingabe des Passworts für kws/admin> kadmin: ktadd host/kdc3.acme.com kadmin: Eintrag für host/kdc3.acme.com mit kvno 3, Verschlüsselungstyp DES-CBC-CRC zur Schlüsseltabelle hinzugefügt WRFILE:/etc/krb5/krb5.keytab kadmin: quit |
Auf dem Master-KDC: Fügen Sie die Slave-KDC-Namen zum Job cron (mit dem automatisch die Sicherungen durchgeführt werden) durch Aufruf von crontab -e hinzu.
Fügen Sie den Namen jedes Slave-KDC-Servers am Ende der Zeile kprop_script ein. Wenn Sie beim Ausführen der Vorkonfigurationsprozedur kdc3 als Slave-Server definiert haben, dann überprüfen Sie den Inhalt der Datei nur, anstatt ihn zu bearbeiten.
10 3 * * * /usr/krb5/lib/kprop_script kdc2.acme.com kdc3.acme.com |
Sie möchten vielleicht auch den Zeitpunkt für die Sicherungen ändern. Diese Konfiguration startet den Sicherungsprozess jede Nacht um 3:10 Uhr.
Auf dem Master-KDC: Führen Sie eine Sicherung und Vervielfältigung der Datenbank mithilfe von kprop_script durch.
Wenn bereits eine Sicherungskopie der Datenbank zur Verfügung steht, ist es nicht nötig, eine andere Sicherung durchzuführen. Weitere Anweisungen finden Sie unter "So wird die Kerberos-Datenbank manuell auf Slave-KDCs vervielfältigt".
kdc1 # /usr/krb5/lib/kprop_script kdc3.acme.com Datenbankvervielfältigung auf kdc3.acme.com: ERFOLGREICH |
Auf dem neuen Slave: Erstellen Sie mithilfe von kdb5_util eine stash-Datei (Vorsorgedatei).
kdc3 # /usr/krb5/sbin/kdb5_util stash kdb5_util: Kann gespeicherten Masterschlüssel nicht finden/lesen, während Masterschlüssel gelesen wird: kdb5_util: Warnung: es wird ohne Masterschlüssel fortgefahren Geben Sie den Masterschlüssel für die KDC-Datenbank ein: <Eingabe des Schlüssels> |
Auf dem neuen Slave: Starten Sie den KDC-Dämonen (krb5kdc).
kdc3 # /etc/init.d/kdc start |
Optional: Synchronisieren Sie auf dem neuen Slave die Systemuhr des Master-KDCs mit NTP oder einem anderen Mechanismus für die Synchronisation der Uhrzeit.
Es nicht erforderlich, NTP zu installieren und zu verwenden, aber jede Systemuhr muss auf einen Standard-Zeitbereich eingestellt sein, der im Abschnitt libdefaults der Datei krb5.conf definiert ist, damit eine Authentisierung erfolgreich ist. Weitere Informationen über NTP finden Sie unter "Synchronisieren der Uhren zwischen KDCs und SEAM-Clients".