chmod 777 - Linux-ի թույլտվություններ - հետին դռան հարձակում

Chmod 777-ը լուծում չէ. Ինչպես սխալ կարգավորված սկրիպտը դարձավ հետին դուռ

Կեռիկ։ Օրը Pipeline Կոտրված (Chmod 777)

Երբ խոսքը վերաբերում է CI/CD Անվտանգության առումով, քիչ սխալներ կարող են այնքան վտանգավոր լինել, որքան chmod 777-ը գործարկելը: Դրա չարաշահումը չեղյալ է հայտարարում Linux-ի թույլտվությունները, զրկում պաշտպանության միջոցներից և բացում է դուռը հնարավոր հետին դռան հարձակման համար: Այն սկսվում է այսպես՝ CI/CD pipeline կարմիր է, թիմը արգելափակված է, և տերմինալը թքում է սարսափելի բանը.

nginx

Թույլտվությունը մերժվել է

Հիմնական պատճառը գտնելու փոխարեն, մշակողը դիմում է միջուկային տարբերակին.

⚠️ Անապահով օրինակ՝ բոլորին տրամադրում է լիարժեք մուտքի իրավունք։ Չաշխատեցնել արտադրական ռեժիմում։
chmod 777 deploy.sh

Շինարարությունը դառնում է կանաչ։ Ճնշումը նվազում է։ Բոլորը վերադառնում են աշխատանքի։ Սակայն ֆոնին, այդ մեկ հրամանը շրջանցել է Linux-ի թույլտվությունների կողմից տրամադրվող բոլոր պաշտպանիչ միջոցները՝ նախապատրաստելով հետին դռան հարձակման համար, որը կարող է վտանգել ամբողջ համակարգը։

Chmod 777-ի իրական ազդեցությունը Linux-ի թույլտվությունների վրա

Linux-ի թույլտվությունները Unix-անման համակարգերում ֆայլային մակարդակի անվտանգության հիմքն են։ Դրանք սահմանում են, թե ով կարող է կարդալ, գրել կամ կատարել ֆայլը։ Յուրաքանչյուր ֆայլ ունի՝

  • Երեք տեսակի թույլտվություններկարդալ (ռ), գրել (w), և կատարել (x).
  • Երեք թույլտվության խմբերսեփականատեր, խումբ և այլն։

Երբ վազում ես chmod 777, դուք բոլոր երեք խմբերին տալիս եք կարդալու, գրելու և կատարելու թույլտվություններ: Դա համարժեք է ձեր տան բոլոր դռները բաց թողնելուն, ոչ միայն ընկերների, այլև անծանոթների և անցորդների համար:

Անվտանգ ցուցադրություն.

Մեկուսացված մշակողների մեքենաներում սա կարող է անվնաս թվալ։ Սակայն համատեղ կառուցման գործակալներում, կոնտեյներացված միջավայրերում կամ բազմաօգտատեր Linux համակարգերում, chmod 777 յուրաքանչյուր ֆայլ, որին դիպչում է, վերածում է կեղծման բաց հրավերի՝ կատարյալ միջավայր ստեղծելով հետին դռան հարձակման համար։

Հարձակման վեկտոր՝ chmod 777-ից մինչև Backdoor Attack

Ահա թե ինչպես է սինգլը chmod 777 կարող է վերածվել հետին դռան հարձակում:

  1. Մշակողը սահմանում է chmod 777 տեղակայման կամ կառուցման սկրիպտի վրա՝ թույլտվությունների սխալը շտկելու համար
  2. Ֆայլը դառնում է աշխարհում գրելու համար նախատեսված. ցանկացած օգտատեր կամ գործընթաց կարող է այն փոփոխել։
  3. Հարձակվողը վնասակար կոդ է տեղադրում սկրիպտի մեջ
  4.   CI/CD pipeline գործարկում է փոփոխված սկրիպտը՝ կատարելով հարձակվողի բեռը բարձրացված արտոնություններով

⚠️ Անապահով օրինակ՝ չաշխատեցնել արտադրության մեջ։ Այստեղ օգտագործվում է ռիսկային թույլտվությունները պատկերելու համար։
chmod 777 build.sh

Պարզ հարձակման հոսք.

Երբ սա հատկապես վտանգավոր է դառնում.

  • Համօգտագործվող կառուցման գործակալներ բազմաթիվ թիմերի կամ նախագծերի հետ
  • Հոսթի հատորների միացում Docker կամ Kubernetes փոդերում
  • Բաց կոդով պահոցներ որտեղ մասնակիցները կարող են փոփոխություններ մտցնել կամ միավորել

Այս շղթան մեկնարկելուց հետո, հետին դռան հարձակումը կարող է վերածվել արտադրության, արտահոսել մուտքի տվյալները, փոփոխել արտեֆակտները կամ բացել մշտական ​​մուտքի կետերը։

Ուսումնասիրություն. Հետին դռան հարձակում սխալ կարգավորված սկրիպտի միջոցով

Եկեք կրճատենք այն մինչև էականը.

  1. Մշակողը գործարկում է chmod 777 build.sh շրջանցել մի CI/CD սխալ
  2. Նույն միջավայրում գտնվող մեկ այլ օգտատեր կամ չարամիտ գործընթաց խմբագրում է սկրիպտը
  3.   pipeline կատարում է վնասված սկրիպտը CI/CD ծառայության հաշվի թույլտվություններ
  4. Եթե ​​այս գործընթացի ընթացքում թարմացվի խոցելի բաց կոդով փաթեթը, հետին դռան հարձակումը կարող է տարածվել արտադրության վրա։

Այսպես է chmod 777 գումարած Linux-ի թույլ թույլտվությունները կարող են հարձակվողներին ազատ մուտք գործել ձեր տեղակայման հոսք։

Ինչու են մշակողները դեռևս օգտագործում chmod 777-ը (և ինչու է այն ծուղակ)

Նույնիսկ փորձառու ծրագրավորողները ընկնում են այս թակարդը, քանի որ chmod 777 թվում է արագ լուծում, երբ՝

  • Արտեֆակտների փաթեթավորումը թույլտվության մերժման սխալներ է նետում
  • Shell սկրիպտները ձախողվում են Docker-ում, քանի որ դրանք կատարելի չեն։
  • Համատեղ հատորների գրանցամատյանների ֆայլերը հնարավոր չէ գրել։

Բայց ահա թե ինչն է գաղտնիքը. դուերգեցողություն chmod 777 անտեսում է հիմնական պատճառը, անտեսում է Linux-ի թույլտվությունների կառավարումը և խախտում է նվազագույն արտոնությունների սկզբունքը։ Խոչընդոտը վերացնելու փոխարեն, այն հրահրում է հետին դռան հարձակում։

Chmod 777-ի անվտանգ այլընտրանքներ

If chmod 777 միջուկային տարբերակն է, սրանք վիրաբուժական հարվածներն են՝

dockerfile լավագույն փորձը.

Dockerfile

GitHub գործողություններ օրինակ.

Սրանք պատշաճ կերպով կիրառում են Linux-ի թույլտվությունները՝ արգելափակելով չարտոնված փոփոխությունները և նվազեցնելով հետին հարձակման ռիսկը։

Ինչպես հայտնաբերել և կանխել chmod 777 սխալ կարգավորումները

Pre-commit փուլ

  • գնալ hooks մերժելու համար commitպարունակող chmod 777:

Կառուցման փուլ

  • ինտեգրել SAST անապահով հրամանները նշելու համար
  • Ձախողեք CI աշխատանքները, եթե գտնել հայտնաբերում է աշխարհում գրելու համար նախատեսված ֆայլերը

Գործողության փուլ

Սկանավորել գլոբալ գրելու հասանելիություն ունեցող ֆայլերը՝

Ցանկի գաղտնագրեր՝

Քաղաքականության կիրարկում

  • Օգտագործեք Policy-as-Code-ը՝ Linux-ի թույլատրելի թույլտվությունները սահմանելու համար
  • Ուղարկեք ծանուցումներ, նախքան ռիսկային տեղակայումները գործարկվեն

Երբ դուք ավտոմատացնում եք այս ստուգումները, դուք նվազեցնում եք դրա հավանականությունը chmod 777 երբևէ հասնի արտադրության, և դրա հետ մեկտեղ՝ նաև թաքուն հարձակման հավանականությունը։

DevSecOps և մշակույթ. chmod 777-ի կանխարգելումը սկզբնաղբյուրում

Անվտանգության ներկառուցում DevSecOps մշակույթ ավելի արդյունավետ է, քան այն հետագայում շտկելը։

  1. Քաղաքականություն-որպես-Կոդ՝ Linux-ի անվտանգ թույլտվությունները յուրաքանչյուրում կիրառելու համար pipeline
  2. Սկրիպտների վերանայումներ, որոնք ներառում են տեղակայման սկրիպտների թույլտվության ստուգումներ
  3. Անվտանգ ձևանմուշներ Docker-ի, Kubernetes-ի և CI/CD configs

Ուսուցում այն ​​մասին, թե ինչպես chmod 777 ստեղծում է վեկտոր հետին դռների հարձակումների համար։

Ինչո՞ւ chmod 777-ը երբեք լուծում չի հանդիսանում։

Chmod 777 կարճ ճանապարհ չէ, այլ ռիսկի բազմապատկիչ է։ Այն անտեսում է Linux-ի ուշադիր մշակված թույլտվությունները, հեռացնում է պաշտպանության միջոցները և ճանապարհ է հարթում դեպի հետին դռան հարձակում, որը կարող է վտանգել ձեր տվյալները։ CI/CD pipelineև արտադրական համակարգեր։

Լուծումը միայն հրամանների փոփոխությունը չէ. այն անվտանգ թույլտվությունների ընդունումն է, ստուգումների ավտոմատացումը և ձեր համակարգում ամենաքիչ արտոնությունների մտածողության ներդրումը։ DevSecOps գործընթաց. Գործիքներ, ինչպիսիք են Քսիգենի կարող է օգնել հայտնաբերել անապահով կոնֆիգուրացիաները և աշխարհում գրվող ֆայլերը, նախքան դրանք արտադրության մեջ հասնեն՝ ձեզ ապահովելով անվտանգության ցանց՝ առանց մատակարարումը դանդաղեցնելու։

sca-tools-software-composition-analysis-tools
Առաջնահերթություն տվեք, շտկեք և պաշտպանեք ձեր ծրագրային ռիսկերը
Ստացեք ձեր անվճար հաշիվը։
Ոչ մի վարկային քարտ չի պահանջվում:

Ապահովեք ձեր ծրագրային ապահովման մշակումը և մատակարարումը

Xygeni Product Suite-ի հետ