it-swarm.com.de

Kerberos-Authentifizierung über das öffentliche Internet

Was sind die Bedrohungen für den Zugriff des KDC über das Internet für Remoteclients?

Ich verstehe, dass die Authentifizierung ein Challenge/Response-Protokoll ist und dass das Passwort niemals übertragen wird. Sind Brute-Force-Angriffe der Grund, warum dies nicht üblich ist?

Liegt dies daran, dass die Kerberos-Authentifizierung wertvoller ist als das brutale Erzwingen eines einzelnen SSH- oder E-Mail-Kontos, da möglicherweise mehrere Dienste auf mehreren Hosts gleichzeitig gefährdet sind? Liegt es an der Angriffsfläche des KDC selbst und daran, dass eine Loch-Firewall nicht als ausreichende Barriere angesehen wird, um den Zugriff auf diesen wertvollen Dreh- und Angelpunkt für die Authentifizierung und Autorisierung zu verhindern?

16
Richard Salts

Der Grund, warum Kerberos nicht über das öffentliche Internet verwendet wird, hängt wohl nicht mit der Sicherheit des Protokolls oder der Offenlegung des KDC zusammen, sondern vielmehr damit, dass es sich um ein Authentifizierungsmodell handelt, das nicht den Anforderungen der meisten "Öffentlichkeit" entspricht Internet "-Anwendungen.

Um Wikipedia zu zitieren, Kerberos " bietet gegenseitige Authentifizierung - sowohl der Benutzer als auch der Server überprüfen die Identität des anderen. " Dies bedeutet, dass der Client-Computer über die erforderlichen Schlüssel verfügen muss, um für seine Identität zu bürgen, bevor die Benutzerauthentifizierung erfolgt Ort. Das Verteilen dieser Schlüssel für "öffentliche Internet" -Anwendungen ist aus mehreren Gründen nicht praktikabel. Überlegen Sie, wie viele PCs auf Ihre Banking-Website zugreifen, die einer Vielzahl von Personen gehört, deren Fähigkeit, Windows-Patches regelmäßig zu installieren, eingeschränkt ist. Es ist nicht so, dass die Unternehmens-IT vorbeikommt und Kerberos für sie konfiguriert.

Kerberos erfordert eng synchronisierte Uhren - nicht , was in einer zentral verwalteten Unternehmens- oder Bildungsumgebung schwierig ist, viel schwieriger, wenn die Maschinen alle Eigentum sind und von ihnen verwaltet werden ganz andere Leute.

Einer der Vorteile von Kerberos ist die Möglichkeit, eine anfängliche Authentifizierung nahtlos für mehrere Anwendungszugriffe zu nutzen. Im öffentlichen Internet haben die verschiedenen Anwendungen selten etwas miteinander zu tun - meine Bank, meine E-Mail und mein /. Konto haben keinen Anruf, um sich gegenseitig oder der gleichen Gruppe von Menschen zu vertrauen. (Dies fällt in den Bereich der Verbundidentität, und es gibt Arbeit in diesem Bereich, aber es braucht nicht die gleiche Mischung von Dingen, die Kerberos auf den Tisch bringt).

Kurz gesagt, Kerberos ist eine Schwergewichtslösung, und die Zugriffskontrolle für öffentliche Internetanwendungen ist ein leichtes Problem.

Um Ihre eigentliche Frage direkt zu beantworten: Nein, ich glaube nicht, dass Bedenken hinsichtlich Brute-Force-Angriffen oder der Verwundbarkeit des KDC Kerberos vom Internet fernhalten. Das Protokoll wurde über 20 Jahre lang einigermaßen gut überprüft, angegriffen, repariert und aktualisiert. Allein die Client- (Maschinen-) Authentifizierung bietet enormen Schutz vor einer Reihe von Angriffen, die in einem großen offenen Netzwerk wie dem Internet zu erwarten sind.

23
gowenfawr

Kerberos selbst ist im Allgemeinen sicher über das Internet zu verwenden. Es war schließlich so konzipiert, dass es in einem der feindlichsten öffentlichen Netzwerke der Welt sicher ist: dem MIT Campus-Netzwerk).

Ein Kerberos-Whitepaper, "Warum ist Kerberos eine glaubwürdige Sicherheitslösung?" behandelt alle von Ihnen angesprochenen Punkte. Zum Teil zu zitieren:

Ein Passwort, das niemals bekannt gegeben oder über ein Netzwerk gesendet wird, ist für einen Angreifer viel schwieriger zu entführen. Folglich erfordert die Kerberos-Authentifizierung von Benutzern nicht, dass Kennwörter dem Authentifizierungsdienst vorgelegt werden. Stattdessen verwendet der Kerberos-Authentifizierungsdienst kryptografische Protokolle, mit denen der Benutzer den Besitz eines Kennworts nachweisen kann, ohne es tatsächlich preiszugeben.

In einer verteilten Umgebung wäre es äußerst umständlich, gemeinsame Geheimnisse wie Kennwörter auf jedem Client und Server zu verwalten, der Anforderungen authentifizieren muss. Darüber hinaus erhöht die Verteilung gemeinsamer Geheimnisse auf viele Systeme die potenziellen Schwachstellen in direktem Verhältnis zur Anzahl der Systeme - ein Problem, das durch das Phänomen der „schwächsten Verbindung“ noch verstärkt wird. Kerberos begegnet dieser Anforderung, indem eine zentralisierte Datenbank verwaltet wird, die nur auf wenige Authentifizierungsserver verteilt ist. Während die Gesamtsicherheit entscheidend vom Schutz dieser zentralen Datenbank abhängt, ist es viel einfacher, einige Spezialserver vor Angriffen zu schützen, als viele Allzwecksysteme zu schützen. Die zentrale Kontrolle über Authentifizierungsgeheimnisse erleichtert auch das Ausgeben neuer Anmeldeinformationen, das Widerrufen vorhandener Anmeldeinformationen und das Wiederherstellen von gefährdeten Anmeldeinformationen.

Die Kerberos-Entwickler gingen davon aus, dass jeder den Netzwerkverkehr abhören, sich als Benutzer ausgeben und unerwünschte Server einrichten kann, die sich als legitimer Dienst ausgeben können, einschließlich der Kerberos-Dienste selbst. Die Verschlüsselung wurde verwendet, um Abhörangriffe zu verhindern, und Sitzungsschlüssel wurden zusammen mit Zeitstempeln eingeführt, um Wiederholungsangriffe zu verhindern. Wenn sich Benutzer (oder Hosts/Dienste) beim Kerberos-Authentifizierungsdienst authentifizieren, authentifiziert sich der Authentifizierungsdienst wiederum beim Benutzer (oder Host/Dienst), indem er nachweist, dass er das zuvor eingerichtete gemeinsame Geheimnis kennt. Ein Nebenprodukt dieser Gegenmaßnahmen ist, dass Kerberos Schutz vor Man-in-the-Middle-Angriffen bietet, die zu dieser Zeit und nach dem ersten Einsatz von Kerberos mehr als ein Jahrzehnt lang als nicht durchführbar angesehen wurden. Leider sind Man-in-the-Middle-Angriffe keine bloße Vermutung mehr und im heutigen Internet-Web, das nicht für eine feindliche Umgebung konzipiert wurde, nur allzu häufig.

Wenn Sie alle Systeme vernünftigerweise mit dem Kerberos-Bereich verbinden können, z. B. alle Standorte in Ihrem Unternehmen, sollte die Verwendung in Ordnung sein. Es muss jedoch nicht unbedingt alles verschlüsseln ; Beispielsweise wäre HTTP immer noch unverschlüsselt. Einige Dienste wie NFS können jedoch ihre Datenflüsse mit Kerberos verschlüsseln. Abhängig von Ihren Anwendungen und den Daten, die Sie übertragen, möchten Sie möglicherweise weiterhin ein VPN zwischen Standorten verwenden.

Wenn Ihre Anwendungen jedoch für die Öffentlichkeit zugänglich sein sollen, ist Kerberos wahrscheinlich nicht das, was Sie möchten.

7
Michael Hampton