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:
Vor der Installation von SEAM müssen Sie verschiedene Fragen zur Konfiguration klären. 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.
Ein Bereich stellt ein logisches Netzwerk dar, wie z. B. eine Domain, das eine Gruppe von Systemen unter demselben Master-KDC definiert. Wie bei der Einrichtung von DNS-Domain-Namen sollten z. B. Fragen zum Bereichsnamen, der Anzahl und Größe jeden Bereichs sowie die Beziehung zwischen den Bereichen, vor der Installation von SEAM geklärt werden.
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 besser 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.
Die Anzahl der von Ihrer Installation erforderlichen Bereiche hängt von verschiedenen Faktoren ab:
Der Anzahl der zu unterstützenden Clients. Wenn zu viele Clients in einem Bereich vorhanden sind, gestaltet sich die Verwaltung schwieriger und die Aufteilung des Bereichs könnte erforderlich werden. Zu den Hauptfaktoren, die die Anzahl der zu unterstützenden Clients bestimmen, gehören: Der Umfang des SEAM-Verkehrs, den jeder Client erzeugt, die Bandbreite des physischen Netzwerks und die Leistung der Hosts. Da jede Installation unterschiedliche Einschränkungen mit sich bringt, gibt es keine Regel für die Bestimmung der maximalen Anzahl von Clients.
Der Entfernung zwischen den Clients. Es kann sinnvoll sein, mehrere kleine Bereiche einzurichten, wenn sich die Clients in unterschiedlichen geographischen Gebieten befinden.
Der Anzahl der verfügbaren Hosts, die als KDCs installiert werden können. Jeder Bereich sollte mindestens zwei KDC-Server (Master und Slave) besitzen.
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, möchten Sie möglicherweise 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 muß 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" und Konfigurationsprozeduren für mehrere Bereiche werden unter "Konfigurieren der bereichsübergreifenden Authentisierung" beschrieben.
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 zu krb5.conf(4).
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, muß 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 Hauptbenutzer, die den FQDN eines Hosts einbeziehen, ist es von Bedeutung, die Zeichenfolge zu vergleichen, die den DNS-Domain-Namen in der Datei /etc/resolv.conf beschreibt. Bei dieser Zeichenfolge wird zwischen Groß-/Kleinschreibung unterschieden. 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 würde host/hamburg@ACME.COM als Hauptbenutzer verwendet werden. Wenn der DNS später aktiviert wird, müssen alle Host-Hautpbenutzer gelöscht und in der KDC-Datenbank ersetzt werden.
Standardmäßig werden Anschluß 88 und Anschluß 750 für das KDC sowie Anschluß 749 für den KDC-Verwaltungsdämon verwendet. Es können unterschiedliche Anschlußnummern verwendet werden, jedoch erfordert deren Änderung, daß die Dateien /etc/services und /etc/krb5/krb5.conf auf jedem Client geändert werden. Zusätzlich muß die Datei /etc/krb5/kdc.conf auf jedem KDC aktualisiert werden.
Slave-KDCs generieren, wie auch das Master-KDC, Berechtigungsnachweise für Clients. Das Slave-KDC stellt eine Sicherungskopie für den Fall dar, daß 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:
Anzahl der physischen Segmente im Bereich. Normalerweise sollte das Netzwerk so eingerichtet sein, daß jedes Segment ohne den Rest des Bereichs zumindest minimal funktioniert. Dazu muß für jedes Segement ein KDC erreichbar sein. Das KDC kann in diesem Fall entweder ein Master- oder ein Slave-KDC sein.
Anzahl der Clients im Bereich. Das Hinzufügen zusätzlicher Slave-KDC-Server kann die Last für die aktuellen Server verringern.
Es können jedoch auch zu viele Slave-KDCs hinzugefügt werden. Beachten Sie, daß die KDC-Datenbank an jeden Server verteilt werden muß, 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, daß 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".
Noch zu liefern.
Die auf dem Master-KDC gespeicherte Datenbank muß 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 muß gegenüber dem Zeitaufwand für die Aktualisierung abgewogen werden. Weitere Informationen über die Datenbankverbreitung 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.
Alle am Kerberos-Authentisierungssystem teilnehmenden Hosts müssen ihre internen Uhren innerhalb eines festgelegten maximalen Zeitabschnitts synchronisieren (auch als Zeitabweichung bezeichnet), wodurch eine weitere Kerberos-Sicherheitsüberprüfung bereitgestellt wird. 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. Weitere Informationen finden Sie unter "Synchronisieren der Uhren zwischen KDCs und SEAM-Clients". Die Uhren können auch auf andere Art und Weise synchronisiert werden, somit ist die Verwendung des NTP nicht zwingend erforderlich. Es sollte jedoch eine Form der Synchronisation gewählt werden, um Zugriffsfehler wegen der Zeitabweichung zu vermeiden.
SEAM umfaßt eine Prozedur für die Pre-Konfiguration, die Informationen auf einem NFS-Server speichert. Diese Informationen können dann vom Software-Installationsskript verwendet werden. Die Verwendung dieser Prozedur ist optional, jedoch sehr empfehlenswert, da der Installationsprozeß beschleunigt wird und Fehler bei der manuellen Eingabe von Daten vermieden werden.