.ovpn-fila di kan køyre kode, ikkje berre rute trafikk
Ein profil som nemner ein up- eller down-hjelpar, køyrer kode med rettane dine. Sjekk stien, eigarskapen, oppryddinga og innstillinga script-security.
Dei fleste les ei .ovpn-fil slik dei les innstillingssida til ein ruter: adresser, ruter, ei liste over chiffer. Den delen som køyrer kode, ligg nær botnen, attmed direktiv som ser ut som røyrleggjararbeid, og han køyrer med kva privilegium klienten no enn har. Det er gapet ein slurvete eller vondsinna profil utnyttar, og det er òg gapet som gjer ein nyttig DNS-hjelpar til eit støtteproblem tre veker seinare. Hendingdirektivet, tryggleiksnivået og eigarskapen til fila avgjer kva som kan skje; innhaldet i skriptet avgjer kva som faktisk skjer. Les alle fire før du koplar til.
Ein profil som køyrer ein hjelpar, er eit program, ikkje ei innstillingsfil
Direktiv som route og dhcp-option skildrar tilstand klienten skal byggje opp, og klienten handsamar dei som data. Eit up-skript er annleis: klienten startar det som ein prosess og gjev det eit miljø fullt av tilkoplingsdetaljar, så alt forfattaren skreiv, køyrer med rettane til kontoen din. På ein berbar PC der brukaren er administrator, er det ei brei dør for ei fil som kom som vedlegg eller som innlimt tekst frå ein forumtråd. Skilnaden er ikkje stilistisk, det er skilnaden mellom konfigurasjon og kode.
Myten det er verdt å leggje død, er at ein profil berre kan omdirigere trafikk. Ein hjelpar som køyrer ip route add, og ein som køyrer curl mot ein ekstern vert, er same mekanismen, og profilen ser identisk ut utanfrå. Ingenting i utsjånaden til fila fortel kva du har, og difor må gjennomgangen nå heilt inn til sjølve skriptet.
Kva som faktisk avgjer køyringa, og korleis dei mogeleggjerande linjene ser ut
Tre ting styrer ein hjelpar: hendingdirektivet som namngjev han, script-security-nivået som tillèt han, og klientplattforma si eiga implementasjon. Ein profil kan be om ein krok og likevel ikkje sjå noko skje, fordi ein mobilklient eller ein nedskalert skrivebordsbygg kan hende ikkje implementerer den hendinga i det heile. På same måte seier ein profil som ber om meir løyve enn funksjonen treng, noko om opphavet sitt. Eit løyvenivå er ei evne, ikkje ei godkjenning. Dei mogeleggjerande linjene ser slik ut, med ein sti som står i staden for din.
script-security 2
up /etc/openvpn/update-resolv-conf.sh
down /etc/openvpn/update-resolv-conf.shNivå 0 avviser eksterne program, og nivå 1, standarden, tillèt berre dei innebygde køyrbare filene til klienten, så ein krok treng 2 eller høgare; nivå 3 finst mest for gammal passordoverføring og bør unngåast. Ein profil levert med ein krok treng både direktivet og det nivået, og difor fortener éi linje nær botnen av fila same granskinga som sertifikatblokka. OpenVPN-handboka listar løyvenivåa, og ordlyden er verdt å lese attmed det profilen faktisk ber om.
Eigarskap, sti og kva hjelparen vert fora med
Ein profil du stolar på, men som peikar på eit skript ein annan konto kan skrive om, er ikkje ei påliteleg ordning, fordi gjennomgangen frå i går ikkje lenger skildrar det som køyrer i dag. Sjekk eigaren og modusen til hjelparen, og sjekk at den konfigurerte stien peikar på fila du undersøkte, og ikkje på eit namn noko anna kan skugge for. Argument og miljø fortener same blikk: klienten gjev tilkoplingsdetaljar til kroken, og ein hjelpar som loggar heile miljøet sitt, skriv kanskje innloggingsdata i ein støttebillett. Føretrekk ein dokumentert integrasjon frå operatøren eller plattforma framfor eit DNS-skript kopiert frå eit urelatert innlegg, fordi to resolver-administratorar som kranglar om same fila, gjev ein feil som ser ut som ein øydelagd VPN.
Når du rapporterer ein krok som feilar, sladd miljøet før du limer det inn nokon stad. Dumpen som hjelper deg å feilsøkje, kan òg bera tokenet som autentiserer deg.
Oppryddingsfeil dukkar opp etter at tunnelen er borte
Ein up-hjelpar legg til ruter og resolver-innstillingar, og down-hjelparen skal fjerne dei igjen. Når down-kroken manglar, feilar stille eller aldri køyrer fordi klienten vart drepen, overlever restane økta. Trafikken tek då ein veg ingen planla, og namn vert slått opp gjennom ein resolver som skulle vore fjerna, medan tunnelen sjølv ser sunn ut. Desse symptoma kjem etter fråkoplinga, og difor får nettet skulda i staden for profilen.
Test nedrivinga som eit eige steg: hent tunnelen opp, noter rutene og resolvaren, slepp han ned, og stadfest deretter at båe er borte. Ein profil som koplar seg reint til, kan likevel etterlate tilstand, og ein null-utgangskode frå hjelparen beviser ikkje at resolvaren hamna der du trur.
Å gå gjennom hjelparen og halde på ein utveg
Les skriptet frå ende til annan og sjå etter tre ting: kommandoar som treng privilegium, hardkoda stiar som kanskje ikkje finst på systemet ditt, og eitkvart netverkskall det gjer. Sjå så korleis det feilar, fordi ein hjelpar som svel feil, gjer ein konfigurasjonsfeil til eit mysterium. Om du ikkje kan seie i éi setning kva skriptet gjer og kven som kan endre det, er du ikkje klar til å slå det på. Ein profil som ber om meir privilegium enn den setninga krev, er signalet om å stoppe.
Oppbevar den siste fungerande profilen og hjelparen han viste til, i verna lagring med båe versjonane noterte, slik at ein tilbakerulling er ein kopi og ikkje ein gjenoppbygging i det verste augneblinken. Om hjelparen berre finst for ein distribusjon eller klientversjon som ikkje lenger treng han, pensjoner han i konfigurasjonen som eig innstillinga i staden for å heve privilegium til feila sluttar. Det er utvegen: færre bevegelege delar, ikkje meir løyve.