Benetan downgrade eraso bat da huts egindako VPN handshake bat?
Downgrade erasoak badaude, baina huts egindako handshake gehienak proposamen-desadostasuna, bide okerra edo iraungitako profila dira. Egiaztatu lehenengo zer negoziatu zen.
Akats batekin amaitzen den handshake bat erasoa ematen du mezuari begiratu arte, eta gehienetan aritmetika kontua da: proposamen partekaturik ez, iraungitako ziurtagiria edo inoiz heldu ez zen paketea. Downgrade erasoa zehazki zerbait da: aurkariak bi muturrak aukeratuko luketen baino jokabide ahulagoetara bultzatzen ditu, eta beste froga batzuk uzten ditu. Hutsegite bakoitza gaiztakeriatzat hartzeak agian existitzen ez den biktima baten bila bidaltzen zaitu, eta benetako downgrade bat konfigurazio-errore gisa hartzeak emaitza ahulena tokian uzten du. Bi erroreek desberdin kostatzen dute, eta bakarra da zuzentzeko merkea.
Zer aldatzen duen downgrade erasoak benetan
Helburua ez da zifratzea apurtzea ez eta gakoa asmatzea. Helburua negoziazioa eragitea da, bi aldeak erasotzaileak kudea dezakeen bertsio zaharrago edo algoritmo ahulago batean gelditu daitezen, edo alde bat besteak hori baino ez duela onartzen sinets dezan.
Aldatzen dena akordioa da, ez autentifikazioa. Erasotzaileak eskaintza detektatu gabe alda badezake, bikoteek handshake bat osa dezakete oraindik eta elkar autentifikatu, erasotzaileak nahiago dituen parametroekin. Horregatik galdera interesgarria negoziazioa bera osotasun-babesarekin estalita dagoen ala ez da.
Zergatik negoziazioak berak autentifikatuta egon behar duen
TLS 1.3 bertsioak babes hori esplizitu egiten du. Bertsio berriena eskaini zuen bezeroak isilean atzera egin duen zerbitzaria detekta dezake, zerbitzariaren balio aleatorioak eredu finko bat eramaten duelako 1.2 edo beheragokoarekin negoziatzen duenean, eta bezeroak bertan behera utzi behar du hori ikustean. Transkripzio osoa amaierako mezuekin ere estalita dago, beraz negoziazioan edozein lekutan egindako aldaketak geroago huts egiten du, isilean igaro beharrean.
Protokolo bertsio zaharrek istorio ahulagoak zituzten, eta horrexegatik dira garrantzitsuak atzera-egiteko arauak. Konfigurazio berean TLS 1.0 mutur bat ez da downgrade erasoa; zuk onartzea aukeratu zenuen emaitza baimendua da. Bereizketa emaitza ahulena erabaki babestu batetik edo bitartekari batek eragin zezakeen bide babesgabe batetik etorri zen. Horrela planteatzen duzunean, gertakari gehienak konfigurazio-kontu bihurtzen dira.
IKEv2-k beste era batera jokatzen du baina ideia berean oinarritzen da. Proposamena geroago bi aldeak autentifikatzen dituen truke batean eramaten da, beraz algoritmoak berridazten dituen tarteko gailu batek autentifikazioa hausten du, ez gidatu. OpenVPN-ren kontrol-kanalak TLS-rekin babesten du bere negoziazioa eta gero kanal hori erabiltzen du datu-kanalaren zifratzeak adosteko, horregatik kontrol-kanalaren log-lerroa da interesgarria.
Konfiguratutako bateragarritasuna ez da erasoa
Administratzaile batek nahita baimen ditzake aukera zaharragoak dokumentatutako bezero bat onartzeko, eta erabaki hori konfigurazioan ikus daiteke. Erasotzaileak ezin du konfigurazio hori sortu; eskaintzan eragiteko aukera ematen dion bide bat ustia dezake soilik.
Konponketa arriskutsua aldea frogatzen duen ebidentzia ezabatzen duena da. Aukera zaharki guztiak gaitzea, ziurtagiriaren egiaztapena desgaitzea edo edozein zifratze onartzea errore bat desager dadin handitzen du muturrak onartuko duena, eta emaitza ahulena jakinaraziko zuten egiaztapenak kentzen ditu.
Aukera zahar bat mantendu behar baduzu, aipatu arrazoia eta bezeroa konfigurazio-iruzkinean, eta mugatu aukera behar duen profilera. Entzule bakarrera mugatutako bateragarritasun-salbuespena ikuskaritza daiteke; globalki aplikatzen dena inork aukeratu zuela gogoratzen ez duen balio lehenetsi ahulagoa besterik ez da.
Irakurri hutsegitea kausa izendatu aurretik
Gorde errore-katea zehatza, bezeroaren eta zerbitzariaren bertsioak eta ordua edozein aldaketaren aurretik. Gero sailkatu: aldeak proposamen baten inguruan ados ez, pakete-bidea huts egin zuen, edo alde batek lehen onartzen zuen parametro bat baztertu zuen?
Proposamen-desadostasunak normalean bertsio edo algoritmo errudunak izendatzen ditu eta beti puntu berean huts egiten du. Bideratze edo MTU arazo bat trabatu edo iraungitzen da, eta sarritan sarearen arabera aldatzen da. Ziurtagiri iraungiak egiaztatze-errorea sortzen du, ez negoziazio-errorea.
Horietako bat ere ez da erasotzaile baten froga. Lehen hutsegitean kausa gaiztoa esleitzea da akatsa, bihar berriro huts egingo duen errore determinista ezkutatzen duelako.
Berretsi zer aukeratu zen benetan
Zuzenketa baten ondoren, irakurri negoziatutako emaitza, konexioa altxatu dela fidatu beharrean. Egiaztapena kendu delako arrakasta duen konexioa saihestu nahi zenuen emaitza da. Hurrengo bi komandoek TLS aurrean duen muturreko hautatutako bertsioa eta zifratzea erakusten dituzte, eta OpenVPN zerbitzari baten logeko kontrol-kanalaren lerroa.
openssl s_client -connect 198.51.100.30:443 -servername vpn.example.net -brief </dev/null
grep -iE 'Control Channel|Data Channel' /var/log/openvpn.log | tail -5Konparatu emaitza pentsatu zenuen konfigurazioarekin, orain konektatzen denarekin baino. Hautatutako bertsioa baimendutako minimoa baino zaharragoa bada, profila edo atzera-egiteko zerrenda da begiratzeko lekua, eta erantzuna zerrenda hori konpontzea da, erasoa aldarrikatu eta inguruko guztia berreraiki beharrean.