Kapitel 19. Kerberos

Systemsicherheit und -Integrität innerhalb eines Netzwerkes kann ziemlich schwierig sein und die Zeit von mehreren Systemadministratoren in Anspruch nehmen , wenn es alleinig um das Verfolgen davon geht, welche Dienste auf dem Netzwerk ausgeführt werden und wie diese ausgeführt werden. Desweiteren kann das Authentifizieren von Benutzern für Netzwerkservices gewisse Gefahren bergen, wenn die Methoden hierfür von Natur aus unsicher sind, wie am Beispiel von Übertragungen unverschlüsselter Passwörter über ein Netzwerk unter FTP- oder Telnetprotokollen bewiesen. Kerberos ist eine Methode, die Notwendigkeit von Protokollen, die eine unsichere Authentifizierung ermöglichen, auszuräumen und somit die Gesamtsicherheit des Netzwerkes zu erhöhen.

19.1. Was ist Kerberos?

Kerberos ist ein von MIT erstelltes Authentifizierungsprotokoll für Netzwerke, welches Symmetric-Key Cryptography verwendet,[1] um Benutzer im Netzwerk zu authentifizieren — was das Versenden von Passwörtern über das Netzwerk hinfällig macht. Das Authentifizieren mit Hilfe von Kerberos hält effizient unautorisierte Benutzer vom Versuch ab, Passwörter im Netzwerk abzufangen.

19.1.1. Vorteile von Kerberos

Die meisten herkömmlichen Netzwerksysteme verwenden Passwort-basierte Authentifizierungsschemata. Wenn sich daher ein Benutzer an einem Netzwerkserver anmeldet, muss diese/r einen Benutzernamen und Passwort für jeden Dienst angeben, der Authentifizierung erfordert. Unglücklicherweise erfolgt die Übertragung von Authentifizierungsinformationen bei vielen Diensten unverschlüsselt. Damit ein solches Schemata sicher ist, muss das Netzwerk vor Zugriff von Außenstehenden geschützt werden und allen Computern und Benutzern auf dem Netzwerk muss vertraut werden können und müssen vertrauenswürdig sein.

Auch wenn dies der Fall sein sollte, ist das Netzwerk erst einmal mit dem Internet verbunden, kann dessen Sicherheit nicht länger angenommen werden. Jeder Hacker, der Zugriff auf das Netzwerk und einen Paket-Analysierer (Packet Sniffer) hat, kann auf diese Weise versendete Passwörter knacken, was Benutzeraccounts und die Integrität der gesamten Sicherheitsinfrastruktur kompromittiert.

Primäres Ziel von Kerberos ist es, die Übertragung der Authentifizierungsinformationen über das Netzwerk zu beseitigen. Die richtige Verwendung von Kerberos vermindert spürbar die Gefahr, die Packet-Sniffer andernfalls für das Netzwerk bedeuten.

19.1.2. Nachteile von Kerberos

Dank Kerberos wird eine Bedrohung, die ganz allgemein für die Sicherheit im Netzwerk besteht, ausgeschaltet. Allerdings kann sich die Implementierung aus folgenden Gründen schwierig gestalten:

  • Das Migrieren von Benutzerpasswörtern von einer standardmäßigen UNIX-Passwortdatenbank wie zum Beispiel /etc/passwd oder /etc/shadow in eine Kerberos-Passwortdatenbank kann langwierig sein, da es zum Durchführen dieser Aufgabe keine automatisierten Mechanismen gibt. Detailliertere Informationen finden Sie unter Frage 2.23 in den Kerberos online-FAQ unter:

    http://www.nrl.navy.mil/CCS/people/kenh/kerberos-faq.html

  • Kerberos ist nur teilweise mit dem Pluggable Authentication Modules-System (PAM-System) kompatibel, das die meisten Red Hat Enterprise Linux-Server verwenden. Weitere Informationen hierzu finden Sie unter Abschnitt 19.4.

  • Kerberos nimmt an, dass jeder vertrauenswürdige Benutzer vertrauensunwürdige Hosts auf einem vertrauensunwürdigen Netzwerk verwendet. Seine wichtigste Aufgabe ist es, zu vermeiden, dass Passwörter unverschlüsselt über das Netzwerk versandt werden. Wenn jedoch noch jemand anderes als der richtige Benutzer Zugriff auf den Host hat, welcher die Tickets zur Authentifizierung ausstellt — auch Key Distribution Center (KDC) genannt — besteht die Gefahr, dass das gesamte Kerberos-Authentifizierungssystem kompromittiert wird.

  • Damit eine Applikation Kerberos verwenden kann, müssen ihre Quellen so modifiziert werden, dass die geeigneten Aufrufe an die Kerberos-Bibliotheken gesendet werden können. Applikationen, die auf diese Art geändert wurden, werden als kerberisiert bezeichnet. Bei einigen Applikationen kann dies aufgrund ihrer Größe oder ihrem Design recht problematisch sein. Für andere Applikationen wiederum muss die Art und Weise geändert werden, in der Server und Clients miteinander kommunizieren. Auch dies kann unter Umständen einen großen Aufwand bedeuten. Hierbei stellen die Closed Source-Applikationen ohne standardmäßigen Kerberos-Support den problematischsten Teil dar.

  • Bei Kerberos handelt es sich um eine Alles-oder-Nichts-Lösung. Wenn Kerberos im Netzwerk verwendet werden soll, sind alle unverschlüsselten Passwörter, die an einen nicht-kerberisierten Service übertragen werden, einem Risiko unterlegen. D.h., es ergibt sich für Ihr Netzwerk keinerlei Vorteil aus der Verwendung von Kerberos. Wenn Sie Ihr Netzwerk durch Kerberos sichern möchten, müssen Sie entweder alle Client/Server-Applikationen, die Passwörter im Klartext versenden, kerberisieren, oder Sie sollten keine dieser Applikationen in Ihrem Netzwerk verwenden.

Fußnoten

[1]

Ein Systen, bei dem Client und Server einen allgemeinen Schlüssel teilen, der zur Ver- und Entschlüsselung der Netzwerkkommunikation verwendet wird