Domena uwierzytelniania VPN: która przestrzeń nazw kont wygrywa?
Domena kieruje logowanie do jednego systemu tożsamości, a nie do kraju. Ustal formę nazwy, śledź żądanie przez proxy i zapisz, co odpowiedziało.
Każde logowanie VPN trafia do jakiejś przestrzeni nazw kont, a domena (realm) jest selektorem, który decyduje, do której. Nie mówi nic o kraju, lokalizacji serwera ani poziomie zaufania. Dwie identyczne nazwy użytkownika mogą istnieć w różnych domenach, dlatego poprawne hasło czasami uwierzytelnia niewłaściwe konto. Ten runbook najpierw ustala formę tożsamości, a następnie śledzi żądanie aż do systemu, który faktycznie odpowiedział.
Co wybiera domena
Brama otrzymuje nazwę użytkownika i musi zdecydować, gdzie ją sprawdzić. Domena to część tej nazwy lub atrybut obok niej, który wybiera bazę danych: katalog, pulę RADIUS, lokalny plik kont. NPS firmy Microsoft nazywa to nazwą domeny i kieruje nią żądania połączeń, podczas gdy identyfikator dostępu sieciowego EAP niesie tę samą ideę jako sufiks po znaku at w RFC 7542. Oba są selektorami i żaden nie decyduje, czy poświadczenie jest dobre.
To rozdzielenie daje dwa bardzo różne błędy. Domena kierująca poprawnie z błędnym hasłem daje jedno odrzucenie, natomiast domena kierująca do niewłaściwej bazy może odrzucić poprawne hasło lub przyjąć cudze. Żaden błąd nie wspomina domeny, dlatego pierwsza diagnoza jest zawsze taka sama: ustalić, który system odpowiedział.
Składnia domeny należy do wdrożenia. Niektóre usługi chcą nazwy bez kwalifikacji plus atrybutu, inne chcą user@domain, a nieliczne oczekują formy z ukośnikiem wstecznym, której większość poradników nie wspomina.
Używaj formy oczekiwanej przez backend
Zapytaj operatora, którą formę wpisać, zanim spróbujesz sufiksów z poradnika. Nazwa kwalifikowana domeną, która trafia do backendu oczekującego prostej nazwy, zwykle zawodzi na wyszukiwaniu, a nie na sprawdzaniu hasła. Ta sama krótka nazwa w dwóch katalogach to przypadek, w którym brakująca domena wyrządza najwięcej szkód.
Nie traktuj konta administracyjnego jako dowodu. Konsola sieciowa, w której zarządzasz usługą, może uwierzytelniać się wobec lokalnego pliku, podczas gdy tunel sprawdza zupełnie inny katalog. Testuj poświadczeniami, których użyłby prawdziwy użytkownik, w interfejsie, którego użyłby prawdziwy użytkownik. Udane logowanie do konsoli nic nie mówi o domenie, którą brama stosuje do uwierzytelniania VPN.
Przeglądarki i klienty poczty czasami buforują poprzednią tożsamość i po cichu wysyłają ją ponownie. Gdy zgłoszona nazwa użytkownika różni się od wpisanej, najpierw należy sprawdzić ten bufor.
Śledź żądanie przez proxy
W front endzie FreeRADIUS domeny deklaruje się w konfiguracji proxy, a zadeklarowany sufiks decyduje, który serwer domowy otrzyma żądanie. Przeczytaj ten plik, zanim cokolwiek zmienisz, ponieważ żądanie niepasujące do żadnej domeny jest domyślnie obsługiwane lokalnie.
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 pokazuje, jakie sufiksy istnieją i do której puli każdy prowadzi. Wywołanie radtest wysyła nazwę z domeną i celowo błędne hasło, więc odrzucenie dowodzi, że wykonano zarówno routing, jak i sprawdzenie poświadczeń. Linie dziennika wokół tej próby pokazują, czy nazwa została usunięta przed proxem i który serwer domowy ją przyjął. Jeśli dziennik w ogóle nie pokazuje dopasowania domeny, żądanie nigdy nie opuściło serwera lokalnego, a problemem jest sufiks, nie hasło.
Zmieniaj jedną rzecz naraz i powtarzaj próbę, ponieważ dziennik oddziela routing od błędu poświadczeń tylko wtedy, gdy dane wejściowe różnią się między uruchomieniami. Trzymaj wspólny sekret poza historią powłoki tam, gdzie narzędzie obsługuje odczyt z pliku lub zachęty.
Zapisz próbę, nie ujawniając jej
Opisz błąd w formie, na której administrator może działać: interfejs, forma tożsamości, czy obecna była domena oraz dokładny nie-tajny błąd. Trzymaj aktywną nazwę użytkownika poza publicznymi raportami, a domenę w środku. Redagowanie każdej tożsamości do tego samego symbolu zastępczego ukrywa dokładnie tę niezgodność, której szukasz. Znacznik czasu też ma znaczenie, ponieważ brama, proxy i katalog prowadzą osobne dzienniki.
Następnie udokumentuj zwycięską formę dla użytkowników, ponieważ następna osoba, która wpisze ją błędnie, otworzy ten sam bilet. Reset hasła nie naprawia żądania, które wciąż trafia do niewłaściwej przestrzeni nazw. Domena to decyzja routingowa, a decyzje routingowe naprawia się przez poprawne ich nazywanie.