He aha ka Shell i kaupalena ʻia a no ke aha he mea nui ka lele ʻana o nā hoʻouka kaua Shell
Hoʻohana ʻia nā pūpū i kaupalena ʻia e kāohi i nā kauoha a nā mea hoʻohana e hiki ai ke hoʻokō, e pale pinepine ana i nā hana e like me cd, e hoʻokuʻu ana i nā pūpū hou, a i ʻole e hoʻokuʻu aku i nā loli kaiapuni. Hoʻolaha pinepine ʻia lākou i loko CI/CD nā mea hana a i ʻole kūkulu i nā wahi e kaupalena ai i ka hana a ka mea hoʻohana. Eia nō naʻe, ke ʻimi nei nā mea hoʻouka i nā ala e hana ai i kahi pūpū lele, kahi ʻano hana i hoʻohana ʻia e pakele ai i nā wahi pūpū i kaupalena ʻia a loaʻa ke komo ʻana i nā pūpū i kaupalena ʻole ʻia e like me bin/bashI loko it, loaʻa i ka mea hoʻouka ka mana piha o ka laina kauoha, e pale ana i nā palena āpau o ke kaiapuni i kaupalena ʻia.
Pehea e hana ai ʻo Jumping Shell: Mai ka palena ʻia a i ka bin/bash
ʻO ka pahuhopu o kahi pūpū lele, ʻo ia ke hoʻohana i nā nāwaliwali i nā wahi i kaupalena ʻia a hoʻoulu i kahi pakele pūpū e alakaʻi ai i bin/bashʻO nā ʻano hana maʻamau no nā hoʻouka kaua pūpū i kaupalena ʻia e pakele ai:
$ ls /bin/bash $ /bin/bashIf bin/bash hiki ke loaʻa, hoʻopau kēia kāhea maʻalahi i ia.
ʻO kekahi ʻano hana maʻamau:
$ echo "/bin/bash" > run.sh $ sh run.sh Hiki i nā mea hoʻouka ke hoʻohana i nā mea hoʻoponopono e like me vi or emi:
vi :set shell=/bin/bash :shell Hōʻike kēia mau ʻano hana i ka maʻalahi o ka hiki ʻana o kahi pūpū lele i ke alakaʻi bin/bash ka hoʻokō ʻana, me ke kāpae ʻana i nā pale pūpū i kaupalena ʻia.
ʻO nā pilikia maoli o kēia mau hoʻouka kaua ma DevOps
Ma ke kaʻana like ʻia CI/CD nā wahi puni, hoʻohana ʻia nā pūpū i kaupalena ʻia e hoʻokaʻawale i nā kūkulu a hōʻemi i ka pilikia. Akā ke holomua ka mea hoʻouka me kahi pūpū lele a hiki i bin/bash, hiolo ke kumu hoʻohālike palekana.
Loaʻa nā pilikia:
- Ke komo ʻae ʻole ʻia i nā mea huna o ke kaiapuni
- Hoʻonui ʻia ke kuleana ma o ka palena ʻole bin/bash
- Ke hoʻopilikia nei i ke kūkulu ʻana pipelinenā mea hana a i ʻole nā mea hana lima
- Ka hoʻolaha ʻana o nā mea hana paʻa mau i loko o pipeline
Ua kaupalena ʻia ka pūpū pakele i bin/bash wehe i ka puka i ka hoʻokuʻu piha ʻana o ka ʻōnaehana, ʻo ia ka neʻe mua i kahi ākea Hoʻouka kaua DevSecOps.
Ke nānā ʻana a me ka ʻike ʻana i ka lele ʻana o ka Shell a me bin/bash Escapes
No ka ʻike ʻana i ke ʻano o ka lele ʻana o ka pūpū a me ke ālai ʻana i nā hoʻāʻo pūpū i kaupalena ʻia e pakele, pono nā hui palekana e:
- E hoʻopaʻa i nā hana āpau o ka pūpū, ʻoiai hoʻi / ʻōpala / bash hopena
- E nānā i ka hana ʻino a ka mea hoʻoponopono a me ka hoʻohana ʻana i ka palapala ma ke ʻano he mau vectors spawn shell
- E hahai i ke komo ʻana i nā faila hoʻonohonoho shell e like me .bashrc or .bash_profile
Nā ʻano hana e like me ka hoʻokuʻu ʻana bin/bash mai kahi kaiapuni i kaupalena ʻia e pono e manaʻo ʻia he mau makaʻala koʻikoʻi. ʻO ka ʻike mua ʻana iā ia hiki ke pale i ka neʻe ʻana o ka ʻaoʻao hohonu.
Ke pale ʻana i ka pakele ʻana i nā hoʻouka kaua a me nā hana hoʻohana i kaupalena ʻia
No ka hōʻemi ʻana i nā pilikia o ka lele ʻana o ka pūpū a pale i nā mea hoʻouka kaua mai ka hoʻokuʻu ʻana bin/bash:
- Hoʻopaʻakikī i nā pūpū i kaupalena ʻia: Wehe a ālai paha i ka ka hookipaia
- E hoʻohana iā AppArmor a i ʻole SELinux e kaupalena i ka hoʻokō ʻana o ke kauoha
- E hoʻokō i ka pono liʻiliʻi loa ma waena CI/CD nā kuleana a me nā mea holo
- Kūkulu ʻia ʻo Containerize me nā kiʻi distroless nele i nā pūpū e like me bin/bash
- E hōʻoia i nā wahi ma mua a ma hope o ke kūkulu ʻana e hopu i nā ʻano ʻē
ʻO ka pale ʻana i nā hiʻohiʻona pūpū i kaupalena ʻia e pakele ai e pono ai nā kaohi papa, ʻaʻole wale ka hilinaʻi ʻana i nā pūpū i kaupalena ʻia. Mai manaʻo he palekana nā pūpū i kaupalena ʻia inā bin/bash hiki ke hiki aku.
Hopena: ʻO nā Shell Escapes nā wahi komo
He papa pale nā pūpū i kaupalena ʻia, ʻaʻole he hōʻoia. Hoʻolālā nā hoʻouka pūpū lele i ka hoʻokaʻawale nāwaliwali a me ka hōʻoia maikaʻi ʻole. Ke komo i loko / ʻōpala / bash, hiki i nā mea hoʻouka ke pivot, hoʻomau, a hoʻopilikia i ka ʻoihana DevSecOps.
He mea nui ka ʻike ʻana a me ka hoʻokaʻawale ʻana. ʻO ka hoʻohui ʻana i ka hoʻopaʻa inoa kauoha, nā wahi i kaupalena ʻia, a me ka hoʻomaʻemaʻe pono ʻana o nā luna hoʻokele pūʻolo e hōʻemi ana i ka hōʻike ʻana.
ʻO ka mea hope loa, nā mea hana e like me ʻO Xygeni hāʻawi i ka ʻike i kēia mau pilikia. Kōkua lākou i ka hoʻokō ʻana i ka pono o ke code, ʻike i nā ʻano hana pūpū maʻamau ʻole, a e hoʻopaʻa i kāu pipelinemai nā hoʻoweliweli kūloko a me waho, me nā mea e hoʻomaka me kahi pūpū lele maʻalahi e / ʻōpala / bash a i ʻole e hoʻāʻo e pakele i nā wahi pūpū i kaupalena ʻia.






