Fiecare autentificare VPN ajunge într-un spațiu de nume de cont, iar realmul este selectorul care decide care. Nu spune nimic despre țară, locația serverului sau nivelul de încredere. Două nume de utilizator identice pot exista în realme diferite, de aceea o parolă corectă autentifică uneori contul greșit. Acest runbook fixează mai întâi forma identității, apoi urmărește cererea până la sistemul care a răspuns efectiv.

Ce selectează realmul

Un gateway primește un nume de utilizator și trebuie să decidă unde îl verifică. Realmul este partea acelui nume, sau atributul de lângă el, care alege baza de date: un director, un pool RADIUS, un fișier local de conturi. NPS-ul Microsoft numește aceasta nume de realm și rutează cererile de conexiune cu el, în timp ce identificatorul de acces la rețea EAP poartă aceeași idee ca sufix după semnul at în RFC 7542. Ambele sunt selectori și niciunul nu decide dacă acreditarea este bună.

Această separare produce două eșecuri foarte diferite. Un realm care rutează corect cu o parolă greșită dă o singură respingere, în timp ce un realm care rutează către baza de date greșită poate respinge o parolă corectă sau poate accepta una a altcuiva. Niciuna dintre erori nu menționează realmul, de aceea primul diagnostic este întotdeauna același: află ce sistem a răspuns.

Sintaxa realmului aparține implementării. Unele servicii vor un nume necalificat plus un atribut, altele vor user@domain, iar câteva așteaptă o formă cu bară oblică inversă pe care majoritatea ghidurilor nu o menționează.

Folosește forma pe care o așteaptă backendul

Întreabă operatorul ce formă să tastați înainte de a încerca sufixe dintr-un tutorial. Un nume calificat cu domeniu care ajunge la un backend ce așteaptă un nume simplu eșuează de obicei la căutare, nu la verificarea parolei. Același nume scurt în două directoare este cazul în care un realm lipsă face cele mai multe pagube.

Nu trata contul de administrare ca dovadă. Consola web în care administrezi serviciul poate autentifica împotriva unui fișier local, în timp ce tunelul verifică un director complet diferit. Testează cu acreditările pe care le-ar folosi un utilizator real, în interfața pe care ar folosi-o un utilizator real. O autentificare reușită în consolă nu spune nimic despre realmul pe care gateway-ul îl aplică autentificării VPN.

Browserele și clienții de e-mail memorează uneori o identitate anterioară și o retrimit în tăcere. Când numele de utilizator raportat diferă de cel tastat, acel cache este primul loc de verificat.

Urmărește cererea prin proxy

Pe un front end FreeRADIUS, realmurile sunt declarate în configurația proxy, iar sufixul declarat decide ce server de domiciliu primește cererea. Citește acel fișier înainte de a schimba ceva, deoarece o cerere care nu corespunde niciunui realm este tratată implicit local.

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 arată ce sufixe există și către ce pool țintește fiecare. Apelul radtest trimite un nume cu realm și o parolă intenționat greșită, așa că o respingere dovedește că atât rutarea, cât și verificarea acreditărilor au rulat. Liniile de jurnal din jurul acelei încercări arată dacă numele a fost eliminat înainte de proxy și ce server de domiciliu l-a preluat. Dacă jurnalul nu arată nicio potrivire de realm, cererea nu a părăsit niciodată serverul local, iar problema este sufixul, nu parola.

Schimbă un singur lucru odată și repetă încercarea, deoarece jurnalul separă rutarea de eșecul acreditării doar când intrarea diferă între rulări. Ține secretul comun în afara istoricului shell-ului acolo unde instrumentul acceptă citirea dintr-un fișier sau prompt.

Înregistrează încercarea fără a o divulga

Scrie eșecul într-o formă pe care un administrator poate acționa: interfața, forma identității, dacă a existat un realm și eroarea exactă care nu este secretă. Ține numele de utilizator activ în afara rapoartelor publice și realmul înăuntru. Redactarea fiecărei identități la același substituent ascunde exact nepotrivirea pe care o cauți. Și marca temporală contează, deoarece gateway-ul, proxy-ul și directorul țin jurnale separate.

Apoi documentează forma câștigătoare pentru utilizatori, deoarece următoarea persoană care o tastează greșit va deschide același tichet. Resetarea parolei nu repară o cerere care continuă să ajungă în spațiul de nume greșit. Realmul este o decizie de rutare, iar deciziile de rutare se repară numindu-le corect.

Articole similare