Fífi --csd-wrapper kún profáìlì ń fi script àdúgbò fún daemon tí ń ṣe é nígbà ìwọlé, nítorí náà ìpinnu tó wà níwájú rẹ ni àyẹ̀wò kóòdù, kì í ṣe pátákó ààyò. Àṣàyàn náà wà kí a lè rọ́pò ẹ̀ka ìṣàyẹ̀wò agbàlejò ti ẹnubodè, ó sì ń gba ọ̀nà sí script tí ìwọ fúnni. Gbogbo ohun tó wà nísàlẹ̀ ro pé olùní ilé-iṣẹ́ náà ti sọ irú ìṣàyẹ̀wò ìdúró tó yẹ; bí apá yẹn bá ṣì ṣí, parí rẹ̀ kọ́kọ́. Ìtọ́sọ́nà náà ní ìgbésẹ̀ mẹ́rin: wá ìpele tó kùnà, ka script náà, yan ìdánimọ̀ tí ó ń ṣiṣẹ́ lábẹ́ rẹ̀, kí o sì fi èsì hàn.

Ìgbésẹ̀ 1: Wá ìpele tó kùnà

Ìfiránṣẹ́ ìkẹyìn ti oníbàárà sábà máa ń sọ nípa cookie, èyí tó jẹ́ òpin ẹ̀wọ̀n, kì í ṣe ìbẹ̀rẹ̀. Ìwọlé HTTPS, ìṣàyẹ̀wò ẹ̀rí olùpèsè, pàṣípààrọ̀ ìjẹ́rìí àti ẹ̀ka ìdúró gbogbo wọn dúró níwájú ìfiránṣẹ́ yẹn.

Kọ ẹ̀yà àti àdírẹ́sì ìwọlé tó ń ṣiṣẹ́ sílẹ̀, lẹ́yìn náà tún ìgbìyànjú náà ṣe pẹ̀lú ìjáde alá̀làyé tí o tọ́jú sórí terminal rẹ. Ka àṣìṣe àkọ́kọ́ tí kì í ṣe ìgbìyànjú àtúnṣe, kì í ṣe ìlà ìkẹyìn inú àkọsílẹ̀. Bí àkọsílẹ̀ bá dúró kí a tó dárúkọ ẹ̀ka ìgbéléwọ̀n kankan, ìbò náà kò tí ì jẹ́ ìṣòro rẹ. Fífi í kún ní àkókò yẹn ń gbòòrò ojú tí ìwọ yóò máa gbèjà ko lẹ́yìn.

openconnect --version
openconnect --verbose --user="$VPN_USER" vpn.example.com </dev/null

Tọ́jú àkọsílẹ̀ ní àdúgbò, nítorí cookie àti ìdáhùn ìjẹ́rìí jẹ́ ohun èlò ìwọlé. Àmì tí a lẹ̀ sínú ìjíròrò jẹ́ ìjákulẹ̀ ẹ̀rí ìwọlé pàápàá nígbà tí ìgbésẹ̀ ìgbéléwọ̀n bá dà bí aláìléwu. Pín ọ̀rọ̀ àṣìṣe náà àti ibi nínú ìṣàn tí ó ti farahàn, kì í ṣe ẹrù náà láé.

Ìgbésẹ̀ 2: Ka script náà kí ó tó wọ profáìlì

Ìbò náà gbára lé ẹ̀yà tí o yẹ̀wò, nítorí náà pinnu ẹ̀yà yẹn kí o sì tọ́jú hash rẹ̀ lẹ́gbẹ̀ẹ́ àkọsílẹ̀ ìfọwọ́sí. Àwọn àṣẹ méjì nísàlẹ̀ fún ọ ní àmì ìka àti ìṣàyẹ̀wò ìtòlẹ́sẹẹsẹ tó pọ́n lẹ́yìn kí o tó ka ìlà kan. Wọ́n tún fún ẹni tó kàn ní ìtọ́kasí tó dúró ṣinṣin, èyí tó ṣe pàtàkì nígbà tí fáìlì náà wà ní òde ìṣàkóso àpò. Kò sí àṣẹ kankan tó sọ ohun tí script náà ń ṣe, nítorí náà ṣe wọ́n kí o sì máa ka síwájú.

sha256sum ./vpn-csd-wrapper.sh
bash -n ./vpn-csd-wrapper.sh

Ka gbogbo fáìlì náà pẹ̀lú ìbéèrè mẹ́rin lọ́kàn: ṣé ó ń ṣe ìpè HTTP jáde, ṣé ó ń ka fáìlì ẹ̀rí tàbí àwọn oníyípadà àyíká, ṣé ó ń kọ sí òde àpò àkókò, àti ṣé ẹ̀ka kankan ń ròyìn ìdúró tó kọjá láìsí ìwọ̀n kankan. Àpẹẹrẹ ìkẹyìn yẹn jẹ́ ìforíkun ìlànà pẹ̀lú ìlà àkọsílẹ̀ tí a so mọ́. Àwọn ìbò tí a dà kọ́ máa ń fi í pamọ́ sẹ́yìn ìṣàyẹ̀wò tó dà bí olóye. Bí script náà bá pinnu pé ẹ̀rọ náà dára kí ó tó wo ẹ̀rọ náà, dúró níbẹ̀.

Ṣàyẹ̀wò àwọn ẹrù tí a kó sínú àpò pẹ̀lú, nítorí àkọlé tó lè kà kò fi ohunkóhun hàn nípa ìyókù fáìlì náà. Fífi script gba láti orí ìjíròrò fọ́ọ̀mù kò jẹ́ kí ó di aláìléwu kìkì nítorí orúkọ rẹ̀ dà bí ẹ̀ka ìṣàyẹ̀wò agbàlejò gidi. Kọ ẹni tó fi í sílẹ̀, ibi tí ó ti wá àti bí a ó ṣe mú un tuntun.

grep -nE 'base64 -d|xxd -r|eval |curl |wget ' ./vpn-csd-wrapper.sh

Ìgbésẹ̀ 3: Yan ìdánimọ̀ tí ìbò náà ń ṣiṣẹ́ lábẹ́ rẹ̀

--csd-user ń dín àwọn ẹ̀tọ́ kù nígbà tí ètò CSD, TNCC tàbí HIP ń ṣiṣẹ́. Àkọsílẹ̀ yẹn jẹ́ apá kan ìṣètò ìmúṣẹ àdúgbò, kì í ṣe orúkọ olùlò tí a fi ránṣẹ́ sí ẹnubodè.

Fún ìbò náà ní àkọsílẹ̀ ọ̀tọ̀ láìsí shell ìbáraẹnisọ̀rọ̀, láìsí ẹ̀tọ́ sudo àti láìsí ìdíje ẹgbẹ́ tí kò nílò. Fún ní àǹfààní kíkà sí script náà àti àwọn fáìlì pàtó tí ó ń ṣàyẹ̀wò, lẹ́yìn náà dán ìdín ẹ̀tọ́ náà wò kí o tó fọwọ́ kan profáìlì VPN. Wíwá ìṣòro níbí pọ́n ju wíwá rẹ̀ nínú oníbàárà.

sudo -u vpn-csd /usr/local/libexec/vpn-csd-wrapper.sh

Ìdín ẹ̀tọ́ kù ń dín ìpalára tí script búburú lè fa kù. Ṣùgbọ́n kò ṣàyẹ̀wò kóòdù náà, kò mú kí ìròyìn di òtítọ́, kò sì fi hàn pé alábòjútó ẹnubodè gba ìmúṣẹ yìí gẹ́gẹ́ bí ìtẹ́lọ́rùn ìlànà ẹ̀rọ.

Ìgbésẹ̀ 4: Jẹ́ kí ìyípadà náà lè yí padà

Ṣe ẹ̀dà ààbò profáìlì kí o tó ṣàtúnṣe rẹ̀, kí o sì tọ́jú ìbò náà lábẹ́ ìṣàkóso ẹ̀yà kí ìdápadà lè mú hash tí a mọ̀ padà dípò wíwá ẹ̀dà. Kọ ọ̀nà script, hash, olùlò ìmúṣẹ àti olùfọwọ́sí sí ibi kan.

Láti yí padà, yọ àṣàyàn náà kúrò, tún oníbàárà ṣe, kí o sì jẹ́rìí pé àṣìṣe àkọ́kọ́ padà. Bí ẹnubodè bá ṣì kọ ìwọlé nígbà tí a yí padà, ohun mìíràn ti yípadà pẹ̀lú, àti wíwá ìyàtọ̀ yẹn wá kí a tó tún ìbò náà dán wò. Tọ́jú ẹ̀dà àtẹ̀yìn ní gbogbo àkókò ìyípadà náà, èyí tó túmọ̀ sí fún ọ̀pọ̀ ẹgbẹ́ pé kí àkókò ìtọ́jú tó kàn kọjá.

Lẹ́yìn ìmúṣẹ tó yọrísírere, ṣàyẹ̀wò ohun méjì dípò ọ̀kan: ọ̀nà ipamọ̀ ń gòkè, àti ẹ̀rọ tó yẹ kí ó kùnà nínú ìṣàyẹ̀wò ìdúró ṣì ń kọ̀. Asopọ̀ tó ń ṣiṣẹ́ fún gbogbo ènìyàn kì í ṣe ẹ̀rí pé ìgbéléwọ̀n náà là á já nípasẹ̀ ìyípadà rẹ.

Àwọn ọ̀nà kúkúrú tó ń dá ìṣòro kejì

Má jẹ́ kí olùrànlọ́wọ́ ròyìn ipò ìbámu láìṣe àwọn ìṣàyẹ̀wò tí ó yẹ, kí o sì má ṣe gbá ìdánimọ̀ pẹpẹ kan láti bá ètò ìṣàkóso mìíràn mu. Wíwí pé pẹpẹ mìíràn ni kì í ṣe ẹ̀rí pé ẹ̀rọ gidi ń tẹ́ ìlànà lọ́rùn. Ó fi oníbàárà tó ń parọ́ ní gbogbo ìwọlé tó ń bọ̀ sílẹ̀ fún ọ.

Pípa ìjẹ́rìí olùpèsè dé, àtúnṣe cookie àtijọ́ àti ṣíṣe àwọn script tí a kò yẹ̀wò pọ̀ náà ń pààrọ̀ ìkùnà tí a rí pẹ̀lú èyí tí a kò rí. Bí oníbàárà tí a fi sínú ẹ̀rọ kò bá lè parí ìṣàn tí a ṣètìlẹ́yìn fún, béèrè àṣàyàn mìíràn tí a fọwọ́sí dípò títẹ ìtẹ́lọ́rùn tí o ní.

Ìwé ìtọ́sọ́nà OpenConnect ń ṣàkọsílẹ̀ --csd-wrapper àti --csd-user lọ́tọ̀ọ̀tọ̀, àti pé ni ìtọ́ka tó ṣe pàtàkì: script àti ìdánimọ̀ jẹ́ ìpinnu méjì. Ṣàyẹ̀wò wọ́n lọ́tọ̀ọ̀tọ̀ kí o sì kọ àwọn méjèèjì. Nígbà náà ìtọ́ni ìwọlé kò ní jẹ́ àdììtú tí o ń yanjú nípasẹ̀ fífi kóòdù lẹ̀ mọ́.

Àwọn àpilẹ̀kọ tó jọra