Profili VPN, ki so delovali prejšnji teden, se po nadgradnji izdaje Ubuntuja zlomijo, dnevnik pa nadgradnje skorajda ne omenja. Navaja plast, ki je odpovedala: rokovanje TLS, šifro, dogovorjeno za podatkovni kanal, nameščen paket ali kopijo OpenSSL, ki jo binarna datoteka naloži ob zagonu. Vsaka plast ima svojo obliko napake in svojo popravilo, zato je razvrščanje prvo delo, urejanje drugo. Obravnavajte profil kot nedolžen, dokler ga dnevnik ne navede.

Katera plast je odpovedala: rokovanje, šifra, paket ali knjižnica

Preberite dnevnik odjemalca, preden se dotaknete profila. najzgodnejša napaka v izpisu je tista, ki določi plast; vse natisnjeno za njo je običajno posledica te prve odpovedi. Ko se odjemalec sploh ne zažene, je dnevnik VPN napačna datoteka za odpiranje.

Pritožbe glede potrdil in podpisov ali sporočilo o dolžini ključa prihajajo iz krmilnega kanala in politike knjižnice, ki ga ureja. Opozorilo, ki se začne z DEPRECATED OPTION, pa spada k pogajanju podatkovnega kanala.

Vrstica, kot je Unrecognized option, je tretja kategorija: nova binarna datoteka ne sprejema več direktive, ki jo je stara dopuščala, zato je treba profil prepisati, ne pa knjižnice omiliti. Napake paketov so spet videti drugače, ker se zgodijo, preden se zažene katera koli koda tunela. Manjkajoča binarna datoteka, vtičnik, ki se ne naloži, ali shramba, ki kaže na napačno kodno ime, vsi dajejo to obliko. Štirje simptomi, štiri mesta za pogled in skoraj nobenega prekrivanja med popravili.

Ko rokovanje spodleti, politika TLS zavrne potrdilo

Ubuntu 22.04 je sistem prenesel na OpenSSL 3, in privzeta raven varnosti v tej veji je strožja glede podpisov potrdil in velikosti ključev kot 20.04. Potrdilo CA, podpisano s starejšim povzetkom, ali ključ pod trenutnim pragom zdaj spodletita med rokovanjem. Ker še ni nič overjeno, se napaka bere kot napačno geslo ali mrtev strežnik.

Ozka poprava pritrdi šifrni niz samo tej povezavi. V namiznem urejevalniku odprite profil, pojdite v napredne nastavitve in vstavite DEFAULT:@SECLEVEL=0 v polje šifre TLS. Ključna datoteka NetworkManagerja prevzame isto vrednost pod [vpn]:

[vpn]
tls-cipher=DEFAULT:@SECLEVEL=0

Znova zaženite NetworkManager in se povežite, ker daemon predpomni razčlenjene profile in bi sicer še naprej uporabljal kopijo, ki jo že ima. Vedite, kaj vrstica počne, preden jo obdržite: ta nastavitev je prag čez več parametrov potrdil in ključev, ne ime šifre, zato njeno znižanje razširi, kar posamezni profil sprejme. Zapišite, kateri strežnik jo je zahteval, in nastavitev opustite, ko operater znova izda aktualno gradivo. Spreminjanje /etc/ssl/openssl.cnf doseže isti prag za vsak program, ki bere to datoteko, kar je daleč onkraj VPN.

OpenVPN 2.6 zahteva šifro na seznamu za pogajanje

Ubuntu 22.10 je prinesel OpenVPN 2.6, in v tej izdaji --cipher preneha sam izbirati podatkovni kanal. Šifra mora biti tudi na dogovorjenem seznamu data-ciphers, sicer odjemalec natisne opozorilo o zastarelosti in nato ne uspe dvigniti tunela.

Vtičnik NetworkManagerja iz istega obdobja je še vedno pisal le staro direktivo. Ta podrobnost deli diagnozo, ker se profil, popravljen ročno, lahko poveže iz lupine in vseeno spodleti iz namiznega appleta. Dodajte seznam v povezovalno datoteko pod [vpn]:

data-ciphers=AES-256-CBC

Uporabite vrednost, ki jo strežnik oglašuje, ne tiste, ki se je spomnite; strežnik, ki ponuja AES-256-GCM, se ne bo pogajal s seznamom odjemalca, ki navaja samo CBC. Znova zaženite upravitelj in se povežite, nato poskus ponovite iz lupine s šifro izrecno podano za pogajanje in rezervo:

sudo openvpn --config client.ovpn --data-ciphers AES-256-CBC --data-ciphers-fallback AES-256-CBC

Če ta ukaz dvigne tunel, so strežnik, potrdila in poverilnice vsi zdravi, in edina preostala napaka je shranjena možnost upravitelja. Opozorilo o direktivi keysize spada k istemu čiščenju: zakomentirajte jo in izvirno datoteko shranite poleg profila.

Napake paketov in vtičnikov so videti kot napake VPN

Ni vsaka odpoved po nadgradnji kriptografska. Shramba OpenVPN, dodana pod kodnim imenom, ki ga izdaja ne uporablja, ustvari paket, ki se nikoli ne namesti, zato primerjajte, kaj lsb_release -a poroča, s seznamsko datoteko, ki ste jo dodali. Manjkajoča universe komponenta ali varnostni žep ustvari paket, ki ga sploh ni mogoče najti. Oba primera pustita profil nedotaknjen in tunel nemogoč.

Preberite napako upravitelja paketov pred dnevnikom VPN. Če odjemalec ni bil nikoli nameščen, nobeno urejanje profila ne bo ustvarilo rokovanja.

Profili z dvema faktorjema, ki prenehajo spraševati, so različica iste zgodbe za vtičnik. Izziv prihaja iz vtičnika za preverjanje pristnosti, in nadgradnja, ki ga je izpustila ali zamenjala, pusti profil nedotaknjen, medtem ko poziv izgine. Znova namestite podprti vtičnik, namesto da bi izbrisali drugi faktor, da bi povezava delovala.

Knjižnica dobavitelja se lahko skrije za napako politike

En vzorec si zasluži prepoznavo, ker premaga vsako popravilo politike. Orodje za konfiguracijo dobavitelja strojne opreme lahko namesti svoje knjižnice OpenSSL in jih postavi pred sistemske kopije v iskalni poti nalagalnika. Odjemalec se nato zažene proti knjižnici, ki je nihče ni nadgradil, in napaka ob zagonu je videti natanko kot zavrnjeno potrdilo.

Ponovna namestitev paketa VPN ne spremeni, katera knjižnica je najdena prva, in znižanje ravni TLS ne doseže knjižnice, ki ni nikoli prišla iz sistema. Vprašajte nalagalnik, katere kriptografske objekte binarna datoteka zares razreši:

ldd /usr/sbin/openvpn | grep -i -E 'ssl|crypto'

Odstranite ali preusmerite kopijo dobavitelja in nato znova zaženite isto preverjanje. Pričakovana različica mora biti tista v uporabi, preden se vrnete k profilu.

Pripinjanje starejšega odjemalca kupi čas, ne rešitve

Zadrževanje prejšnje različice odjemalca obnovi tunel, dokler zadrževanje traja. Zamrzne tudi varnostne posodobitve tega paketa in načrtuje isto zlomitev za naslednjo nadgradnjo, zato to obravnavajte kot datirano začasno rešitev, ne kot razrešitev.

Če ga vseeno pripnete, zadržite paket izrecno, da nenadzorovana nadgradnja ne more razveljaviti pripetja, zapišite razlog in datum pregleda ter nastavite opomnik za naslednjo izdajo profila pri ponudniku. Pogoj, ki ga je vredno spremljati, je strežniški profil, ki se pogaja o aktualni šifri; ko ta obstaja, pripetje nima več nobene utemeljitve. Nezapisano pripetje pa postane prekinitev, ki je nihče ne more razložiti pol leta pozneje, ker je oseba, ki ga je uporabila, že odšla, datoteka pa ne zabeleži ničesar.

Ko naslednjič VPN umre po nadgradnji izdaje, postavite pet vprašanj po vrsti: katera plast je dala prvo napako, ali je politika TLS zavrnila potrdilo, ali je šifra pogajljiva v obe smeri, ali sta se paket in njegov vtičnik res namestila in katero knjižnico nalaga proces. Šele ko se vseh pet vrne čistih, ima vrnitev na starejšo različico smisel.

Sorodni članki