Miks lakkas OpenVPN pärast Ubuntu uuendust ühendamast?
Ubuntu 22.04 ja 22.10 muutsid OpenSSL-i poliitikat, vaikimisi šifri läbirääkimist ja pakettide vaikeväärtusi. Lugege ebaõnnestuvat etappi enne profiili muutmist.
VPN-profiilid, mis eelmisel nädalal töötasid, katkevad pärast Ubuntu väljalaske uuendust ja logi mainib uuendust harva üldse. Mida see nimetab, on kiht, mis ebaõnnestus: TLS-i käepigistus, andmekanalile läbi räägitud šiffer, paigaldatud pakett või OpenSSL-i koopia, mille binaarfail käivitamisel laadib. Igal kihil on oma veavorm ja oma parandus, mistõttu on klassifitseerimine esimene töö ja redigeerimine teine. Käsitlege profiili süütuna, kuni logi selle nimetab.
Milline kiht ebaõnnestus: käepigistus, šiffer, pakett või teek
Lugege kliendi logi enne profiili puutumist. varaseim viga väljundis on see, mis kihi tuvastab; kõik hiljem trükitu on tavaliselt selle esimese ebaõnnestumise tagajärg. Kui klient ei käivitu üldse, on VPN-i logi vale fail, mida avada.
Kaebused sertide ja allkirjade kohta või teade võtme pikkusest tulevad juhtkanalist ja seda valitsevast teegipoliitikast. Hoiatus, mis algab DEPRECATED OPTION-ga, kuulub seevastu andmekanali läbirääkimise juurde.
Rida kujul Unrecognized option on kolmas kategooria: uus binaar ei võta enam vastu direktiivi, mida vana talus, seega tuleb profiil ümber kirjutada, mitte teeki lõdvendada. Paketivead näevad jälle teistsugused välja, sest need juhtuvad enne, kui ükski tunnelikood jookseb. Puuduv binaar, plugin, mis ei laadi, või hoidla, mis osutab valele koodnimele, annavad kõik selle vormi. Neli sümptomit, neli kohta, kuhu vaadata, ja peaaegu mingit kattuvust paranduste vahel.
Kui käepigistus ebaõnnestub, lükkab TLS-i poliitika sertifikaadi tagasi
Ubuntu 22.04 viis süsteemi OpenSSL 3 peale ja selle haru vaikimisi turbetase on sertide allkirjade ja võtmesuuruste suhtes rangem kui 20.04-s. Vanema räsiga allkirjastatud CA-sert või praegusest lävendist väiksem võti ebaõnnestub nüüd käepigistuse ajal. Kuna midagi pole veel autenditud, loetakse viga vale paroolina või surnud serverina.
Kitsas parandus lisab šifrirea ainult sellele ühendusele. Töölaua redaktoris avage profiil, minge täpsemate seadete juurde ja pange DEFAULT:@SECLEVEL=0 TLS-i šifri väljale. NetworkManageri võtmefail võtab sama väärtuse jaotises [vpn]:
[vpn]
tls-cipher=DEFAULT:@SECLEVEL=0Taaskäivitage NetworkManager ja ühenduge uuesti, sest deemon puhverdab parsitud profiilid ja kasutaks muidu juba hoitavat koopiat. Teadke, mida rida teeb, enne kui selle alles jätate: see seade on lävend mitme serdi- ja võtmeparameetri üleselt, mitte šifri nimi, seega selle langetamine laiendab, mida üksik profiil vastu võtab. Märkige, milline server seda nõudis, ja loobuge seadest, kui operaator väljastab värske materjali. Muuta /etc/ssl/openssl.cnf tähendab jõuda sama lävendini iga programmi jaoks, mis seda faili loeb, mis on VPN-ist palju kaugemal.
OpenVPN 2.6 nõuab, et šiffer oleks läbirääkimiseks loetletud
Ubuntu 22.10 tarnis OpenVPN 2.6 ja selles versioonis lakkab --cipher ise andmekanalit valimast. Šiffer peab olema ka läbi räägitud data-ciphers loendis, muidu trükib klient aegumishoiatuse ja ei suuda seejärel tunnelit üles tuua.
Sama ajajärgu NetworkManageri plugin kirjutas ikka ainult vana direktiivi. See detail jagab diagnoosi, sest käsitsi parandatud profiil võib kestast ühenduda ja töölauarakendusest ikkagi ebaõnnestuda. Lisage loend ühendusfaili jaotises [vpn]:
data-ciphers=AES-256-CBCKasutage väärtust, mida server kuulutab, mitte seda, mida mäletate; AES-256-GCM-i pakkuv server ei räägi läbi kliendiloendiga, mis nimetab ainult CBC-d. Taaskäivitage haldur ja ühenduge uuesti, seejärel korrake katset kestast, andes šifri selgesõnaliselt nii läbirääkimiseks kui ka varuks:
sudo openvpn --config client.ovpn --data-ciphers AES-256-CBC --data-ciphers-fallback AES-256-CBCKui see käsk toob tunneli üles, on server, serdid ja volitused terved ning ainus järelejäänud viga on halduri salvestatud valik. Hoiatus direktiivi keysize kohta kuulub samasse koristusse: kommenteerige see välja ja hoidke algne fail profiili kõrval.
Paketi- ja pluginavead näevad välja nagu VPN-i vead
Pole iga uuendusjärgne ebaõnnestumine krüptograafiline. OpenVPN-i hoidla, mis on lisatud koodnime alla, mida väljalase ei kasuta, annab paketi, mida ei paigaldata kunagi, seega võrrelge, mida lsb_release -a teatab, lisatud loendifailiga. Puuduv universe komponent või turbetasku annab paketi, mida pole üldse võimalik leida. Mõlemal juhul jääb profiil puutumata ja tunnel võimatuks.
Lugege paketihalduri viga enne VPN-i logi. Kui klienti ei paigaldatud kunagi, ei anna ükski profiili redigeerimine käepigistust.
Kahefaktorilised profiilid, mis lakkavad küsimast, on sama loo plugina-versioon. Väljakutse tuleb autentimispluginast ja uuendus, mis selle välja jättis või asendas, jätab profiili terveks, samal ajal kui küsimus kaob. Paigaldage toetatud plugin uuesti, selle asemel et teist faktorit kustutada, et ühendus töötaks.
Tarnija teek võib peituda poliitikavea taga
Üks muster väärib äratundmist, sest see lööb iga poliitikaparanduse. Riistvaratarnija konfiguratsioonitööriist võib paigaldada oma OpenSSL-i teegid ja asetada need laadija otsinguteel süsteemi koopiate ette. Siis käivitub klient teegi vastu, mida keegi pole uuendanud, ja käivitusviga näeb täpselt välja nagu tagasi lükatud sert.
VPN-i paketi uuesti paigaldamine ei muuda, milline teek esimesena leitakse, ja TLS-i taseme langetamine ei jõua teegini, mis pole kunagi süsteemist tulnud. Küsige laadijalt, millised krüptoobjektid binaar tegelikult lahendab:
ldd /usr/sbin/openvpn | grep -i -E 'ssl|crypto'Eemaldage või suunake tarnija koopia ümber, seejärel käivitage sama kontroll uuesti. Oodatav versioon peab olema kasutuses olev, enne kui profiili juurde naasete.
Vanema kliendi kinnitamine ostab aega, mitte lahendust
Eelmise kliendiversiooni hoidmine taastab tunneli seni, kuni hoidmine kestab. See külmutab ka selle paketi turbekuuendused ja planeerib sama katkemise järgmiseks uuenduseks, seega käsitlege seda dateeritud ajutise lahendusena, mitte parandusena.
Kui te selle siiski kinnitate, hoidke paketti selgesõnaliselt, et järelevalveta uuendus ei saaks kinnitust tühistada, kirjutage põhjus ja ülevaatamise kuupäev ning seadke meeldetuletus tarnija järgmise profiiliväljalaske jaoks. Tingimus, mida tasub jälgida, on serveriprofiil, mis räägib läbi ajakohase šifri; kui see olemas on, pole kinnitusel enam õigustust. Dokumenteerimata kinnitus muutub seevastu katkestuseks, mida keegi pool aastat hiljem seletada ei oska, sest selle rakendaja on lahkunud ja fail ei registreeri midagi.
Järgmisel korral, kui VPN pärast väljalaskeuuendust sureb, esitage viis küsimust järjest: milline kiht andis esimese vea, kas TLS-i poliitika lükkas serdi tagasi, kas šiffer on mõlemas suunas läbiräägitav, kas pakett ja selle plugin tegelikult paigaldati, ja millist teeki protsess laadib. Alles siis, kui kõik viis tulevad puhtalt tagasi, on allaviimisel mõtet.