Ang iyong .ovpn file ay maaaring magpatupad ng code, hindi lamang mag-ruta ng trapiko
Ang profile na nagpangalan ng helper na up o down ay nagpapatupad ng code gamit ang iyong mga pribilehiyo. Suriin ang landas, pagmamay-ari, paglilinis at setting ng script-security.
Karamihan ng tao ay nagbabasa ng .ovpn file kung paano nila binabasa ang pahina ng mga setting ng router: mga address, ruta, listahan ng mga cipher. Ang bahaging nagpapatupad ng code ay malapit sa ibaba, katabi ng mga direktiba na mukhang trabaho sa tubo, at tumatakbo ito sa anumang pribilehiyong taglay na ng kliyente. Iyon ang siwang na pinagsasamantalahan ng pabaya o mapaminsalang profile, at iyon din ang siwang na ginagawang problema sa suporta ang isang kapaki-pakinabang na DNS helper pagkalipas ng tatlong linggo. Ang direktiba ng pangyayari, ang antas ng seguridad at ang pagmamay-ari ng file ang nagpapasya kung ano ang maaaring mangyari; ang nilalaman ng script ang nagpapasya kung ano talaga ang nangyayari. Basahin ang lahat ng apat bago ka kumonekta.
Ang profile na nagpapatakbo ng helper ay isang programa, hindi file ng mga setting
Ang mga direktiba tulad ng route at dhcp-option ay naglalarawan ng estadong dapat itatag ng kliyente, at itinuturing ito ng kliyente bilang data. Iba ang up script: inilulunsad ito ng kliyente bilang proseso at binibigyan ito ng environment na puno ng detalye ng koneksyon, kaya anumang isinulat ng may-akda nito ay tumatakbo sa mga karapatan ng iyong account. Sa laptop kung saan admin ang gumagamit, iyon ay malawak na pinto para sa file na dumating bilang attachment o ipinaste mula sa thread ng forum. Ang pagkakaiba ay hindi pangkamataasan, ito ang pagkakaiba ng configuration at code.
Ang mitong dapat iwaksi ay na maituturo lamang ng profile ang trapiko sa ibang daan. Ang helper na nagpapatupad ng ip route add at ang isa na nagpapatupad ng curl laban sa malayong host ay iisang mekanismo, at magkamukha ang profile sa labas. Wala sa anyo ng file ang magsasabi kung alin ang mayroon ka, kaya kailangang maabot ng pagsusuri ang script mismo.
Ano talaga ang nagpapasya sa pagpapatupad, at ano ang hitsura ng mga linyang nagbibigay-daan
Tatlong bagay ang kumokontrol sa helper: ang direktiba ng pangyayaring nagpangalan dito, ang antas ng script-security na pumapayag dito, at ang sariling implementasyon ng platform ng kliyente. Maaaring humingi ng hook ang profile at wala pa ring makitang nangyayari, dahil maaaring hindi talaga ipinatupad ng mobile client o pinutol na desktop build ang pangyayaring iyon. Gayundin, ang profile na humihingi ng higit na pahintulot kaysa kailangan ng tungkulin nito ay may sinasabi tungkol sa pinagmulan nito. Ang antas ng pahintulot ay kakayahan, hindi pag-apruba. Ganito ang hitsura ng mga linyang nagbibigay-daan, pinapalitan ng landas ang sa iyo.
script-security 2
up /etc/openvpn/update-resolv-conf.sh
down /etc/openvpn/update-resolv-conf.shTumatanggi ang antas 0 sa mga panlabas na programa at ang antas 1, ang default, ay pinapayagan lamang ang mga built-in na executable ng kliyente, kaya kailangan ng hook ng 2 o mas mataas; ang antas 3 ay umiiral pangunahin para sa pagpapasa ng lumang password at mas mabuting iwasan ito. Ang profile na may kasamang hook ay nangangailangan ng parehong direktiba at antas na iyon, kaya ang isang linya malapit sa ibaba ng file ay karapat-dapat sa parehong pagsusuri gaya ng bloke ng sertipiko. Manwal ng OpenVPN ay naglilista ng mga antas ng pahintulot, at ang pananalita nito ay dapat basahin sa tabi ng aktwal na hinihiling ng profile.
Pagmamay-ari, landas at kung ano ang ipinapakain sa helper
Ang profile na pinagkakatiwalaan mo pero tumuturo sa script na maaaring isulat muli ng ibang account ay hindi mapagkakatiwalaang kaayusan, dahil hindi na inilalarawan ng pagsusuri kahapon kung ano ang tumatakbo ngayon. Suriin ang may-ari at mode ng helper, at suriin na ang naka-configure na landas ay tumuturo sa file na sinuri mo at hindi sa pangalang maaaring takpan ng iba pang bagay. Ang mga argumento at environment ay karapat-dapat sa parehong tingin: ipinapasa ng kliyente ang detalye ng koneksyon sa hook, at ang helper na nagtatala ng buong environment nito ay maaaring nagsusulat ng kredensyal sa ticket ng suporta. Piliin ang dokumentadong integrasyon mula sa operator o platform kaysa sa DNS script na kinopya mula sa walang kaugnayang post, dahil ang dalawang tagapamahala ng resolver na nag-aaway tungkol sa iisang file ay gumagawa ng pagkabigo na mukhang sirang VPN.
Kapag nag-uulat ka ng nabigong hook, i-redact ang environment bago ito i-paste kahit saan. Ang dump na tumutulong sa iyong mag-debug ay maaaring may dalang token na nagpapatunay sa iyo.
Lumilitaw ang mga pagkabigo sa paglilinis pagkatapos mawala ang tunnel
Ang helper na up ay nagdadagdag ng ruta at setting ng resolver, at dapat alisin itong muli ng helper na down. Kapag nawawala ang hook na down, tahimik na nabigo o hindi kailanman tumakbo dahil pinatay ang kliyente, ang mga natira ay nabubuhay nang mas mahaba kaysa session. Pagkatapos, dumadaan ang trapiko sa landas na walang nagplano at nareresolba ang mga pangalan sa resolver na dapat tanggalin na, habang ang tunnel mismo ay mukhang malusog. Dumarating ang mga sintomas na iyon pagkatapos ng disconnect, kaya ang network ang sinisisi at hindi ang profile.
Subukan ang pagtanggal bilang sariling hakbang: itaas ang tunnel, itala ang ruta at resolver, ibaba ito, at kumpirmahin pagkatapos na nawala ang dalawa. Ang profile na malinis kumonekta ay maaari pa ring mag-iwan ng estado, at ang zero exit code ng helper ay hindi nagpapatunay na natapos ang resolver kung saan mo iniisip.
Pagsusuri ng helper at pagpapanatili ng labasan
Basahin ang script mula simula hanggang dulo at hanapin ang tatlong bagay: mga utos na nangangailangan ng pribilehiyo, mga hardcoded na landas na maaaring wala sa iyong sistema, at anumang tawag sa network na ginagawa nito. Pagkatapos, tingnan kung paano ito nabigo, dahil ang helper na lumulunok ng mga error ay ginagawang misteryo ang pagkakamali sa configuration. Kung hindi mo masabi sa isang pangungusap kung ano ang ginagawa ng script at sino ang makakapagbago nito, hindi ka pa handa na paganahin ito. Ang profile na humihingi ng higit na pribilehiyo kaysa kailangan ng pangungusap na iyon ay hudyat na huminto.
Itago ang huling gumaganang profile at ang helper na tinutukoy nito sa protektadong imbakan, naitala ang dalawang bersyon, upang ang pagbabalik ay kopya at hindi muling pagbuo sa pinakamasamang posibleng sandali. Kung ang helper ay umiiral lamang para sa distribusyon o bersyon ng kliyente na hindi na nangangailangan nito, iretiro ito sa configuration na nagmamay-ari ng setting sa halip na itaas ang mga pribilehiyo hanggang tumigil ang mga error. Iyon ang labasan: mas kaunting gumagalaw na bahagi, hindi mas maraming pahintulot.