Es war einmal ein wunderschöner warmer virtueller Dschungel in Südamerika, und dort lebte ein Tintenfisch-Server. Hier ist ein wahrnehmbares Bild des Netzwerks:
<the Internet>
|
|
A | B
Users <---------> [squid-Server] <---> [LDAP-Server]
Wenn die Users
Anfrage Zugriff auf das Internet, squid
fragen Sie ihren Namen und Reisepass, authentifizieren Sie sie durch LDAP
und wenn LDAP sie genehmigt, dann gewährt er ihnen.
Alle waren glücklich, bis ein paar Schnüffler den Pass zwischen Benutzern und Tintenfisch gestohlen hatten [Pfad A]. Diese Katastrophe geschah, weil Tintenfisch Basic-Authentication
Methode verwendet.
Die Leute aus dem Dschungel versammelten sich, um das Problem zu lösen. Einige Hasen boten NTLM
Methoden an. Schlangen bevorzugt, Digest-Authentication
während Kerberos
von Bäumen empfohlen.
Immerhin waren viele Lösungsvorschläge von Leuten aus dem Dschungel und alles verwirrt! Der Löwe beschloss, die Situation zu beenden. Er rief die Regeln für Lösungen:
- Soll die Lösung sicher sein!
- Funktioniert die Lösung für die meisten Browser und Software (z. B. Software herunterladen)?
- Soll die Lösung einfach sein und kein anderes riesiges Subsystem (wie Samba-Server) benötigen?
- Sollte die Methode nicht von einer bestimmten Domain abhängen. (zB Active Directory)
Dann eine sehr vernünftige, umfassende und clevere Lösung, die von einem Affen angeboten wird und ihn zum neuen König des Dschungels macht!
Kannst du raten, was die Lösung war?
Tipp:
Der Weg zwischen squid
und LDAP
ist durch den Löwen geschützt, daher muss die Lösung diesen nicht sichern.
Hinweis: Tut mir leid, wenn die Geschichte langweilig und chaotisch ist, aber das meiste davon ist echt! =)
/~\/~\/~\ /\~/~\/~\/~\/~\ ((/~\/~\/~\/~\/~\)) (/~\/~\/~\/~\/~\/~\/~\) (//// ~ ~ \\\\) (\\\\( (0) (0) )////) (\\\\( __\-/__ )////) (\\\( /-\ )///) (\\\( (""""") )///) (\\\( \^^^/ )///) (\\\( )///) (\/~\/~\/~\/) ** (\/~\/~\/) *####* | | **** /| | | |\ \\ _/ | | | | \_ _________// Thanks! (,,)(,,)_(,,)(,,)--------'
Aktualisieren:
Massimo erklärte, dass die Authentifizierungsmethode zwischen Users
- squid
und squid
- LDAP
nicht identisch sein muss. Wir können eine beliebige Methode verwenden, um Authentifizierungsinformationen von Benutzern abzurufen, und eine beliebige Methode, um erfasste Daten zu authentifizieren.
Es gibt jedoch ein Problem: Die Eingabe / Ausgabe aller Arten von Authentifikatoren ist nicht identisch. Beispielsweise:
- Ein
Basic
Authentifizierer sollte das "Benutzername Passwort" -Paar in einer Zeile lesen und antworten,OK
wenn der Benutzerpass korrekt ist oderERR
- Ein
Digest
Authentifikator sollte a lesenusername:realm
und einen hexadezimalen Code vonHA(A1)
oder a beantwortenERR
.
Obwohl es keine direkte Beziehung zwischen der Client-Squid-Methode und der Squid-LDAP-Methode gibt, müssen die vom Client erfassten Daten mit der im Squid-LDAP-Teil verwendeten Methode kompatibel sein. Wenn wir also die Authentifizierungsmethode auf der Benutzerseite ändern, sollten wir möglicherweise auch unseren Authentifikator ändern.
Das Problem vereinfacht sich also zu:
In der ersten Ebene suche ich (der Affe!) Nach einer guten Authentifizierungsmethode auf Benutzerseite. Welche Methode empfehlen Sie, welche ist sicher und wird von den meisten Browsern unterstützt ? ich bin in verwirrt zwischen
NTLM
,Kerberos
undDigest
.Wo finde ich einen Authentifikator, der Anmeldeinformationen der ausgewählten Methode unterstützt und über LDAP authentifiziert.