Sun Enterprise Authentication Mechanism 1.0.1 Handbuch

Kapitel 2 Planungsaspekte für SEAM

Dieses Kapitel sollte von Personen bearbeitet werden, die an der Installation und Verwaltung von SEAM mitwirken. In diesem Kapitel ist eine Beschreibung verschiedener Überlegungen zur Installation und Konfiguration enthalten, die vor der Installation oder Konfiguration von SEAM entschieden werden müssen.

Es folgt eine Liste der Themen, die von einem Systemverwalter oder einem anderen qualifizierten Mitarbeiter behandelt werden müssen:

SEAM-Konfigurationsentscheidungen

Vor der Installation von SEAM müssen verschiedene Fragen zur Konfiguration geklärt werden. Obwohl es nicht unmöglich ist, die Konfiguration nach der ersten Installation zu ändern, so gestaltet es sich doch mit jedem zum System hinzugefügten Client schwieriger. Außerdem erfordern einige Änderungen eine vollständige Neuinstallation, daher ist es ratsamer, langfristige Ziele bei der Planung zu verfolgen.

Bereiche

Ein Bereich stellt ein logisches Netzwerk dar, wie z. B. eine Domain, über das eine Gruppe von Systemen unter demselben Master-KDC definiert wird. Wie bei der Einrichtung von DNS-Domain-Namen sollten z. B. Fragen zum Bereichsnamen, der Anzahl und Größe jedes Bereichs sowie die Beziehung zwischen den Bereichen vor der Konfiguration von SEAM geklärt werden.

Bereichsnamen

Bereichsnamen können aus einer beliebigen ASCII-Zeichenfolge bestehen. Normalerweise wird derselbe Name wie für den DNS-Domain-Namen verwendet, jedoch in Großbuchstaben. Dadurch können Probleme mit SEAM besser von Problemen mit dem DNS-Namensbereich unterschieden werden, während ein vertrauter Name verwendet wird. Wenn Sie den DNS nicht verwenden oder eine andere Bezeichnung vergeben möchten, dann können Sie einen beliebigen Namen verwenden, obwohl Bereichsnamen zu empfehlen sind, die der Standardnamensstruktur für das Internet folgen.

Anzahl von Bereichen

Die Anzahl der von Ihrer Installation erforderlichen Bereiche hängt von verschiedenen Faktoren ab:

Bereichshierarchie

Wenn Sie mehrere Bereiche konfigurieren, müssen Sie entscheiden, wie die Bereiche miteinander verbunden werden. Sie können eine hierarchische Beziehung zwischen den Bereichen einrichten, die automatische Pfade zu den dazugehörigen Domains bereitstellt, jedoch die fehlerfreie Konfiguration aller Bereiche in der hierarchischen Kette erfordert. Die automatischen Pfade können den Verwaltungsaufwand verringern. Wenn jedoch viele Domain-Ebenen vorhanden sind, sollten Sie eventuell nicht den Standardpfad verwenden, da damit zu viele Transaktionen verbunden sind.

Sie können die Verbindung auch direkt einrichten. Eine direkte Verbindung bietet sich am ehesten an, wenn zwischen zwei hierarchischen Domains zu viele Ebenen existieren oder wenn keine hierarchische Beziehung besteht. Die Verbindung muss in der Datei /etc/krb5/krb5.conf auf allen Hosts definiert werden, die diese Verbindung verwenden, was einen gewissen zusätzlichen Aufwand bedeutet. Eine Einführung finden Sie unter "Bereiche", Konfigurationsprozeduren für mehrere Bereiche werden unter "Konfigurieren der bereichsübergreifenden Authentisierung" beschrieben.

Zuordnen von Hostnamen zu Bereichen

Die Zuordnung von Hostnamen zu Bereichen wird im Abschnitt domain_realm der Datei krb5.conf definiert. Diese Zuordnungen können abhängig von den Anforderungen für eine komplette Domain sowie für einzelne Hosts definiert werden. Weitere Informationen finden Sie in der Online-Dokumentation (Man Page) unter krb5.conf(4).

Client und Service, Hauptbenutzernamen

Für die Verwendung von SEAM ist es besser, wenn DNS-Services bereits konfiguriert sind und auf allen Hosts ausgeführt werden. Wenn der DNS verwendet wird, muss er auf allen Systemen oder auf keinem aktiviert sein. Der Hauptbenutzer sollte bei verfügbarem DNS den FQDN (Fully Qualified Domain Name, voll qualifizierter Domain-Name) für jeden Host enthalten. Wenn der Host-Name z. B. hamburg, der DNS-Domain-Name acme.com und der Bereichsname ACME.COM lautet, dann sollte host/hamburg.acme.com@ACME.COM als Hauptbenutzername für den Host verwendet werden. Die Beispiele in dieser Dokumentation verwenden für jeden Host den FQDN.

Für die Hauptbenutzernamen, die den FQDN eines Hosts enthalten, ist es von Bedeutung, dass Übereinstimmung mit der Zeichenfolge besteht, die den DNS-Domain-Namen in der Datei /etc/resolv.conf beschreibt. Bei dieser Zeichenfolge muss die Groß- und Kleinschreibung beachtet werden. SEAM erfordert DNS-Domain-Namen in Kleinbuchstaben, daher werden nur Kleinbuchstaben verwendet, wenn der FQDN für einen Hauptbenutzer eingegeben wird.

SEAM kann ohne DNS-Services ausgeführt werden, jedoch funktionieren dann einige Hauptfunktionen nicht, wie z. B. das Kommunizieren mit anderen Bereichen. Wenn der DNS nicht konfiguriert wurde, kann ein einfacher Host-Name für die Instanz verwendet werden. In diesem Fall wird host/hamburg@ACME.COM als Hauptbenutzer verwendet. Wenn der DNS später aktiviert wird, müssen alle Host-Hautpbenutzer gelöscht und in der KDC-Datenbank ersetzt werden.

Anschlüsse für die KDC- und Admin-Services

Standardmäßig werden Anschluss 88 und Anschluss 750 für das KDC sowie Anschluss 749 für den KDC-Verwaltungsdämon verwendet. Es können unterschiedliche Anschlussnummern verwendet werden, jedoch erfordert deren Änderung, dass die Dateien /etc/services und /etc/krb5/krb5.conf auf jedem Client geändert werden. Zusätzlich muss die Datei /etc/krb5/kdc.conf auf jedem KDC aktualisiert werden.

Slave-KDC

Slave-KDCs generieren, wie auch das Master-KDC, Berechtigungsnachweise für Clients. Das Slave-KDC stellt eine Sicherungskopie für den Fall dar, dass das Master-KDC nicht verfügbar ist. Jeder Bereich sollte mindestens ein Slave-KDC besitzen. Abhängig von den folgenden Faktoren können weitere Slave-KDCs erforderlich sein:

Es können jedoch auch zu viele Slave-KDCs hinzugefügt werden. Beachten Sie, dass die KDC-Datenbank an jeden Server verteilt werden muss, daher kann es umso länger dauern, die Daten für den gesamten Bereich zu aktualisieren, je mehr KDC-Server installiert sind. Außerdem wird durch eine höhere Anzahl von Slaves auch das Sicherheitsrisiko erhöht, da jeder Slave eine Kopie der KDC-Datenbank aufbewahrt.

Zusätzlich können ein oder mehrere Slave-KDCs konfiguriert werden, um einfach mit der Master-KDC ausgetauscht zu werden. Der Vorteil, diese Prozedur zumindest für ein Slave-KDC durchzuführen, besteht darin, dass Sie im Falle eines fehlerhaften Master-KDCs bereits über ein vorkonfiguriertes System verfügen, das einfach für das Master-KDC eingewechselt werden kann. Anweisungen zur Konfiguration einer austauschbaren Slave-KDC finden Sie unter "Austauschen von Master- und Slave-KDCs".

Datenbankvervielfältigung

Die auf dem Master-KDC gespeicherte Datenbank muss regelmäßig an die Slave-KDCs verteilt werden. Eine der ersten Fragen, die zu klären ist, betrifft die Häufigkeit der Aktualisierung für die Slave-KDCs. Der Wunsch nach aktuellen, für alle Clients verfügbare Informationen muss gegenüber dem Zeitaufwand für die Aktualisierung abgewogen werden. Weitere Informationen über die Datenbankvervielfältigung finden Sie unter "Verwalten der Kerberos-Datenbank".

Bei großen Installationen mit mehreren KDCs in einem Bereich ist es für einen oder mehrere Slaves möglich, die Daten parallel zu verbreiten. Dadurch verringert sich der Zeitaufwand für die Aktualisierung, allerdings gestaltet sich auch die Verwaltung des Bereiches komplexer.

Uhr, Synchronisation

Alle Hosts, die am Kerberos-Authentisierungssystem teilnehmen, müssen ihre Systemuhren innerhalb eines festgelegten, maximalen Zeitbereichs (auch Zeitabweichung genannt) synchron halten, wodurch eine weitere Kerberos-Sicherheitsprüfung gegeben ist. Wenn die Zeitabweichung für einen der beteiligten Hosts zu hoch ist, werden Anforderungen zurückgewiesen.

Eine Möglichkeit für das Synchronisieren aller Uhren ist die Verwendung des Network Time Protocol (NTP) (weitere Informationen siehe "Synchronisieren der Uhren zwischen KDCs und SEAM-Clients"). Wenn die Zeitabweichung bei einem beliebigen teilnehmenden Host überschritten wird, werden Anforderungen zurückgewiesen. Eine Möglichkeit zur Synchronisation aller Uhren stellt die Verwendung der Software NTP (Network Time Protocol, Netzwerkzeit-Protokoll) dar.

SEAM Vorkonfigurationsprozedur

SEAM umfasst eine Vorkonfigurationsprozedur, über die Informationen auf einem NFS-Server gespeichert werden. Diese Informationen können dann vom Installationsskript benutzt werden. Die Verwendung dieser Prozedur ist optional, jedoch sehr empfehlenswert, da der Installationsprozess beschleunigt wird und Fehler bei der manuellen Eingabe von Daten vermieden werden.