Warum erstellt der Systemadministrator nicht einfach ein Benutzerkonto für jeden Benutzer auf jedem Server, damit die Benutzer mit ihrem Benutzernamen und Kennwort auf die Ressourcen zugreifen können, auf die sie zugreifen möchten?
Stellen Sie sich vor, Sie haben 50 Benutzer und 50 Server. Nehmen wir der Einfachheit halber an, dass alle 50 Benutzer Zugriff auf alle 50 Server haben sollen, alle auf allen Servern die gleichen Berechtigungen haben und wir diese Berechtigungen niemals ändern müssen. Dies sind insgesamt 2.500 Kennworteinträge, die erstellt werden müssen.
Hinzufügen eines neuen Benutzers
Wenn Sie einen neuen Benutzer hinzufügen, muss der Administrator gehen zu allen 50 Servern und fügen Sie diesen einen Benutzer zu allen hinzu. Dazu müsste der Administrator den Befehl create user auf allen 50 Servern ausführen. Dieses Bit kann automatisiert werden, aber der Teil, der nicht sicher automatisiert werden kann, besteht darin, dass der Benutzer sein Kennwort 50 Mal einmal pro Server eingeben muss.
Warum dieses letztere Problem? Da Kennwortauthentifizierungssysteme so konzipiert sind, dass sie keine Kopie des Kennworts behalten, nicht einmal eine verschlüsselte Kopie. Wenn der Benutzer sein neues Kennwort auf Server 1 eingibt, vergisst dieser das Kennwort sofort, sodass er es für Server 2 und 3 usw. erneut eingeben muss.
Hinzufügen eines neuen Servers
Vielleicht denken Sie jetzt, Sie könnten ein Skript schreiben, das:
- auf Server X ausgeführt wird;
- Fordert den neuen Benutzer auf, sein neues Kennwort einzugeben.
- Fragt den Administrator nach seinem Kennwort.
- Meldet sich bei den Servern Nr. 1 bis Nr. 50 an und erstellt das Benutzerkonto auf jeder von ihnen mit dem gleichen Passwort.
ol>
Das ist ein bisschen zwielichtig, aber selbst wenn Sie es versuchen, haben Sie immer noch ein anderes, größeres Problem. Angenommen, Ihr Unternehmen kauft einen neuen Server und wir benötigen jetzt unsere 50 Benutzer, um Zugriff auf diesen Server zu haben. Da keiner der Server eine Kopie der Benutzerkennwörter enthält, müsste der Administrator zu jedem Benutzer gehen und ihn ein Kennwort für sein Konto auf dem neuen Server eingeben lassen. Und es führt kein Weg daran vorbei, es sei denn, Sie haben Kopien der Benutzerkennwörter aufbewahrt - was wiederum eine unsichere Praxis ist.
Zentralisierte Kennwortdatenbank
Um diese Probleme zu lösen, muss Ihre Benutzer- / Kennwortdatenbank wirklich an einem Ort zentralisiert sein und alle Server müssen diese Datenbank konsultieren, um Benutzernamen und Kennwörter zu authentifizieren. Dies ist wirklich das absolute Minimum, das Sie für eine verwaltbare Multiuser / Multiserver-Umgebung benötigen. Jetzt:
- Wenn Sie einen neuen Benutzer hinzufügen, übernehmen alle Server ihn automatisch aus der zentralen Datenbank.
- Wenn Sie einen neuen Server hinzufügen, werden automatisch alle Benutzer abgerufen die Benutzer aus der zentralen Datenbank.
ol> Hierfür gibt es eine Vielzahl von Mechanismen, auch wenn sie immer noch nicht das bieten, was Kerberos bietet.
Kerberos
Sobald Sie über eine solche zentralisierte Datenbank verfügen, ist es sinnvoll, diese mit mehr Funktionen zu erweitern, sowohl zur Vereinfachung der Verwaltung als auch zur Vereinfachung. Kerberos fügt die Möglichkeit hinzu, dass sich ein Dienst, wenn sich ein Benutzer erfolgreich bei einem Dienst angemeldet hat, an die Tatsache "erinnert" und anderen Diensten "beweisen" kann, dass sich dieser Benutzer erfolgreich angemeldet hat. Diese anderen Dienste, denen ein solcher Nachweis vorgelegt wird, lassen den Benutzer ein, ohne ihn nach einem Kennwort zu fragen.
Dies bietet eine Mischung aus Komfort und Sicherheit:
- Benutzer ziehen nicht an Sie werden nicht immer wieder nach ihrem Passwort gefragt, wenn sie es an diesem Tag bereits einmal erfolgreich eingegeben haben.
- Wenn Sie Programmierer haben, die Programme schreiben, die auf mehrere Server zugreifen, und diese Server eine Authentifizierung erfordern, können sich die Programme jetzt bei diesen Servern authentifizieren, ohne ein Kennwort angeben zu müssen, indem sie die Anmeldeinformationen des Serverkontos wiederverwenden, unter dem sie ausgeführt werden.
ol> Letzteres ist wichtig, da es eine unsichere, aber allzu häufige Praxis minimiert oder beseitigt: automatisierte Programme, bei denen Sie Kopien von Benutzernamen und Kennwörtern in Konfigurationsdateien ablegen müssen. Auch hier ist eine Schlüsselidee der sicheren Kennwortverwaltung, keine Kopien von Kennwörtern zu speichern, auch keine verschlüsselten Kopien .