OpenVPN kontrol-paketeak trazatu: tls-auth TLS aurretik
tls-auth HMAC kontrol-gutunekoan dago, ez TLS esku-ematearen barruan. Bat etorri gakoa, norabidea eta digest, eta gero egiaztatu babesa kendu gabe.
tls-auth hutsegitea esku-emate arazo gisa jakinarazi ohi da, eta inoiz ez zen halakoa izan. HMAC kontrol-paketean egiaztatzen da TLS prozesatzeko edozein urrats hasi aurretik, beraz gako edo norabide oker batek ziurtagiri arazoa dirudien hutsegitea sortzen du, bi geruza lehenago erabakitzen dena. Gutunekoari objektu propio gisa heltzeak diagnosia laburtzen du: irakurri eremuak, egiaztatu kontrola goiz abiarazten dela, eta gero alderatu bi muturrek adostu behar dituzten hiru gauzak.
Irakurri gutunekoia eraikitzen den ordenan
Kontrol-pakete batek saio-identifikatzaile bat, aukerako tls-auth HMAC-a, errepikapen eta onarpen informazioa eta mezu-identifikatzaile fidagarri bat daramatza, eta gero mezu-motaren karga dator. Mezua esku-emate mezua denean, karga TLS testu zifratua izaten da. Hori da harreman osoa: TLS materiala gutunekoia dagoeneko babesten duen mezu baten barruan bidaiatzen du. Ikusi OpenVPN sare-protokoloaren erreferentzia kontrol-kanalaren eremuak ordena horretan zerrendatzen dituena.
Fidagarritasun geruza erraza da kriptografiarekin nahastea. Onarpenak, berbidalketa eta mezu-identifikatzailea kontrol-mezuak garraio fidagaitz baten gainean behin eta ordenan iristeko daude. Ez dira autentifikazioa, eta mezu-identifikatzaile zuzenak ez du ezer frogatzen paketea nor-k bidali zuenari buruz.
Eduki taldekatze hau kontzeptual gisa. Ez da byte-ordenaren diagrama, eta ez da nahikoa etiketa bat kalkulatzeko, HMAC-era sartzen diren eremuak inplementazioaren, bertsioaren eta moduaren araberakoak baitira.
Erakutsi kontrola esku-ematearen aurretik abiarazten dela
Gako partekatua duen hartzaile batek HMAC egiaztatu eta pakete faltsua berehala bota dezake, esku-emate egoera esleitu gabe edo gako publikoaren lana egin gabe. Babesak hasierako esku-emate paketeak ere estaltzen ditu, eta horregatik agertzen da gako okerra konexio huts gisa, eta ez autentifikazio errore berantiar gisa.
Igo daemonaren hitzontzitasuna eta behatu kontrol-kanala, tun gailua beharrean:
openvpn --config /etc/openvpn/server.conf --verb 6
Bila ari zarena pakete mailan jakinarazitako kontrol-kanalaren HMAC egiaztapen hutsegitea da, TLS abisurik aurretik. Erregistroan TLS abisu bat egoteak esan nahi du gutunekoia onartu zela eta hutsegitea barrualdera mugitu zela, eta hori beste ikerketa bat da, beste konponbide batekin.
Norabide-kudeaketa ere hemen dago. Gako-fitxategi estatikoa tls-auth-ekin erabiltzen denean, bi muturrek kontrako gako-norabideak hartzen dituzte, eta protokoloak banaketa hori erabiltzen du harrapatutako pakete bat ezin izateko igorleari itzuli. Norabidea alderantzikatuta gakoa berdin mantentzen da eta hala ere pakete guztiek huts egiten dute. Aldatu mutur bat bakoitzean, eta gero berrabiarazi bi daemonak bikotea batera kargatzeko.
Bat etorri gakoa, norabidea eta digest bi muturretan
Hiru balio bat etorri behar dira eta horietako bat baino ez da fitxategia. Gako estatikoa edukia berbera izan behar da bi muturretan, norabidea kontrakoa izan behar da, eta HMAC-erako erabiltzen den digest-ak bat etorri behar du. Egiaztatu konfigurazioa gako-materiala ukitu aurretik, norabide alderantzikatutako bakar batek fitxategi hondatu batek baino hutsegite gehiago azaltzen baititu:
grep -E 'tls-auth|tls-crypt|key-direction|auth ' /etc/openvpn/server.conf
Sortu sekretu partekatua tresnarekin, ez editorearekin, eta mantendu baimenak estu:
openvpn --genkey secret /etc/openvpn/ta.key
chmod 600 /etc/openvpn/ta.key
Bertsio zaharrek gakoak sortzeko aukera-ordena pixka bat desberdina onartzen zuten, eta bertsio horietarako idatzitako profilek oraindik zirkulatzen dute. Sortutako fitxategia objektu mota bera da bi kasuetan, beraz egiaztapena da bi muturrek byte berberak dituzten, ez zein idazkerak sortu zituen.
Ez nahasi tls-auth tls-crypt-ekin. Biek kontrol-kanala babesten dute, baina tls-crypt-ek gainera zifratzen du eta esku-ematea behatzaileengandik ezkutatzen du, eta norabide-banaketa bere gako-kudeaketarekin ordezkatzen du. Bata erabiltzen duen profil batek ez du bestearentzat konfiguratutako kidearekin elkarrekintzarik izango, eta digest doiketa hutsak ez du hutsune hori ixten.
Berregin etiketa formatu errealetik soilik
Byte-zehatz berregitea VPN bat exekutatzearen beste zeregin bat da, eta sarrera errealekin soilik funtzionatzen du: paketea eraiki zuen inplementazioa eta bertsioa, hautatutako digest-a, norabidea eta benetako byteak, saio-identifikatzailea eta onarpen matrizea barne. Eremu-zerrendaren testu-irudikapen bat ez dira byte horiek.
Etiketaren luzera digest-etik dator, beraz luzera finkoaren hipotesia norbaitek aldatu bezain laster hausten da. Hasi paketea inplementazioak egiten duen bezala, ez blog-sarrera bateko taula batek aurkezten duen bezala, eta alderatu kide beretik hartutako harrapaketa batekin, eskuz ateratako itxaropen batekin beharrean.
Mantendu ariketa hori ekoizpen-profiletatik urrun. Etiketa bat berregiteak ez dizu esaten inplantazio batek babesa gaitu behar duen.
Desegin desadostasuna babesa kendu gabe
Proba tentagarria tls-auth ezabatzea da, konexioak funtzionatzen duela ikusi eta gakoa oker zegoela ondorioztatzea. Erantzun horrek babesa kostatzen dizu eta ez du ezer irakasten hiru balioetatik zein zegoen oker. Horren ordez, eskuratu zerbitzariaren aldetik onartutako konfigurazio egokia eta alderatu harekin.
Prestatu aldaketa itzulgarria izan dadin. Gorde aurreko zerbitzari-konfigurazioa eta gako-fitxategia, aplikatu zuzendutako bikotea, egiaztatu bezero batek esku-ematea osatzen duela, eta soilik orduan kendu segurtasun-kopia. Bezeroek aldaketaren ondoren huts egiten badute, leheneratu aurreko fitxategiak, ez improbisatu hirugarren aldaera etendura batean. Leheneraketa hasi aurretik jada ezagutzen duzun komando bakarra izan behar da.
Azkenik, gogoratu gainditutako egiaztapen batek zer esan nahi duen. Kideak gako partekatua duela frogatzen du, ez bere ziurtagiria edo kontua baimenduta dagoenik, eta ez du ezer esaten negoziatutako datu-kanalaren zifratzeaz. Baimena eta datu-babesa geroago ezartzen dira, beraz gutunekoiaren egiaztapen garbia abiapuntua da, ez epaia.