Jede VPN-Anmeldung landet in irgendeinem Kontonamensraum, und der Bereich ist der Selektor, der entscheidet, in welchem. Er sagt nichts über das Land, den Serverstandort oder die Vertrauensstufe aus. Zwei identische Benutzernamen können in verschiedenen Bereichen leben, weshalb ein korrektes Passwort manchmal das falsche Konto authentifiziert. Dieser Leitfaden korrigiert zuerst die Identitätsform und verfolgt dann die Anfrage bis zu dem System, das tatsächlich geantwortet hat.

Was der Bereich auswählt

Ein Gateway empfängt einen Benutzernamen und muss entscheiden, wo er geprüft wird. Der Bereich ist der Teil dieses Namens oder das Attribut daneben, das die Datenbank auswählt: ein Verzeichnis, ein RADIUS-Pool, eine lokale Kontodatei. Microsofts NPS nennt dies einen Bereichsnamen und leitet Verbindungsanfragen damit weiter, während der EAP-Netzwerkzugriffsbezeichner dieselbe Idee als Suffix nach dem At-Zeichen in RFC 7542 trägt. Beide sind Selektoren, und keiner entscheidet, ob die Anmeldedaten gut sind.

Diese Trennung erzeugt zwei sehr unterschiedliche Fehler. Ein Bereich, der mit einem falschen Passwort korrekt weiterleitet, liefert eine Ablehnung, während ein Bereich, der auf die falsche Datenbank zeigt, ein korrektes Passwort ablehnen oder eines von jemand anderem annehmen kann. Keiner der Fehler nennt den Bereich, deshalb ist die erste Diagnose immer dieselbe: finden Sie heraus, welches System geantwortet hat.

Die Bereichssyntax gehört zur Bereitstellung. Manche Dienste wollen einen unqualifizierten Namen plus ein Attribut, andere wollen user@domain, und einige erwarten eine Form mit Backslash, die die meisten Anleitungen nie erwähnen.

Verwenden Sie die Form, die das Backend erwartet

Fragen Sie den Betreiber, welche Form einzugeben ist, bevor Sie Suffixe aus einem Tutorial ausprobieren. Ein domänenqualifizierter Name, der ein Backend erreicht, das einen einfachen erwartet, scheitert meist bei der Suche und nicht bei der Passwortprüfung. Derselbe kurze Name in zwei Verzeichnissen ist der Fall, in dem ein fehlender Bereich den größten Schaden anrichtet.

Nehmen Sie das Verwaltungskonto nicht als Beweis. Die Webkonsole, in der Sie den Dienst verwalten, authentifiziert sich möglicherweise gegen eine lokale Datei, während der Tunnel ein völlig anderes Verzeichnis prüft. Testen Sie mit den Anmeldedaten, die ein echter Benutzer verwenden würde, an der Oberfläche, die ein echter Benutzer verwenden würde. Eine erfolgreiche Konsolenanmeldung sagt nichts über den Bereich aus, den das Gateway auf die VPN-Authentifizierung anwendet.

Browser und Mailprogramme speichern manchmal eine frühere Identität zwischen und senden sie stillschweigend erneut. Wenn der gemeldete Benutzername von dem eingegebenen abweicht, ist dieser Cache die erste Anlaufstelle.

Verfolgen Sie die Anfrage durch den Proxy

Auf einem FreeRADIUS-Frontend werden Bereiche in der Proxy-Konfiguration deklariert, und das deklarierte Suffix entscheidet, welcher Heimatserver die Anfrage erhält. Lesen Sie diese Datei, bevor Sie etwas ändern, denn eine Anfrage ohne passenden Bereich wird standardmäßig lokal behandelt.

grep -n -A4 '^realm' /etc/freeradius/3.0/proxy.conf
radtest '[email protected]' 'wrong-password' 10.20.30.10 0 testing123
journalctl -u freeradius --since '-10 min' | grep -iE 'realm|stripped'

grep zeigt, welche Suffixe existieren und auf welchen Pool jedes zielt. Der radtest-Aufruf sendet einen Namen mit Bereich und ein absichtlich falsches Passwort, sodass eine Ablehnung beweist, dass sowohl die Route als auch die Anmeldedatenprüfung liefen. Die Logzeilen rund um diesen Versuch zeigen, ob der Name vor dem Proxying entfernt wurde und welcher Heimatserver ihn übernahm. Wenn das Log überhaupt keinen Bereichstreffer zeigt, hat die Anfrage den lokalen Server nie verlassen, und das Suffix ist das Problem, nicht das Passwort.

Ändern Sie jeweils nur eine Sache und wiederholen Sie den Versuch, denn das Log trennt Routing von Anmeldedatenfehlern nur, wenn sich die Eingabe zwischen den Läufen unterscheidet. Halten Sie das gemeinsame Geheimnis aus der Shell-Historie heraus, wo das Werkzeug das Lesen aus einer Datei oder einer Eingabeaufforderung unterstützt.

Halten Sie den Versuch fest, ohne ihn preiszugeben

Schreiben Sie den Fehler in einer Form auf, mit der ein Administrator arbeiten kann: die Schnittstelle, die Identitätsform, ob ein Bereich vorhanden war und der genaue nicht geheime Fehler. Halten Sie den aktiven Benutzernamen aus öffentlichen Berichten heraus und den Bereich darin. Jede Identität auf denselben Platzhalter zu reduzieren verbirgt genau die Diskrepanz, die Sie suchen. Der Zeitstempel zählt ebenfalls, denn Gateway, Proxy und Verzeichnis führen getrennte Protokolle.

Dokumentieren Sie dann die erfolgreiche Form für Benutzer, denn die nächste Person, die sie falsch eingibt, öffnet dasselbe Ticket. Ein Passwort-Reset behebt keine Anfrage, die immer wieder im falschen Namensraum landet. Der Bereich ist eine Routingentscheidung, und Routingentscheidungen werden behoben, indem man sie richtig benennt.

Ähnliche Artikel