OVPN failą laikykite programos įvestimi, o ne sertifikatu, kad jo turinys nekenksmingas. Serverio adreso patikrinimas atsako tik į tai, kur profilis nori jungtis, ir į nieką daugiau. Tame faile yra du atskiri pasitikėjimo sprendimai: ką klientas gali daryti jūsų kompiuteryje ir kuris operatorius gauna srautą. Pažįstamas protokolo pavadinimas neišsprendžia nė vieno.

Viename faile slepiasi du sprendimai

Pirmasis sprendimas yra vietinis. Profilis yra konfigūracijos kalba, o jį skaitantis klientas gali palaikyti direktyvas, kurios įkelia papildinį, paleidžia scenarijų arba keičia, kaip taikomas maršrutizavimas ir DNS. Antrasis sprendimas yra nuotolinis. Kad ir ką failas turėtų, išėjimo operatorius mato srautą, kuris jį pasiekia.

Sumaišius abu, gaunamas blogas patarimas abiem kryptimis: švariai atrodantis profilis iš nepažįstamo operatoriaus arba žinomo operatoriaus profilis su kabliu, kurio niekas neskaitė. Vietiškai saugus profilis vis tiek gali atiduoti jūsų srautą tam, ko nesirinktumėte.

Perskaitykite profilį prieš tai darant bet kuriam klientui

Skaitykite failą kaip tekstą, kol joks klientas jo neapdorojo. Ieškokite direktyvų, kurios nurodo už failo ribų, remiasi vykdomaisiais failais arba keičia privilegijas, ir palyginkite tą sąrašą su dokumentuota kliento parama. Trumpa paieška nėra saugumo auditas, bet ji pasako, ar profilis yra serverių sąrašas, ar kažkas daugiau.

grep -nE '^(script-security|up|down|plugin|route-up|ipchange)' untrusted.ovpn

Tuščias rezultatas ramina ir nėra galutinis, nes parinktys gali sąveikauti arba būti pateiktos įterptame faile. Į filtruotą sąrašą žiūrėkite kaip į priežastį skaityti toliau, o ne kaip į nuosprendį.

Nurodymai, kurie ateina kartu su profilu, nusipelno tokio pat tikrinimo kaip ir profilis. Keturi prašymai turėtų jus sustabdyti: įjungti scenarijus, įdiegti pagalbinę programą ar biblioteką, paleisti klientą kaip administratorių arba susilpninti importo apribojimą. Kiekvienas jų pastumia pasitikėjimo ribą į išorę, ir nė vienas nėra įprasta serverių sąrašo importo dalis.

Perskaitykite ir visą failą vieną kartą, nes vieną nepažįstamą eilutę lengviau įvertinti kontekste nei filtruotame sąraše. Jei eilutė nepažįstama, ieškokite jos savo kliento vadove, o ne spėliokite.

Ką klientas iš tikrųjų vykdys

Community OpenVPN 2.6 vadovas dokumentuoja script-security pakopas: 1 lygis yra numatytasis ir blokuoja vartotojo apibrėžtus scenarijus, o 2 lygis juos leidžia. Papildinių įkėlimas yra atskiras mechanizmas su sava direktyva. Todėl tas pats failas skirtinguose klientuose gali reikšti skirtingus dalykus. Mobilieji ir gamintojų klientai gali priimti siauresnį direktyvų rinkinį arba nė vieno kablio.

Paleidimo būdas svarbus tiek pat, kiek klientas. Profilis, paleistas privilegijuotos pagalbinės programos, gali padaryti daugiau nei paleistas vartotojo erdvėje, ir šis skirtumas yra priežastis perskaityti importo raginimą, o ne jį atmesti.

Versija taip pat svarbi, nes šie lygiai apibrėžiami kiekvienam leidimui, o kelias versijas atsilikęs klientas gali neįgyvendinti tos pačios politikos. Skaitykite vadovą, atitinkantį jūsų vykdomą kompiliaciją, o ne naujausią, kurį rasite. Jei klientas niekur nerodo versijos eilutės, tai jau priežastis sulėtinti.

Palyginkite operatorių, o ne tik adresą

Palyginkite operatorius taip, kaip lyginate bet kurį kitą tarpininką. Paklauskite, kas valdo išėjimą, ką jie registruoja ir kaip profilis pasiekė jus. Patikrintas atsisiuntimo puslapis ir atitinkantis piršto atspaudas pasako daugiau nei pažįstamas hosto vardas. Pasiekiamas serveris įrodo tik tai, kad kažkas atsakė.

Prisijungimo duomenys yra ta dalis, kurioje žmonės spaudžiami klysta. Nerašykite nesusijusios paskyros slaptažodžio į atsisiųstą profilį todėl, kad serverio vardas atrodo pažįstamas. Profilis gali ir atvirai turėti privatų raktą, todėl viso failo paskelbimas apžvalgos gijoje perduoda tą raktą gijai.

Tinkamai patvirtinta HTTPS sesija vis dar slepia puslapio turinį nuo kiekvieno, kas tik persiunčia paketus, todėl išėjimas automatiškai nemato kiekvieno slaptažodžio. Tačiau jis mato, kuriuos puslapius pasiekiate, ir šią ribą verta įvardyti tiksliai, o ne perdėti.

Kai failo kilmė lieka neaiški arba jo reikalaujama privilegija neturi paaiškinimo, kurį galėtumėte priimti, pakeiskite profilį tokiu, kuris kilęs iš šaltinio, kurį galima patraukti atsakomybėn. Valdomame darbo ryšyje administratorius turėtų patvirtinti klientą ir konfigūraciją kaip vieną sprendimą, o ne du. Niekas čia nereikalauja pirmiau įrodyti piktos valios; atsisakyti prieigos yra teisėtas atsakymas.

Susiję straipsniai