VPN-Anmeldung bleift hänken no enger RADIUS Access-Challenge
Access-Challenge ass weder Erfolleg nach eng definitiv Refus. Kuckt wéi den NAS, de Gateway an de Client déi nächst Äntwert am selwechten Austausch mussen droen.
Däin Passwuert ass richteg, d’VPN-Anmeldung feelt awer, an de RADIUS-Server huet vläicht genee dat gemaach, wat em gesot gouf. De Gateway huet wahrscheinlech eng Access-Challenge kritt, näischt nëtzleches gewisen an ass dann an en Timeout gelaf oder huet déi Äntwert als Refus behandelt. Vun der Clientsäit gesäit et aus wéi falsch Umeldungsdonnéeën oder en gebrochenen Tunnel. D’Ursaach sëtzt meeschtens an der Mëtt vun engem Gespréich, dat keen opgeholl huet.
Eng Umeldung, zwee RADIUS-Austausch
Wann de Backend en zweete Faktor wëll, äntwert hien net op déi éischt Ufro mat Akzept oder Refus. Hien äntwert mam Code 11 a waart op déi nächst Äntwert vum Benotzer, déi de Gateway an enger Nofolleg-Ufro muss zréckschécken. Déi Nofolleg gehéiert zu déiselwechter Authentifikatiouns-Gespréich, net zu engem neien Umeldungsversuch.
An enger funktionéierender Installatioun gesäit de Benotzer eng zweet Ufro: fir d’éischt d’Passwuert, duerno en Eenmolcode, oder eng eenzeg kombinéiert Ufro, wann den Operateur eng dokumentéiert huet. An enger kaputter Installatioun erschéngt déi zweet Ufro ni an d’Umeldung feelt einfach.
Dat ass de Symptom, deem een nogoe soll, an et ass einfach nëmme vun der Clientsäit ze bestätegen: wann de VPN-Client no genau engem Geheimnis freet an duerno e Passwuert refuséiert, vun deem Dir wësst datt et gëlteg ass, dann ass den Austausch wahrscheinlech bei der Challenge opgehal.
Wat d’Challenge tatsächlech dréit
D’RADIUS-Spezifikatioun beschreift den Code 11 am Abschnitt 4.4 an erlaabt zwee Attributer, déi hei wichteg sinn. Reply-Message hält Text fir de Benotzer, an State hält en unduerchsichtegen Wäert, deen de Server zréck wëll. Den NAS soll State net interpretéieren, just onverännert zréckginn.
D’Nofolleg-Ufro benotzt en neien Identifier an en neien Request Authenticator, an si muss deeselwechte State-Wäert plus d’Äntwert vum Benotzer droen. De Server gläicht se iwwer deen State mat der waartender Challenge of, dofir kann e Gateway, deen d’Attribut nei generéiert oder ewechléisst, d’Zeremonie net ofschléissen. Den response authenticator op all Äntwert muss och validéieren, soss soll den NAS de Paket ewechgeheien.
Den Abschnitt 4.4 setzt d’Detail dobäi, dat déi meescht stëll Feeler erkläert: en NAS, deen Challengen net kann ënnerstëtzen, behandelt Access-Challenge als Refus. Wann dem Gateway seng VPN-Service méi al ass wéi déi Ënnerstëtzung oder se ewechléisst, gëtt dem Backend seng Ufro fir en zweete Faktor en direkten «Authentifikatioun feelgeschloen» ouni iergendeng Ufro.
Wou d’verketten Ufro verluer geet
Den éischten Verdächtegen ass de Wee vun der Ufro, net d’Umeldungsdonnéeën. En Portal, deen en OTP-Feld fir Web-Umeldungen uweise léisst, mécht dat net automatesch fir de VPN-Service, an eenzel Gateways ginn eng Challenge nëmme weider un Clienten, déi déi Fäegkeet annoncéieren. Test deeselwechte Kont op béiden Agäng; wann de Portal funktionéiert an d’VPN net, kucks du op d’Iwwerreechung, net op den Token.
D’Inputformat ass den zweeten Verdächtegen. Passwuert an Code ouni dem Händler säin dokumentéierten Trenner ze verketten, oder gespäichert Umeldungsdonnéeën en ale Code widderhuele loossen, feelt op eng Manéier, déi identesch mat engem falsche Passwuert ausgesäit. Benotz déi dokumentéiert separat Ufro oder dat kombinéiert Format vum Operateur, a fabrizéier ni en Trenner.
Et gëtt Verëffentlechungs-spezifesch Feeler, awer eng Lëscht vun korrigéierte Versiounen aus fréiere Joren ass keng Diagnos fir déi haiteg Installatioun. Liest d’Release Notes vun der Software, déi Dir tatsächlech bedreift, a behält déi observéiert Austauschphas als Beweis.
Verfolleg een eenzegen Versuch vu Ufank bis Enn
Reproduzéier en eemol, mat Debugging op der Serversäit un, an hal all aner Sessioun aus dem Opnam-Fënster:
$ sudo radsniff -i eth0 -x -f 'udp port 1812'
$ sudo freeradius -X
$ radtest alice 'password' 127.0.0.1 0 testing123
An der Ausgab sich no der Form vum Gespréich an net no enger eenzeger Linn. Eng éischt Access-Request mam Identifier 3, eng Access-Challenge déi State dréit, duerno eng zweet Access-Request mam Identifier 4, déi deen State widderhëlt an d’Äntwert vum Benotzer enthält. Feelt déi zweet Ufro, ass de Gateway ni nogefollegt. Kommt se ouni State un, kann de Server se net mat der waartender Challenge ofgläichen a wäert se meeschtens refuséieren.
Verdeck Umeldungsdonnéeën, Tokenen an onnéideg Identitéitsdaten, wann Dir den Trace deelt, a korreléier Evenementer aus engem eenzegen Versuch amplaz Widderhuelunge vu verschiddenen Browser-Tabs ze vermëschen. Zäitstempel sinn hei däi Frënd; eng Challenge, déi ukënnt nodeems de Client opginn huet, gesäit fir de Benotzer aus wéi e Refus an am Log wéi eng lues Äntwert.
Den Endzoustand, deen Dir wëllt, ass en ofgeschlossenen, autoriséierte Gespréich, gefollegt vum virgesinnene Service-Zougrëff. Eng Äntwert, déi vum RADIUS-Server ukënnt, beweist vill manner wéi dat.