OpenConnect csd-wrapper: baadh script-ka ka hor gelitaanka
U qaado --csd-wrapper sidii xad fulinta koodhka: baadh script-ka, dooro isticmaale csd gaar ah, oo xaqiiji waxa gateway-ga dhab ahaan arko.
Ku darista --csd-wrapper profile-ka waxay script maxalli ah u dhiibtaa daemon-ka gelitaanka intiisa fuliya, sidaas darteed go’aanka hortaada waa dib-u-eegis koodh, ma aha badhan doorasho. Xulashadu waxay u jirtaa si qaybta hubinta martigeliyaha ee gateway-ga loo beddeli karo, waxayna qaadataa waddo script aad adigu bixiso. Wax kasta oo hoos yaalla waxay u malaynayaan in milkiilaha deploy-gu uu hore u sheegay baaritaanka istaagga ee loo baahan yahay; haddii qaybtaas weli furan tahay, marka hore xalli. Tilmaamuhu wuxuu leeyahay afar tallaabo: hel marxaladda guuldaraysatay, akhri script-ka, dooro aqoonsiga uu ku shaqeeyo, oo caddee natiijada.
Tallaabo 1: Hel marxaladda guuldaraysatay
Fariinta ugu dambaysa ee macmiilka badanaa waxay ku saabsan tahay cookie, taas oo ah dhammaadka silsilad oo aan ahayn bilowgeeda. Gelitaan HTTPS, hubin shahaadada server-ka, is-dhaafsiga aqoonsiga iyo qaybta istaagga dhammaantood waxay hor yaallaan fariintaas.
Qor nooca iyo cinwaanka gelitaanka ee la isticmaalayo, kadib ku celi isku dayga adigoo soo-saarka faahfaahsan ku haysta terminal-kaaga. Akhri khaladka ugu horreeya ee aan ahayn isku-day cusub, ma aha sadarka ugu dambeeya ee qoraalka. Haddii log-ku istaago ka hor inta aan la magacaabin qayb kasta oo qiimeyn ah, duubistu weli ma aha dhibaatadaada. Ku darista markaas waxay kaliya ballaadhisaa dusha ay tahay inaad dammaanad qaaddo mar dambe.
openconnect --version
openconnect --verbose --user="$VPN_USER" vpn.example.com </dev/nullQoraalka ku hay gudaha, sababtoo ah cookies-ka iyo jawaabaha aqoonsiga waa maaddo gelitaan. Raad lagu dhejiyay wada-hadal waa daadinta aqoonsiga xitaa marka tallaabada qiimeynta ay u muuqato mid aan waxyeello lahayn. La wadaag qoraalka khaladka iyo barta socodka uu ku muuqday, marnaba culeyska.
Tallaabo 2: Akhri script-ka ka hor inta uusan profile gelin
Duubistu waxay la aamini karta oo kaliya inta la eg dib-u-eegista aad baadhay, marka xidh dib-u-eegistaas oo kaydi hash-keeda agteeda qoraalka oggolaanshaha. Laba amarrood oo hoos yaalla waxay ku siinayaan far-tilmaame iyo hubin naxwe oo jaban ka hor inta aadan akhrin hal sadar. Waxay sidoo kale qofka xiga siinayaan tixraac go’an, taas oo muhiim ah marka faylku ka baxsan yahay maaraynta xirmooyinka. Midkoodna ma sheegto waxa script-ku qabto, marka fuli oo sii wad akhriska.
sha256sum ./vpn-csd-wrapper.sh
bash -n ./vpn-csd-wrapper.shAkhri faylka oo dhan adigoo afar su’aal maskaxda ku haysta: miyuu sameeyaa wicitaanno HTTP baxsan, miyuu akhriyaa faylalka aqoonsiga ama doorsoomayaasha deegaanka, miyuu wax ku qoraa meel ka baxsan galka ku-meel-gaarka ah, oo laan kastaa miyay soo sheegtaa istaag la gudbay iyada oo aan waxba la cabbirin. Qaabkaas ugu dambeeya waa gudub siyaasadeed oo leh sadar log ku lifaaqan. Duubisaska la koobiyeeyay waxay inta badan ku qariyaan hubin u eg mid lagu kalsoonaan karo. Haddii script-ku go’aansado in qalabku wanaagsan yahay ka hor inta uusan qalabka fiirin, halkaas joog.
Sidoo kale hubi culaysyada la xidhxidhay, sababtoo ah madaxa la akhrin karo waxba kama caddeeyo qaybta kale ee faylka. Soo dejinta script-ka shirka doodda kama dhigto mid lagu kalsoonaan karo kaliya sababtoo ah magaciisu wuxuu la mid yahay qayb dhab ah oo hubinta martigeliyaha. Qor yaa rakibay, halkee ka yimid, iyo sida loo cusboonaysiin doono.
grep -nE 'base64 -d|xxd -r|eval |curl |wget ' ./vpn-csd-wrapper.shTallaabo 3: Dooro aqoonsiga uu duubistu ku shaqeeyo
--csd-user wuxuu hoos u dhigaa mudnaanta inta barnaamijka CSD, TNCC ama HIP fulinayo. Koontadaas waa qayb ka mid ah habaynta fulinta gudaha, ma aha magaca isticmaalaha gateway-ga loo gudbiyo.
Siin duubista koonto gaar ah oo aan lahayn shell is-dhexgal, aan lahayn xuquuqda sudo iyo aan lahayn xubinimo kooxo aan loo baahnayn. Siin gelitaan akhris oo script-ka iyo faylalka gaarka ah ee uu baadho, kadib tijaabi hoos-u-dhigga ka hor inta aadan taaban profile-ka VPN. Dhibaatada halkan ka helidda way ka jaban tahay tan macmiilka gudihiisa.
sudo -u vpn-csd /usr/local/libexec/vpn-csd-wrapper.shHoos u dhigista mudnaanta waxay xaddidaa waxyeellada script xun u geysan karo. Si kastaba ha ahaatee ma dib-u-eegto koodhka, ma ka dhigto warbixinta run, mana caddeeyo in maamulaha gateway-ga uu aqbalo fulintan oo buuxinaysa siyaasadda qalabka.
Tallaabo 4: Hayso isbeddelka mid dib loo celin karo
Ka samee profile-ka nuqul kayd ah ka hor inta aadan tafatirin, oo duubista ku hay kontoroolka nooca si dib-u-celintu u soo celiso hash la yaqaan halkii ay nuqul ka raadin lahayd. Qor waddada script-ka, hash-ka, isticmaalaha fulinta iyo oggolaanaha hal meel.
Si dib loo celiyo, ka saar xulashada, dib u bilow macmiilka oo xaqiiji in khaladkii asalka ahaa soo noqday. Haddii gateway-gu weli diido gelitaanka dib-u-celinta kadib, wax kale ayaa isna isbeddelay, oo helidda farqigaas waxay ka hor timaaddaa isku-day cusub oo duubista. Hayso nuqullkii hore inta lagu jiro daaqadda isbeddelka oo dhan, taas oo badi kooxaha ka dhigan tahay ilaa daaqadda dayactirka xigta ay dhaqaaqdo.
Kadib deploy guul leh, hubi laba shay halkii mid: tunnel-ku wuu soo baxaa, iyo qalabka ay tahay inuu ku guuldaraysto hubinta istaagga wali waa la diidayaa. Xiriir qof walba u shaqeeya ma aha caddayn in qiimeyntu ka badbaaday isbeddelkaaga.
Waddooyin gaagaaban oo abuura dhibaato labaad
Ha u oggolaan caawiyaha inuu soo sheego xaalad waafaqsan isagoo aan fulin hubinnada loo baahan yahay, oo ha ka sarraysiin aqoonsiga platform-ka si uu ugu habboonaado nidaam kale oo hawleed. Sheegashada platform kale ma aha caddayn in qalabka dhabta ahi buuxiyo siyaasadda. Waxay kaa tagtaa macmiil been sheega gelitaan kasta oo mustaqbalka ah.
Dami hubsinta server-ka, dib-u-ciyaarista cookie duug ah iyo is-ururinta script-yo aan la baadhin dhammaantood waxay beddelaan guuldarro muuqata mid aan muuqan. Haddii macmiilka rakiban uusan dhammaystiri karin socodka la taageeray, weydiiso beddel la oggolaaday halkii aad ka laaban lahayd tan aad haysato.
Buugga OpenConnect wuxuu si gooni ah u qorayaa --csd-wrapper iyo --csd-user, taasna waa tilmaanta muhiimka ah: script-ka iyo aqoonsigu waa laba go’aan. Si gooni ah u baadh oo qor labadaba. Markaas codsiga gelitaanku ma aha halxiraale aad ku xalliso dhejinta koodh.