RouterOS OpenVPN i NPS: postavite user-auth-method, ne auth
Na RouterOS-u auth bira sažetak tunela, dok user-auth-method odlučuje kako se RADIUS zahtjev provjerava. Uskladite drugo s NPS pravilom.
RouterOS može doći do NPS-a s OpenVPN prijavom i ipak biti odbijen, a uobičajeni uzrok su dvije postavke čija imena oba zvuče kao autentifikacija. Jedna bira kriptografski sažetak za tunel; druga odlučuje kako se korisnički podaci predstavljaju RADIUS-u. Promjena sažetka nikada neće pretvoriti PAP zahtjev u MS-CHAPv2, koliko god se puta usluga restartala. Kontrolna lista ispod razdvaja to dvoje, a zatim prati jednu neuspjelu prijavu kroz NPS pravilo koje ju je ocijenilo.
Korak 1: pročitajte obje postavke prije nego promijenite bilo koju
Ispišite važeću OpenVPN serversku konfiguraciju na ruteru koji završava tunel, ne iz sigurnosne kopije ili kopirane forumske objave. Dva polja do kojih vam je stalo obično su u istom meniju i čitaju se kao alternative. Nisu: jedno se odnosi na podatkovni kanal, drugo na razmjenu korisničkih podataka.
/interface ovpn-server server print
/interface ovpn-server server export
Polje auth navodi sažetke kao što su sha1 i sha256 i kontrolira HMAC koji autentificira pakete tunela. Polje user-auth-method bira pap ili mschap2 i odlučuje kako ruter predstavlja korisničke podatke RADIUS-u. Promjena sažetka ne može promijeniti drugo ponašanje, zbog čega isti odbijeni zahtjev preživljava svaku izmjenu prvog.
Zaustavite se ovdje ako vaše izdanje uopće ne izlaže user-auth-method. Starije RouterOS verzije ga možda ne nude na OpenVPN serveru, a popravak pripada izdanju koje možete podržavati, a ne naredbi kopiranoj iz novijeg.
Korak 2: pronađite pravilo koje je zaista odbilo prijavu
Na NPS strani zahtjev za vezu procjenjuje se prema mrežnim pravilima, a metoda autentifikacije navedena u podudarnom pravilu mora biti ona koju je klijent stvarno ponudio. Povežite jednu neuspjelu prijavu po vremenu i korisniku umjesto da čitate zbirni broj. Sigurnosni dnevnik bilježi odobrene i odbijene zahtjeve s kodom razloga, što vam govori mnogo više od općenitog retka greške rutera.
Get-WinEvent -LogName Security -MaxEvents 200 |
Where-Object { $_.Id -in 6272,6273 } |
Format-List TimeCreated,Id,Message
Pročitajte tri stvari u događaju: naziv podudarnog pravila, metodu autentifikacije i kod razloga. Pravilo koje zahtijeva MS-CHAPv2 odbija PAP zahtjev čak i kad je lozinka ispravna, a pravilo koje zahtijeva domenski račun odbija lokalni. Unos RADIUS klijenta također mora odgovarati izvornoj adresi rutera, inače se zahtjev odbacuje prije nego što se bilo koje pravilo razmotri. Ništa od toga ne pojavljuje se u OpenVPN dnevniku.
Zaustavite se ovdje ako zahtjev nikada ne stigne do NPS-a. To je problem zajedničke tajne, adrese klijenta ili UDP 1812, i promjena metoda autentifikacije to neće popraviti.
Korak 3: promijenite jednu metodu, na obje strane
Ako je odobreni dizajn MS-CHAPv2, postavite ga na ruteru i potvrdite da ga podudarno pravilo prihvaća. Promijenite jednu stranu, ponovno testirajte, zatim promijenite drugu; istovremena promjena obiju ostavlja vas bez mogućnosti da kažete koja je bila važna.
/interface ovpn-server server set user-auth-method=mschap2
/interface ovpn-server server print
/log print where topics~"radius"
Ne uključujte svaku slabiju metodu na NPS-u da bi greška nestala. Pozadinski sustav mora imati materijal koji odabrana metoda može provjeriti: MS-CHAPv2 treba pristup lozinci ili domeni, a pravilo ne može izmisliti taj materijal. Proširivanje pravila proširuje i ono što napadač može pokušati protiv istog računa. Zapišite metodu, naziv pravila i referencu promjene zajedno, kako bi sljedeća osoba naslijedila odluku, a ne nagađanje.
Ostavite provjeru certifikata tunela točno kakva jest. Metoda korisničkih podataka nije zamjena za identitet poslužitelja, a snižavanje TLS provjera da bi test prošao mijenja jedan problem za gori.
Korak 4: testirajte tri prijave i jedno dopuštenje
Testirajte dopuštenog korisnika, pogrešnu lozinku i isključenog korisnika, svakoga u novoj sesiji. Prvi dokazuje put, drugi dokazuje da je provjera korisničkih podataka stvarna, a treći dokazuje da pravilo još uvijek isključuje koga treba. Predmemorirana sesija može sakriti sve tri, zato se odspojite između pokušaja.
/log print where topics~"ovpn"
/radius monitor 0
Uspješna autentifikacija nije kraj kontrolne liste. Provjerite adresu koju je klijent dobio i resurse do kojih ta adresa može doći, jer se korisnik može ispravno autentificirati i ipak završiti u pogrešnom bazenu. Ako je dodijeljena adresa pogrešna, problem je u profilu ili u atributima RADIUS odgovora, ne u metodi. Potvrdite oboje prije zatvaranja zahtjeva.
Kontrolna lista je gotova kada postavka rutera i NPS pravilo navode istu metodu, jedan dopušteni korisnik se poveže u novoj sesiji, jedna pogrešna lozinka bude odbijena, jedan isključeni korisnik ostane isključen i dodijeljena adresa odgovara predviđenom bazenu. Sve manje od toga ostavlja sljedeću prijavu slučaju.