Ismeretlen OVPN-fájlok: helyi kockázat és távolléti bizalom
Egy profil befolyásolhatja a gépeden futó klienst, és kiválaszthatja az operátort, aki látja a forgalmadat. A fájl importálása előtt vizsgáld meg mindkét döntést.
Tekintsd az OVPN-fájlt egy program bemenetének, nem pedig annak tanúsítványának, hogy a tartalma ártalmatlan. A kiszolgáló címének ellenőrzése csak arra válaszol, hová kíván csatlakozni a profil, és semmi másra. Két külön bizalmi döntés van a fájlban: mit tehet a kliens a gépeden, és melyik operátor kapja a forgalmat. Egy ismerős protokollnév egyiket sem dönti el.
Két döntés bújik meg egy fájlban
Az első döntés helyi. A profil egy konfigurációs nyelv, és az azt olvasó kliens támogathat olyan direktívákat, amelyek bővítményt töltenek be, szkriptet futtatnak, vagy megváltoztatják az útvonalválasztás és a DNS alkalmazásának módját. A második döntés távoli. Bármit tartalmaz is a fájl, a kilépési operátor látja a hozzá érkező forgalmat.
A kettő összekeverése mindkét irányban rossz tanácsot ad: tisztának látszó profil ismeretlen operátortól, vagy ismert operátor profilja olyan horoggal, amelyet senki nem olvasott el. Egy helyben biztonságos profil még mindig olyannak adhatja a forgalmadat, akit nem választanál.
Olvasd el a profilt, mielőtt bármelyik kliens megteszi
Olvasd a fájlt szövegként, mielőtt bármelyik kliens feldolgozná. Keresd azokat a direktívákat, amelyek a fájlon kívülre mutatnak, végrehajtható fájlokra hivatkoznak vagy jogosultságokat változtatnak, és vesd össze ezt a listát a kliens dokumentált támogatásával. Egy rövid keresés nem biztonsági audit, de megmondja, hogy a profil kiszolgálólista-e vagy valami több.
grep -nE '^(script-security|up|down|plugin|route-up|ipchange)' untrusted.ovpn
Az üres eredmény megnyugtató és nem döntő, mert a beállítások hathatnak egymásra, vagy egy beillesztett fájlból származhatnak. Tekintsd a szűrt listát az olvasás folytatásának okaként, nem ítéletként.
A profillal együtt érkező utasítások ugyanakkora figyelmet érdemelnek, mint maga a profil. Négy kérésnek meg kell állítania: szkriptek engedélyezése, segédprogram vagy könyvtár telepítése, a kliens futtatása rendszergazdaként, vagy egy importálási korlátozás gyengítése. Mindegyik kifelé mozdítja a bizalmi határt, és egyik sem része a kiszolgálólista szokásos importálásának.
Olvasd át az egész fájlt egyszer egyben is, mert egyetlen ismeretlen sort könnyebb szövegkörnyezetben megítélni, mint szűrt listában. Ha egy sor ismeretlen, keresd meg a kliensed kézikönyvében, ne találgass.
Mit fog a kliens valójában végrehajtani
A Community OpenVPN 2.6-os kézikönyve dokumentálja a script-security szinteket: az 1-es szint az alapértelmezett, és blokkolja a felhasználó által meghatározott szkripteket, míg a 2-es szint engedélyezi őket. A bővítmények betöltése külön mechanizmus, saját direktívával. Ezért jelenthet ugyanaz a fájl mást a különböző kliensekben. A mobil és gyártói kliensek szűkebb direktívakészletet fogadhatnak el, vagy egyetlen horgot sem.
Az indítás módja ugyanolyan fontos, mint a kliens. Egy emelt jogosultságú segédprogram által indított profil többet tehet, mint egy felhasználói térben indított, és ez a különbség ok arra, hogy elolvasd az importálási felszólítást, ne söpörd félre.
A verzió is számít, mert ezeket a szinteket kiadásonként határozzák meg, és egy több verzióval lemaradó kliens lehet, hogy nem ugyanazt a szabályzatot valósítja meg. Azt a kézikönyvet olvasd, amelyik a futtatott buildhez tartozik, ne a legújabbat, amit találsz. Ha a kliens sehol nem mutat verziókarakterláncot, az már ok arra, hogy lassíts.
Hasonlítsd össze az operátort, ne csak a címet
Az operátorokat úgy hasonlítsd össze, ahogy bármely más közvetítőt. Kérdezd meg, ki üzemelteti a kilépést, mit naplóznak, és hogyan jutott el hozzád a profil. Egy ellenőrzött letöltési oldal és egy egyező ujjlenyomat többet mond egy ismerős gépnévnél. Egy elérhető kiszolgáló csak azt bizonyítja, hogy valami válaszolt.
A hitelesítő adatok az a rész, amit az emberek nyomás alatt elrontanak. Ne írj be egy nem kapcsolódó fiók jelszavát egy letöltött profilba, csak mert a kiszolgáló neve ismerősnek tűnik. A profil nyílt formában privát kulcsot is hordozhat, így a teljes fájl közzététele egy ellenőrzési szálban átadja azt a kulcsot a szálnak.
Egy megfelelően érvényesített HTTPS-munkamenet továbbra is elrejti az oldal tartalmát mindenki elől, aki csak továbbítja a csomagokat, így a kilépés nem lát automatikusan minden jelszót. Azt viszont látja, mely oldalakat éred el, és ezt a határt érdemes pontosan megfogalmazni, nem túlozni.
Ahol a fájl eredete tisztázatlan marad, vagy egy kért jogosultságnak nincs számodra elfogadható magyarázata, cseréld a profilt egy olyan forrásból származóra, amely elszámoltatható. Egy kezelt munkahelyi kapcsolatnál a rendszergazdának a klienst és a konfigurációt egyetlen döntésként kellene jóváhagynia, nem kettőként. Semmi itt nem követeli meg, hogy előbb rossz szándékot bizonyíts; a hozzáférés megtagadása jogos válasz.