Mag-import ng profile sa isang desktop client at ang unang pagpalya ay madalas isang linyang ayaw sundin ng client: isang hook ng script na hindi nito patatakbuhin, o isang halaga ng script-security na itinuturing nitong masyadong mapagbigay. Ang pagtaas ng bilang ay nagpapawala ng dialog. Pinalalawak din nito kung ano ang pinapayagang isagawa ng profile na iyon sa iyong makina, na kakaibang ibigay para lamang maalis ang isang babala. Sundan ang import hanggang sa direktiba at nagiging konkretong desisyon.

Mula sa dialog ng import hanggang sa direktiba

Ang profile ay isang text file na may mga direktiba, at binabasa ito ng client bago pa umiral ang anumang tunnel. Ang isang direktibang tulad ng up, down o tls-verify ay nagpangalan ng panlabas na programa na dapat patakbuhin ng OpenVPN sa takdang sandali. Kung handa ang OpenVPN na patakbuhin ito ay isang hiwalay na setting na tinatawag na script-security, at karaniwang itinatakda rin ito ng profile.

Kaya ang babala ay hindi tungkol sa kriptograpiya o mga sertipiko. Tungkol ito sa isang file ng konfigurasyon na humihiling sa client na magsagawa ng isang bagay sa host, at sa client na sinusuri kung pinapayagan ng kasalukuyang antas ng pahintulot nito ang kahilingang iyon.

Dalawang magkaibang pagpalya ang magkamukha sa yugtong ito. Ang profile na humihiling ng antas na hindi ibibigay ng client ay gumagawa ng pagtanggi. Ang profile na humihiling ng antas na ibinibigay ng client ngunit kulang ang script ay gumagawa sa halip ng pagpalya sa panahon ng pagtakbo, at ang dalawa ay pinagsasama-sama sa mga thread ng suporta. Ang isa ay tanong ng pahintulot at ang isa ay tanong ng pag-iimpake.

Ano ang talagang binubuksan ng bawat antas

Ang antas 0 ay ganap na nagbabawal sa mga tawag sa panlabas na programa, na tugma para sa client na nagko-konfigura ng sarili nitong interface nang walang tulong at hindi tugma para sa isang tumatawag sa operating system. Ang antas 1, ang default, ay nagpapahintulot sa mga built-in na executable na kailangan ng konfigurasyon ng interface at ruta. Wala sa dalawang antas ang nagpapatakbo ng anumang ibinigay ng user.

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

Ang antas 2 ang kawili-wiling hangganan, dahil tinatanggap nito ang mga script na tinukoy ng user. Mula sa puntong iyon, ang mga pribilehiyo ng client ay nalalapat sa code na maaaring hindi mo pa nabasa, tinatawag sa mga sandaling hindi mo pinili, sa isang kapaligirang naglalaman ng mga detalye ng koneksyon. Ang antas 3 ay mas malayo pa at pinapayagan ang pagpasa ng mga password sa pamamagitan ng mga variable ng kapaligiran, kaya inilalarawan ito ng manwal bilang posibleng hindi ligtas.

Wala sa mga bilang na ito ang setting ng lakas. Ang profile sa antas 3 ay walang mas mahusay na encryption kaysa sa antas 1; mayroon lamang itong mas malaking ibabaw ng pagpapatupad, at ang tunnel ay kapareho.

Magpasya kung ano ang nararapat sa profile

Itanong kung para saan ang script bago itanong kung anong antas ang kailangan nito. Ang hook na nagtutulak ng mga setting ng DNS o nag-aayos ng ruta pagkatapos kumonekta ay isang lehitimong dahilan para magpatakbo ng isang bagay. Ang hook na tumatawag ng hindi kilalang binary sa isang pansamantalang direktoryo ay dahilan para huminto.

Ang landas ng script ay kasinghalaga ng script. Ang relatibong landas ay niresolba laban sa direktoryo na ginagamit ng client, at ang direktoryong naisusulatan ay ginagawang permanenteng puwang ng pagpapatupad ang isang beses na import. Ang mga absolutong landas sa direktoryo na hindi mababago ng user ang anyo na dapat unahin.

Namamana rin ng mga script ang kapaligiran ng client, kung saan nakatira ang mga kredensyal at metadata ng koneksyon. Ang mismong pamana na iyon ang nagpapadelikado sa antas 3 kapag isinama sa isang script na nagla-log ng sarili nitong kapaligiran, at iyon ang dahilan kung bakit ang diagnostic dump mula sa client na may mga aktibong script ay karapat-dapat sa ikalawang tingin bago idikit sa isang ticket. Alisin ang kapaligiran bago ito ibahagi.

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

Baguhin ang isang bagay, pagkatapos panoorin din ang pagbuwag

Kung talagang kailangan ng profile ang isang script, baguhin lamang ang antas at para lamang sa profile na iyon. Patakbuhin ang client sa harapan na may detalyadong output upang makita ang sariling mga error ng script, sa halip na lamunin ng tagapamahala ng serbisyo.

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

Subukan ang buong ikot ng buhay, hindi lamang ang koneksyon. Ang hook sa paghinto na nabigo ay nag-iiwan ng mga rutang nakaturo sa isang patay na tunnel, na gumagawa ng makinang mukhang konektado at walang naaabot. Bago ideklarang tapos ang pagbabago, kumonekta muli nang isang beses at humiwalay nang isang beses, at suriin ang talahanayan ng ruta pagkatapos ng bawat isa.

Magtabi ng kopya ng orihinal na profile. Kung ang client ng platform ay hindi nagpapatupad ng parehong modelo ng script, ang pagbura ng mga direktiba hanggang magtagumpay ang import ay maaaring mag-alis ng integrasyon ng DNS o ruta na kailangan ng tunnel, at ang resultang koneksyon ay magpapatunay nang perpekto habang wala namang niresolba.

Ang desisyong dapat itala ay makitid: aling script, sa aling landas, pinayagan sa aling antas, para sa aling profile. Ang lahat ng iba pa sa profile ay hindi nagbabago, at iyon ay isang pangungusap na masusuri ng isang tagasuri.

Kaugnay na mga artikulo