Leta profaili kwenye mteja wa kompyuta ya mezani na kosa la kwanza mara nyingi ni mstari ambao mteja anakataa kuheshimu: ndoano ya skripti ambayo hatakimbiza, au thamani ya script-security anayoiona kama inayoruhusu kupita kiasi. Kuongeza namba hufanya kidirisha kiondoke. Lakini pia kunapanua kile ambacho profaili hiyo inaruhusiwa kutekeleza kwenye mashine yako, jambo la kushangaza kutoa kwa ajili ya kufunga onyo tu. Fuatilia uingizaji hadi kwenye maagizo na uamuzi unakuwa dhahiri.

Kutoka kidirisha cha uingizaji hadi maagizo

Profaili ni faili ya maandishi yenye maagizo, na mteja huyasoma kabla ya handaki yoyote kuwepo. Agizo kama up, down au tls-verify hutaja programu ya nje ambayo OpenVPN inapaswa kuikimbiza kwa wakati maalum. Ikiwa OpenVPN iko tayari kuikimbiza ni mpangilio tofauti unaoitwa script-security, na profaili kwa kawaida huweka huo pia.

Kwa hiyo onyo si kuhusu usimbaji fiche au vyeti. Ni kuhusu faili ya usanidi inayoomba mteja kutekeleza kitu kwenye mwenyeji, na kuhusu mteja anayechunguza ikiwa kiwango chake cha sasa cha ruhusa kinaruhusu ombi hilo.

Katika hatua hii kushindwa mbili tofauti huonekana sawa. Profaili inayoomba kiwango ambacho mteja hatatoa huzalisha kukataliwa. Profaili inayoomba kiwango ambacho mteja hutoa lakini skripti haipo huzalisha badala yake kushindwa wakati wa utekelezaji, na hizi mbili huchanganywa katika nyuzi za msaada. Moja ni swali la ruhusa na nyingine swali la ufungashaji.

Kila kiwango hufungua nini kwa kweli

Kiwango 0 kinakataza kabisa miito ya programu za nje, jambo ambalo ni thabiti kwa mteja anayesanidi kiolesura chake mwenyewe bila msaada na si thabiti kwa anayemwita mfumo wa uendeshaji. Kiwango 1, cha kawaida, huruhusu faili za utekelezaji zilizojengwa ndani ambazo usanidi wa kiolesura na njia unahitaji. Hakuna kiwango kinachokimbiza chochote alichotoa mtumiaji.

LevelWhat OpenVPN may executeWhat it exposes
0No external programs at allInterface and route setup must not depend on helpers
1 (default)Built-in helpers such as ip, ifconfig, route or netshPrivileged commands the platform already ships
2Built-in helpers plus user-defined scriptsWhatever the named script does with the client's privileges
3Everything above, plus passwords in environment variablesCredentials visible to child processes and their logs

Kiwango 2 ni mpaka wa kuvutia, kwa sababu kinakubali skripti zilizofafanuliwa na mtumiaji. Kuanzia hatua hiyo mapendeleo ya mteja yanatumika kwa msimbo ambao huenda hukuwahi kuusoma, unaoitwa katika nyakati ambazo hukuzichagua, katika mazingira yenye maelezo ya muunganisho. Kiwango 3 kinaenda mbali zaidi na huruhusu nywila kupitishwa kupitia vigeu vya mazingira, ndiyo sababu mwongozo unakielezea kama kinachoweza kuwa si salama.

Hakuna moja ya namba hizi ni mpangilio wa nguvu. Profaili ya kiwango 3 haina usimbaji bora kuliko ya kiwango 1; ina uso mkubwa wa utekelezaji tu, na handaki ni sawa.

Amua kile profaili inastahili

Uliza skripti ni ya nini kabla ya kuuliza inahitaji kiwango gani. Ndoano inayosukuma mipangilio ya DNS au kurekebisha njia baada ya kuunganisha ni sababu halali ya kukimbiza kitu. Ndoano inayoiita binary isiyojulikana katika folda ya muda ni sababu ya kusimama.

Njia ya skripti ni muhimu kama skripti yenyewe. Njia ya jamaa hutatuliwa dhidi ya folda ambayo mteja hutumia, na folda inayoweza kuandikwa hubadilisha uingizaji wa mara moja kuwa nafasi ya kudumu ya utekelezaji. Njia kamili katika folda ambayo mtumiaji hawezi kuibadilisha ni umbo linalopaswa kupendelewa.

Skripti pia hurithi mazingira ya mteja, ambapo vitambulisho na metadata ya muunganisho huishi. Urithi huo ndio unaofanya kiwango 3 kuwa hatari ikiwa pamoja na skripti inayorekodi mazingira yake, na ndiyo sababu utupaji wa uchunguzi kutoka kwa mteja mwenye skripti unastahili mtazamo wa pili kabla ya kubandikwa kwenye tiketi. Ondoa mazingira kabla ya kuyashiriki.

grep -nE 'script-security|^up |^down |tls-verify' client.ovpn

Badilisha kitu kimoja, kisha angalia pia uvunjaji

Ikiwa profaili inahitaji skripti kweli, badilisha kiwango tu na kwa profaili hiyo tu. Kimbiza mteja mbele kwa matokeo ya kina ili makosa ya skripti yenyewe yaonekane badala ya kumezwa na msimamizi wa huduma.

openvpn --config client.ovpn --script-security 2 --verb 3
ip route show default

Jaribu mzunguko mzima wa maisha, si muunganisho tu. Ndoano ya kuzima inayoshindwa huacha njia zikielekea handaki iliyokufa, jambo linalozalisha mashine inayoonekana imeunganishwa na haifikii mahali popote. Unganisha tena mara moja na ukatae mara moja kabla ya kutangaza mabadiliko kuwa yamekamilika, na angalia jedwali la uelekezaji baada ya kila moja.

Hifadhi nakala ya profaili ya awali. Ikiwa mteja wa jukwaa hategemei mfano huo wa skripti, kufuta maagizo hadi uingizaji ufaulu kunaweza kuondoa muunganiko wa DNS au njia ambao handaki uliuhitaji, na muunganisho utakaotokea utathibitisha kikamilifu huku hautatui chochote.

Uamuzi wa kurekodi ni mwembamba: skripti ipi, kwenye njia ipi, imeruhusiwa kwa kiwango gani, kwa profaili ipi. Kila kitu kingine katika profaili hakibadiliki, na hii ni sentensi ambayo mkaguzi anaweza kuithibitisha.

Makala zinazohusiana