Enamik inimesi loeb .ovpn-faili nii, nagu nad loevad ruuteri seadete lehte: aadressid, marsruudid, šifrite loend. Koodi käivitav osa asub lõpu lähedal, torutööde moodi direktiivide kõrval, ja see töötab nende õigustega, mis kliendil juba on. See on tühik, mida hooletu või pahatahtlik profiil ära kasutab, ja see on ka tühik, mis muudab kasuliku DNS-abivahendi kolm nädalat hiljem tugiprobleemiks. Sündmuse direktiiv, turbetase ja faili omand määravad, mis võib juhtuda; skripti sisu määrab, mis tegelikult juhtub. Lugege kõik neli enne ühendamist.

Abivahendit käivitav profiil on programm, mitte seadete fail

Direktiivid nagu route ja dhcp-option kirjeldavad olekut, mille klient peaks looma, ja klient kohtleb neid andmetena. up-skript on teistsugune: klient käivitab selle protsessina ja annab sellele ühenduse üksikasju täis keskkonna, seega kõik, mida selle autor kirjutas, töötab teie konto õigustega. Sülearvutis, kus kasutaja on administraator, on see lai uks failile, mis saabus manusena või foorumiteemast kleepimise teel. Erinevus ei ole stiililine, see on erinevus konfiguratsiooni ja koodi vahel.

Müüt, mille võiks pensionile saata, on see, et profiil saab ainult liiklust ümber suunata. Abivahend, mis käivitab ip route add, ja see, mis käivitab curl'i kaughosti vastu, on sama mehhanism, ja profiil näeb väljastpoolt identne välja. Miski faili välimuses ei ütle, kumb teil on, seetõttu peab ülevaatus jõudma skriptini endani.

Mis täitmist tegelikult otsustab ja kuidas lubavad read välja näevad

Abivahendit juhivad kolm asja: sündmuse direktiiv, mis selle nimetab, script-security tase, mis selle lubab, ja kliendi platvormi enda rakendus. Profiil võib nõuda konksu ja ikkagi mitte näha midagi juhtuvat, sest mobiiliklient või kärbitud töölaua versioon ei pruugi seda sündmust üldse rakendada. Samuti räägib profiil, mis küsib rohkem luba, kui selle funktsioon vajab, teile midagi selle päritolu kohta. Lubatase on võime, mitte heakskiit. Lubavad read näevad välja nii, tee asendab teie oma.

script-security 2
up /etc/openvpn/update-resolv-conf.sh
down /etc/openvpn/update-resolv-conf.sh

Tase 0 keeldub välisprogrammidest ja tase 1, vaikeväärtus, lubab ainult kliendi sisseehitatud käivitatavaid faile, seega vajab konks 2 või kõrgemat; tase 3 on peamiselt vanade paroolide edastamiseks ja seda tasub vältida. Konksuga tarnitud profiil vajab nii direktiivi kui ka seda taset, seetõttu väärib üks rida faili lõpu lähedal sama tähelepanu nagu sertifikaadiplokk. OpenVPNi käsiraamat loetleb lubatud tasemed ja selle sõnastust tasub lugeda kõrvuti sellega, mida profiil tegelikult küsib.

Omand, tee ja millega abivahendit toidetakse

Profiil, mida usaldate, kuid mis osutab skriptile, mille teine konto võib üle kirjutada, ei ole usaldusväärne korraldus, sest eilne ülevaatus ei kirjelda enam seda, mis täna töötab. Kontrollige abivahendi omanikku ja režiimi ning veenduge, et konfigureeritud tee lahendub failiks, mida te uurisite, mitte nimeks, mille midagi muud võib varjutada. Argumendid ja keskkond väärivad sama pilku: klient annab konksule ühenduse üksikasjad, ja abivahend, mis logib kogu oma keskkonda, võib kirjutada mandaate tugipiletisse. Eelistage operaatori või platvormi dokumenteeritud integratsiooni asemel DNS-skripti, mis on kopeeritud seosetust postitusest, sest kaks resolverihaldurit, kes sama faili pärast tülitsevad, tekitavad rikke, mis näeb välja nagu katkine VPN.

Kui te teatate nurjunud konksust, redigeerige keskkond enne, kui selle kuhugi kleepite. Dump, mis aitab teil siluda, võib kanda ka tokenit, mis teid autendib.

Puhastamise tõrked ilmnevad pärast seda, kui tunnel on kadunud

up-abivahend lisab marsruudid ja resolveri seaded ning down-abivahend peaks need jälle ära võtma. Kui down-konks puudub, nurjub vaikselt või ei käivitu kunagi, sest klient tapeti, jäävad jäänused sessioonist kauemaks. Siis läheb liiklus teed, mida keegi ei planeerinud, ja nimed lahendatakse resolveri kaudu, mis oleks tulnud eemaldada, samal ajal kui tunnel ise näeb terve välja. Need sümptomid saabuvad pärast ühenduse katkestamist, seetõttu süüdistatakse võrku, mitte profiili.

Testige demonteerimist eraldi sammuna: tõstke tunnel üles, märkige marsruudid ja resolver, laske see alla, seejärel kinnitage, et mõlemad on kadunud. Puhtalt ühenduv profiil võib ikkagi oleku maha jätta, ja abivahendi nulline väljumiskood ei tõesta, et resolver jõudis sinna, kus te arvate.

Abivahendi ülevaatus ja väljapääsu hoidmine

Lugege skript otsast lõpuni läbi, otsides kolme asja: privileegi vajavad käsud, kõvakodeeritud teed, mida teie süsteemis ei pruugi olla, ja iga võrgukutse, mille see teeb. Seejärel vaadake, kuidas see nurjub, sest vigu alla neelav abivahend muudab konfiguratsioonivea mõistatuseks. Kui te ei suuda ühe lausega öelda, mida skript teeb ja kes saab seda muuta, ei ole te valmis seda lubama. Profiil, mis küsib rohkem privileegi, kui see lause nõuab, on märk peatuda.

Hoidke viimast töötavat profiili ja abivahendit, millele see viitas, kaitstud hoiukohas, mõlemad versioonid märgitud, et tagasipööramine oleks koopia, mitte ülesehitamine halvimal võimalikul hetkel. Kui abivahend on ainult distributsiooni või kliendiversiooni jaoks, mis seda enam ei vaja, viige see seadet omavas konfiguratsioonis pensionile, selle asemel et tõsta privileege, kuni vead lakkavad. See on väljapääs: vähem liikuvaid osi, mitte rohkem luba.

Seotud artiklid