Qalikeke Sînorkirî Çi ye û Çima Êrîşên Qalikên Jumping Girîng in?
Qalikên sînorkirî ji bo kontrolkirina fermanên ku bikarhêner dikarin bicîh bînin têne bikar anîn, pir caran rê li ber çalakiyên wekî digirin cd, destpêkirina qalikên nû, an hinardekirina guherbarên jîngehê. Ew bi gelemperî di CI/CD ajan an jîngehan ava bikin da ku tevgera bikarhêner sînordar bikin. Lêbelê, êrîşkar li rêyan digerin ku qalikek bazdanê pêk bînin, rêbazek ku ji bo revîna ji hawîrdorên qalikên sînorkirî û gihîştina qalikên bê sînorkirî yên wekî tê bikar anîn. bin/bash. Carekê hundir it, êrîşkar xwediyê kontrola tevahî ya xeta fermanê ye, û hemû sînorkirinên jîngeha sînorkirî derbas dike.
Çawa Jumping Shell Dixebite: Ji Sînorkirî heta bin/bash
Armanca qalikeke bazdanê ew e ku ji qelsiyên di hawîrdorên sînorkirî de sûd werbigire û revîneke qalikê bide destpêkirin ku dibe sedema bin/bashTeknîkên hevpar ji bo revîna ji êrîşên guleyên sînorkirî ev in:
$ ls /bin/bash $ /bin/bashIf bin/bash gihîştî ye, ev vexwendina hêsan wê temam dike.
Methodeke din a gelemperî:
$ echo "/bin/bash" > run.sh $ sh run.sh Êrîşkar dikarin edîtorên mîna vi or kêmtir:
vi :set shell=/bin/bash :shell Ev rêbaz nîşan didin ka qalikek bazdanê çiqas bi hêsanî dikare bibe sedema bin/bash bicîhanîn, bi bandor ji parastinên qalikê yên sînorkirî derbas dibe.
Rîskên Rastîn ên Van Êrîşan di DevOps de
Di parvekirinê de CI/CD jîngehên, qalikên sînorkirî ji bo îzolekirina avahiyan û kêmkirina xetereyê têne bikar anîn. Lê gava ku êrîşkarek bi qalikek bazdanê biserkeve û bigihîje bin/bash, modela ewlehiyê hilweşe.
Rîsk ev in:
- Gihiştina bê destûr bo sirên jîngehê
- Zêdekirina îmtiyazê bi rêya bêsînor bin/bash
- Destwerdana avakirinê pipelinean jî berhemên dîrokî
- Bicîhkirina amûrên domdar di nav de pipeline
Revîna qalikê bi sînor ve sînordar kir bin/bash derî vedike ji bo tawîzdayîna tevahî ya pergalê, ku pir caran gava yekem di rêyek berfirehtir de ye. Êrîşa DevSecOps.
Çavdêrîkirin û Tesbîtkirina Jumping Shell û bin/bash escapes
Ji bo tesbîtkirina reftara guleyên bazdanê û astengkirina hewldanên guleyên bi revê sînordar, tîmên ewlehiyê divê:
- Hemû çalakiyên shellê tomar bike, bi taybetî / bin / bash birêverbirî
- Şopandina îstismara edîtor û karanîna skrîptê wekî vektorên spawn ên shell
- Gihîştina pelên mîhengê yên shellê bişopînin mîna .BASHRC or .bash_profile
Şêwazên tevgerî yên wekî destpêkirinê bin/bash ji hawîrdorek sînorkirî divê wekî hişyariyên bi pêşanîya bilind werin hesibandin. Zû tespîtkirina wê dikare tevgera alî ya kûrtir asteng bike.
Pêşîgirtina li Êrîşên Çîkolata Sînorkirî û Îstismara Revê
Ji bo kêmkirina xetereyên guleyên avêtinê û pêşîgirtina li êrîşkaran ji avêtinê bin/bash:
- Qalikên sînorkirî hişk bikin: Rakirin an astengkirin navketin
- Ji bo sînordarkirina bicihanîna fermanan AppArmor an SELinux bikar bînin
- Îmtiyaza herî kêm li seranserê bicîh bîne CI/CD rol û bezvan
- Avakirina bi wêneyên bê belavok ên ku qalikên wan tune ne di konteynir bike bin/bash
- Jîngehên berî û piştî avakirinan piştrast bikin da ku anomalîyan bigirin
Pêşîlêgirtina senaryoyên qalikên sînorkirî yên revê kontrolên qat qat hewce dike, ne tenê xwe dispêrin qalikên sînorkirî. Ger qalikên sînorkirî ewle bin, texmîn nekin ku bin/bash tewra bi potansiyelî jî gihîştî ye.
Encam: Revînên Qalikê Xalên Ketinê ne
Qalikên sînorkirî qatek parastinê ne, ne garantî ne. Êrîşên qalikên bazdanê îzolasyona qels û pejirandina nebaş hedef digirin. Dema ku hûn di hundur de ne / bin / bash, êrîşkar dikarin binesaziya DevSecOps bizivirin, berdewam bikin, û wê bixin xeterê.
Tesbîtkirin û îzolekirin pir girîng in. Têkelkirina tomarkirina fermanan, jîngehên sînorkirî, û paqijkirina rast a rêveberên pakêtan eşkerebûnê kêm dike.
Di dawiyê de, amûrên wekî Xygeni dîtina van xetereyan pêşkêş dikin. Ew dibin alîkar ku yekparçeyiya kodê were bicîhanîn, tevgerên neasayî yên qalikê werin tespîtkirin, û xwe ewle bikin pipelines ji gefên navxweyî û derveyî, tevî yên ku bi qalikek bazdanê ya hêsan dest pê dikin ber bi / bin / bash an jî hewl dide ku ji hawîrdorên qalikê yên sînorkirî bireve.






