Ang iyong VPN command ay tumatakbo nang walang pribilehiyo; ang serbisyo ay hindi
Walang hiling na password ay walang sinasabi tungkol sa kung sino ang nagbabago ng mga ruta. Hanapin ang serbisyo, ang interface na inilalantad nito at ang patakarang nagpapasya kung sino ang maaaring humiling.
Ang VPN command ay tumatakbo bilang iyong user, walang password na lumilitaw, at bumabangon ang tunnel. Ang pagkakasunod-sunod na iyon ay parang operasyong walang pribilehiyo, at karaniwang hindi ito ganoon. Isang hiwalay na serbisyo ang nagsasagawa ng mga pagbabago sa network, at ang kawili-wiling tanong ay kung ano ang gagawin ng serbisyong iyon para sa isang tumatawag na hindi nito na-verify. Ang pagbilang ng mga hiling ng password ay walang sinasabi sa iyo tungkol sa hangganang iyon.
Ang interface, ang mekanismo at ang pagsusuri
Tumatanggap ng mga hiling ang interface: kumonekta, idiskonekta, pumili ng profile. Pagmamay-ari ng mekanismo ang mga operasyon sa network: paggawa ng mga interface, pagbabago ng mga ruta, paglalapat ng mga filter. Pinagpapasyahan ng pagsusuri ng awtorisasyon kung maaaring humiling ang tumatawag na ito ng aksyong ito. Ang tatlong ito ay maaaring nakakalat sa isang binary, isang katulong at isang serbisyo ng sistema, at ang unang bahagi lamang ang nakikita ng user.
Ang mga tungkulin ay maaaring manirahan sa isang binary, sa dalawang proseso, o sa isang kliyente at isang serbisyo ng sistema, at bihirang ihayag ng command na nakikita ng user kung alin. Ang icon sa tray at ang daemon ng sistema ay maaaring magmukhang isang aplikasyon habang tumatakbo nang may ibang-ibang awtoridad. Ang pribilehiyo sa oras ng pag-install at ang pribilehiyo sa oras ng hiling ay magkaibang bagay din. Ang installer na tumakbo bilang root ay maaaring mag-iwan ng serbisyong nakikinig sa mga susunod na hiling, matagal matapos matapos ang tagapamahala ng pakete. Ang serbisyong iyon, hindi ang command na itina-type mo, ang may hawak ng awtoridad.
Ang pagtatakda ay ang normal na disenyo
Ang italaga ang pribilehiyadong gawain sa network sa isang serbisyo ay ang makatwirang arkitektura. Pinapanatili nitong walang pribilehiyo ang mga ordinaryong aplikasyon, at pinagsasama-sama nito ang mga operasyong nangangailangan ng pag-iingat. Nagbabayad lamang ang disenyo kapag sinusuri rin ng serbisyo kung sino ang humihiling at para saan. Kung wala ang pagsusuring iyon, isa lamang itong mas malawak na pinto.
Ang NetworkManager ang konkretong halimbawa sa Linux. Ipinapaliwanag ng gabay sa konfigurasyon nito kung paano awtorisahin ng PolicyKit ang mga hiling na hindi mula sa root sa default na setup. Ipinapakita niyon ang itinalagang awtorisasyon sa isang tunay na produkto. Hindi nito pinatutunayan na ginagamit ng bawat komersyal na kliyente ang NetworkManager, at hindi nito inilalarawan ang landas ng socket o patakaran ng anumang partikular na vendor.
Ang pattern ay pagtatakda na may patakaran sa likod nito. Ang halimbawa ay isang implementasyon ng pattern na iyon, hindi isang pangkalahatan.
Basahin ang hangganan, hindi ang hiling
Hanapin ang serbisyo, ang may-ari ng konfigurasyon nito at ang lokal na interface na ginagamit ng harap. Pagkatapos ay itanong kung aling mga user ang maaaring humiling ng aling mga operasyon. Ang kayang iangat at ibaba ang isang naka-save na profile ay hindi kaparehong pahintulot sa pag-load ng konfigurasyong hindi kailanman nirepaso ng operator. Ang pagkakaiba ang buong tanong sa seguridad.
Magsimula sa tagapamahala ng serbisyo at sa sariling pananaw ng kliyente sa mga pahintulot nito. Ipinapakita ng mga command sa ibaba kung tumatakbo ang daemon, kung ano ang maaaring hilingin ng tumatawag dito, at kung ano ang inilalantad ng daemon sa ilalim ng runtime directory nito.
systemctl status NetworkManager
nmcli general permissions
ls -l /run/NetworkManager
Itanong din kung ano ang naaapektuhan ng operasyon. Ang item sa menu na mukhang personal ay maaaring magbago ng mga ruta at DNS para sa buong makina, na nangangahulugang maaari nitong abalahin ang mga sesyon ng ibang user. Ang saklaw ng epekto ay kabilang sa parehong pagsusuri ng pahintulot, at karaniwang ito ang nagpapasya kung kailangan ng serbisyo ng mas makitid na tungkulin.
Ayusin ang mga pahintulot sa suportadong paraan
Ang gawing maisusulat ng lahat ang isang protektadong control socket, o ang magdagdag ng account sa isang malawak na administratibong grupo, ay nag-aalis ng isang error sa pahintulot at lumilikha ng mas malaki. Ang error ang tanging bagay na nagsasabi sa iyo na may hangganang iyon. Gamitin ang dokumentadong proseso ng pagiging miyembro o awtorisasyon, kasama ang session refresh na kailangan nito. Ang pagiging miyembro ng grupo ay kadalasang tumatakbo lamang sa mga bagong session ng pag-log in, kaya maaaring magmukhang walang ginagawa ang pagbabago hanggang sa susunod na pag-sign in.
Kung inilalantad ng produkto ang mas makitid na tungkulin para sa operasyon, piliin ito kaysa sa pangkalahatang pagbibigay. Isulat ang piniling tungkulin at ang may-ari nito sa tabi ng pangalan ng serbisyo.
Ano ang hitsura ng isang mahusay na paghahati
Nananatiling walang pribilehiyo ang mga ordinaryong aplikasyon, ginagawa lamang ng serbisyo ang setup na dinisenyo para dito, at sinusuri ang bawat tumatawag laban sa patakarang pagmamay-ari ng isang tao. Iyon ay isang maipagtatanggol na disenyo. Na-audit din ito, dahil may pangalang nakakabit sa patakaran. Ang anumang mas malaki ay karapat-dapat sa nakasulat na eksepsyon kaysa sa tahimik na pagbabago ng pahintulot.
Ang mode ng pagkabigo ay isang serbisyong gumaganap ng anumang hiling mula sa anumang lokal na user dahil maginhawa ang interface. Mula sa panig ng user ay magkapareho ang hitsura, at nagdadala ito ng mas malaking awtoridad. Subukan ang isang tinanggihang hiling, hindi lamang ang matagumpay. Ang pagtanggi na nagmumula sa patakaran ang ebidensya na umiiral ang patakaran.