chmod 777 - ലിനക്സ് അനുമതികൾ - ബാക്ക്ഡോർ ആക്രമണം

Chmod 777 ഒരു പരിഹാരമല്ല: തെറ്റായി ക്രമീകരിച്ച ഒരു സ്ക്രിപ്റ്റ് എങ്ങനെയാണ് ഒരു ബാക്ക്ഡോർ ആയി മാറിയത്

ഉള്ളടക്ക പട്ടിക

നിർബന്ധമായും വായിക്കേണ്ട പോസ്റ്റുകൾ

ഹുക്ക്: ദി ഡേ ദി Pipeline ബ്രോക്ക് (Chmod 777)

അത് വരുമ്പോൾ CI/CD സുരക്ഷയെ സംബന്ധിച്ചിടത്തോളം, chmod 777 പ്രവർത്തിപ്പിക്കുന്നത് പോലെ അപകടകരമാകുന്ന ചില തെറ്റുകൾ മാത്രമേയുള്ളൂ. ഇത് ദുരുപയോഗം ചെയ്യുന്നത് Linux അനുമതികളെ അസാധുവാക്കുകയും സുരക്ഷാ സംവിധാനങ്ങൾ ഇല്ലാതാക്കുകയും ഒരു ബാക്ക്ഡോർ ആക്രമണത്തിന് വാതിൽ തുറക്കുകയും ചെയ്യുന്നു. അത് ഇങ്ങനെയാണ് തുടങ്ങുന്നത്: CI/CD pipeline ചുവപ്പാണ്, ടീം ബ്ലോക്ക് ചെയ്‌തിരിക്കുന്നു, ടെർമിനൽ ഭയങ്കരരെ തുപ്പുന്നു:

nginx

അനുമതി നിഷേധിച്ചു

മൂലകാരണം കണ്ടെത്തുന്നതിനുപകരം, ഒരു ഡെവലപ്പർ ആണവ ഓപ്ഷനിലേക്ക് എത്തുന്നു:

				
					bash
chmod 777 deploy.sh

				
			

⚠️ സുരക്ഷിതമല്ലാത്ത ഉദാഹരണം: എല്ലാവർക്കും പൂർണ്ണ ആക്‌സസ് നൽകുന്നു. പ്രൊഡക്ഷനിൽ പ്രവർത്തിപ്പിക്കരുത്.
chmod 777 deploy.sh

നിർമ്മാണം പച്ചപ്പിലേക്ക് നീങ്ങുന്നു. സമ്മർദ്ദം കുറയുന്നു. എല്ലാവരും ജോലിയിലേക്ക് മടങ്ങുന്നു. എന്നാൽ പശ്ചാത്തലത്തിൽ, ആ ഒരു കമാൻഡ് ലിനക്സ് അനുമതികൾ നൽകുന്ന എല്ലാ സുരക്ഷാ സംവിധാനങ്ങളെയും മറികടന്നിരിക്കുന്നു, ഇത് മുഴുവൻ സിസ്റ്റത്തെയും അപകടത്തിലാക്കുന്ന ഒരു പിൻവാതിൽ ആക്രമണത്തിന് വേദിയൊരുക്കുന്നു.

ലിനക്സ് അനുമതികളിൽ chmod 777 ന്റെ യഥാർത്ഥ സ്വാധീനം

യുണിക്സ് പോലുള്ള സിസ്റ്റങ്ങളിലെ ഫയൽ-ലെവൽ സുരക്ഷയുടെ അടിത്തറയാണ് ലിനക്സ് അനുമതികൾ. ആർക്കൊക്കെ ഒരു ഫയൽ വായിക്കാനോ എഴുതാനോ എക്സിക്യൂട്ട് ചെയ്യാനോ കഴിയുമെന്ന് അവ നിർവചിക്കുന്നു. ഓരോ ഫയലിനും ഇവയുണ്ട്:

  • മൂന്ന് അനുമതി തരങ്ങൾ: വായിച്ചു (r), എഴുതുക (ഇൻ), എക്സിക്യൂട്ട് ചെയ്യുക (x).
  • മൂന്ന് അനുമതി ഗ്രൂപ്പുകൾ: ഉടമ, ഗ്രൂപ്പ്, മറ്റുള്ളവർ.

നീ ഓടുമ്പോൾ chmod 777, നിങ്ങൾ മൂന്ന് ഗ്രൂപ്പുകൾക്കും വായിക്കാനും എഴുതാനും നടപ്പിലാക്കാനുമുള്ള അനുമതികൾ നൽകുന്നു. സുഹൃത്തുക്കൾക്ക് മാത്രമല്ല, അപരിചിതർക്കും കടന്നുപോകുന്ന ആർക്കും നിങ്ങളുടെ വീട്ടിലെ എല്ലാ വാതിലുകളും തുറന്നിടുന്നതിന് തുല്യമാണിത്.

സുരക്ഷിതമായ പ്രകടനം:

				
					bash
# Everyone can read, write, and execute this file
chmod 777 deploy.sh

				
			

ഒറ്റപ്പെട്ട ഡെവലപ്‌മെന്റ് മെഷീനുകളിൽ, ഇത് നിരുപദ്രവകരമാണെന്ന് തോന്നിയേക്കാം. എന്നാൽ പങ്കിട്ട ബിൽഡ് ഏജന്റുകൾ, കണ്ടെയ്‌നറൈസ്ഡ് എൻവയോൺമെന്റുകൾ അല്ലെങ്കിൽ മൾട്ടി-യൂസർ ലിനക്സ് സിസ്റ്റങ്ങളിൽ, chmod 777 തൊടുന്ന ഓരോ ഫയലിനെയും കൃത്രിമത്വത്തിനുള്ള തുറന്ന ക്ഷണമാക്കി മാറ്റുന്നു, ഒരു പിൻവാതിൽ ആക്രമണത്തിനുള്ള തികഞ്ഞ സജ്ജീകരണമാണിത്.

അറ്റാക്ക് വെക്റ്റർ: chmod 777 മുതൽ ബാക്ക്ഡോർ അറ്റാക്ക് വരെ

ഒരു സിംഗിൾ എങ്ങനെയെന്ന് ഇതാ chmod 777 ഒരു പിൻവാതിലായി മാറാൻ കഴിയും ആക്രമണം:

  1. ഒരു ഡെവലപ്പർ സെറ്റുകൾ chmod 777 അനുമതി പിശക് പരിഹരിക്കുന്നതിനുള്ള ഒരു വിന്യാസത്തിലോ ബിൽഡ് സ്ക്രിപ്റ്റിലോ
  2. ഫയൽ വേൾഡ്-റൈറ്റബിൾ ആയി മാറുന്നു; ഏതൊരു ഉപയോക്താവിനോ പ്രക്രിയയ്‌ക്കോ അതിൽ മാറ്റം വരുത്താൻ കഴിയും.
  3. ഒരു ആക്രമണകാരി സ്ക്രിപ്റ്റിലേക്ക് ക്ഷുദ്ര കോഡ് ചേർക്കുന്നു
  4. ദി CI/CD pipeline മാറ്റം വരുത്തിയ സ്ക്രിപ്റ്റ് പ്രവർത്തിപ്പിക്കുന്നു, ഉയർന്ന പ്രിവിലേജുകളോടെ ആക്രമണകാരിയുടെ പേലോഡ് നടപ്പിലാക്കുന്നു.

⚠️ സുരക്ഷിതമല്ലാത്ത ഉദാഹരണം: പ്രൊഡക്ഷനിൽ പ്രവർത്തിക്കരുത്. അപകടകരമായ അനുമതികൾ ചിത്രീകരിക്കാൻ ഇവിടെ ഉപയോഗിച്ചു.
chmod 777 build.sh

ലളിതമായ ആക്രമണ പ്രവാഹം:

				
					bash

chmod 777 build.sh
      ↓
Attacker edits script
      ↓
CI/CD executes modified script
      ↓
Malicious code runs in build or production

				
			

ഇത് പ്രത്യേകിച്ച് അപകടകരമാകുന്നിടത്ത്:

  • പങ്കിട്ട ബിൽഡ് ഏജന്റുകൾ ഒന്നിലധികം ടീമുകളോ പ്രോജക്റ്റുകളോ ഉപയോഗിച്ച്
  • ഹോസ്റ്റ് വോള്യങ്ങൾ മൗണ്ട് ചെയ്യുക ഡോക്കർ അല്ലെങ്കിൽ കുബർനെറ്റസ് പോഡുകളിൽ
  • ഓപ്പൺ സോഴ്‌സ് റിപ്പോസിറ്ററികൾ സംഭാവകർക്ക് മാറ്റങ്ങൾ പുഷ് ചെയ്യാനോ ലയിപ്പിക്കാനോ കഴിയുന്നിടത്ത്

ഈ ശൃംഖല ആരംഭിച്ചുകഴിഞ്ഞാൽ, ഒരു ബാക്ക്‌ഡോർ ആക്രമണത്തിന് ഉൽ‌പാദനത്തിലേക്ക് തിരിയാനോ, ക്രെഡൻഷ്യലുകൾ ചോർത്താനോ, ആർട്ടിഫാക്റ്റുകൾ മാറ്റാനോ, സ്ഥിരമായ ആക്‌സസ് പോയിന്റുകൾ തുറക്കാനോ കഴിയും.

കേസ് പഠനം: തെറ്റായി കോൺഫിഗർ ചെയ്‌ത സ്ക്രിപ്റ്റ് വഴിയുള്ള പിൻവാതിൽ ആക്രമണം

നമുക്ക് അത്യാവശ്യങ്ങളിലേക്ക് ചുരുക്കാം:

  1. ഡെവലപ്പർ പ്രവർത്തിക്കുന്നു chmod 777 build.sh മറികടക്കാൻ a CI/CD പിശക്
  2. അതേ പരിതസ്ഥിതിയിലുള്ള മറ്റൊരു ഉപയോക്താവോ ക്ഷുദ്ര പ്രക്രിയയോ സ്ക്രിപ്റ്റ് എഡിറ്റ് ചെയ്യുന്നു.
  3. ദി pipeline ഉപയോഗിച്ച് അപഹരിക്കപ്പെട്ട സ്ക്രിപ്റ്റ് എക്സിക്യൂട്ട് ചെയ്യുന്നു CI/CD സേവന അക്കൗണ്ട് അനുമതികൾ
  4. ഈ പ്രക്രിയയ്ക്കിടെ ഒരു ദുർബലമായ ഓപ്പൺ സോഴ്‌സ് പാക്കേജ് അപ്‌ഡേറ്റ് ചെയ്താൽ, ബാക്ക്‌ഡോർ ആക്രമണം ഉൽ‌പാദനത്തിലേക്ക് വ്യാപിക്കും.

ഇങ്ങനെയാണ് chmod 777 കൂടാതെ കുറഞ്ഞ ലിനക്സ് അനുമതികൾ ആക്രമണകാരികൾക്ക് നിങ്ങളുടെ വിന്യാസ പ്രവാഹത്തിലേക്ക് സൌജന്യ പാസ് നൽകും.

എന്തുകൊണ്ടാണ് ഡെവലപ്പർമാർ ഇപ്പോഴും chmod 777 ഉപയോഗിക്കുന്നത് (എന്തുകൊണ്ടാണ് ഇത് ഒരു കെണിയാകുന്നത്)

പരിചയസമ്പന്നരായ ഡെവലപ്പർമാർ പോലും ഈ കെണിയിൽ വീഴുന്നു, കാരണം chmod 777 ഇനിപ്പറയുന്ന സാഹചര്യങ്ങളിൽ പെട്ടെന്ന് പരിഹരിക്കാവുന്നതായി തോന്നുന്നു:

  • ആർട്ടിഫാക്റ്റ് പാക്കേജിംഗിൽ അനുമതി നിഷേധിച്ച പിശകുകൾ എറിയുന്നു
  • ഷെൽ സ്ക്രിപ്റ്റുകൾ എക്സിക്യൂട്ടബിൾ അല്ലാത്തതിനാൽ ഡോക്കറിൽ പരാജയപ്പെടുന്നു.
  • പങ്കിട്ട വോള്യങ്ങളിലുള്ള ലോഗ് ഫയലുകൾ എഴുതാൻ കഴിയില്ല.

പക്ഷേ ഇതാ ഒരു കാര്യം: യു.പാടുക chmod 777 മൂലകാരണം അവഗണിക്കുന്നു, Linux അനുമതി നിയന്ത്രണങ്ങളെ മറികടക്കുന്നു, കൂടാതെ ഏറ്റവും കുറഞ്ഞ പ്രിവിലേജ് എന്ന തത്വം ലംഘിക്കുന്നു. റോഡ്‌ബ്ലോക്ക് നീക്കം ചെയ്യുന്നതിനുപകരം, അത് ഒരു പിൻവാതിൽ ആക്രമണത്തെ ക്ഷണിച്ചുവരുത്തുന്നു.

chmod 777-നുള്ള സുരക്ഷിത ബദലുകൾ

If chmod 777 ആണവ ഓപ്ഷൻ ആണോ, ഇവയാണ് സർജിക്കൽ സ്ട്രൈക്കുകൾ:

				
					bash

# Allow team to execute
chmod 750 script.sh

# Read-only config for team members
chmod 640 config.yml

# Correct ownership for controlled access
chown ciuser:devteam deploy.sh
chmod 750 deploy.sh


				
			

Dockerfile മികച്ച രീതികൾ:

ഡോക്കർഫയൽ

				
					# Secure permissions at build time
COPY build.sh /path/project/build.sh
RUN chown ciuser:devteam /path/project/build.sh \
    && chmod 750 /path/project/build.sh
USER ciuser

				
			

GitHub പ്രവർത്തനങ്ങൾ ഉദാഹരണം:

				
					yaml

- name: Set secure file permissions
  run: |
    chown ciuser:devteam deploy.sh
    chmod 750 deploy.sh

				
			

ഇവ ലിനക്സ് അനുമതികൾ ശരിയായി നടപ്പിലാക്കുകയും അനധികൃത മാറ്റങ്ങൾ തടയുകയും ബാക്ക്ഡോർ ആക്രമണ സാധ്യത കുറയ്ക്കുകയും ചെയ്യുന്നു.

chmod 777 തെറ്റായ കോൺഫിഗറേഷനുകൾ എങ്ങനെ കണ്ടെത്തി തടയാം

Pre-commit സ്റ്റേജ്

  • Git hooks നിരസിക്കാൻ commitഅടങ്ങിയിരിക്കുന്നവ chmod 777:

				
					bash
# Safe example — blocks commits containing insecure chmod 777 usage
if grep -R "chmod 777" .; then exit 1; fi

				
			

നിർമ്മാണ ഘട്ടം

  • സമന്വയിപ്പിക്കുക SAST സുരക്ഷിതമല്ലാത്ത കമാൻഡുകൾ ഫ്ലാഗ് ചെയ്യാൻ
  • പരാജയപ്പെട്ടാൽ CI ജോലികൾ കണ്ടെത്തുക വേൾഡ്-റൈറ്റബിൾ ഫയലുകൾ കണ്ടെത്തുന്നു

റൺടൈം ഘട്ടം

ഗ്ലോബൽ റൈറ്റ് ആക്‌സസ് ഉള്ള ഫയലുകൾക്കായി സ്കാൻ ചെയ്യുക:

				
					bash
# Safe example — lists files with global write permissions
find /path/project -perm -o=w -type f

				
			

ലിസ്റ്റ് സൈഫറുകൾ:

				
					bash
openssl ciphers -v 'ALL:eNULL' | column -t

				
			

നയ നിർവഹണം

  • അനുവദനീയമായ Linux അനുമതികൾ നിർവചിക്കാൻ Policy-as-Code ഉപയോഗിക്കുക.
  • അപകടകരമായ വിന്യാസങ്ങൾ സജീവമാകുന്നതിന് മുമ്പ് അലേർട്ടുകൾ അയയ്ക്കുക

ഈ പരിശോധനകൾ ഓട്ടോമേറ്റ് ചെയ്യുമ്പോൾ, നിങ്ങൾ അതിനുള്ള സാധ്യത കുറയ്ക്കുന്നു chmod 777 എപ്പോഴെങ്കിലും ഉൽ‌പാദനത്തിലേക്ക് എത്തുന്നു, അതോടൊപ്പം, ഒരു പിൻവാതിൽ ആക്രമണത്തിനുള്ള സാധ്യതയും.

DevSecOps & Culture: ഉറവിടത്തിൽ chmod 777 തടയൽ

സുരക്ഷ കെട്ടിപ്പടുക്കൽ DevSecOps സംസ്കാരം പിന്നീട് പരിഹരിക്കുന്നതിനേക്കാൾ ഫലപ്രദമാണ്:

  1. എല്ലാ ലിനക്സിലും സുരക്ഷിതമായ അനുമതികൾ നടപ്പിലാക്കുന്നതിനുള്ള പോളിസി-ആസ്-കോഡ് pipeline
  2. വിന്യാസ സ്ക്രിപ്റ്റുകൾക്കുള്ള അനുമതി പരിശോധനകൾ ഉൾപ്പെടുന്ന സ്ക്രിപ്റ്റ് അവലോകനങ്ങൾ
  3. ഡോക്കർ, കുബേർനെറ്റസ്, എന്നിവയ്‌ക്കുള്ള സുരക്ഷിത ടെംപ്ലേറ്റുകൾ CI/CD കോൺഫിഗറേഷനുകൾ

എങ്ങനെ എന്നതിനെക്കുറിച്ചുള്ള പരിശീലനം chmod 777 പിൻവാതിൽ ആക്രമണങ്ങൾക്കായി ഒരു വെക്റ്റർ സൃഷ്ടിക്കുന്നു.

എന്തുകൊണ്ടാണ് chmod 777 ഒരിക്കലും പരിഹരിക്കപ്പെടാത്തത്?

ച്മോഡ് 777 ഒരു കുറുക്കുവഴിയല്ല; ഇത് ഒരു റിസ്ക് ഗുണിതമാണ്. ഇത് ശ്രദ്ധാപൂർവ്വം രൂപകൽപ്പന ചെയ്ത ലിനക്സ് അനുമതികളെ അസാധുവാക്കുന്നു, സുരക്ഷാ മുൻകരുതലുകൾ നീക്കംചെയ്യുന്നു, കൂടാതെ ഒരു പിൻവാതിൽ ആക്രമണത്തിന് വഴിയൊരുക്കുന്നു, അത് CI/CD pipelineഉൽപ്പാദന സംവിധാനങ്ങളും.

പരിഹാരം കമാൻഡുകൾ മാറ്റുക മാത്രമല്ല; സുരക്ഷിത അനുമതികൾ സ്വീകരിക്കുക, പരിശോധനകൾ ഓട്ടോമേറ്റ് ചെയ്യുക, നിങ്ങളുടെ കമ്പ്യൂട്ടറിൽ ഏറ്റവും കുറഞ്ഞ പ്രിവിലേജ് ചിന്തകൾ ഉൾപ്പെടുത്തുക എന്നിവയാണ്. DevSecOps പ്രക്രിയ. പോലുള്ള ഉപകരണങ്ങൾ സൈജെനി സുരക്ഷിതമല്ലാത്ത കോൺഫിഗറേഷനുകളും വേൾഡ്-റൈറ്റബിൾ ഫയലുകളും ഉൽ‌പാദനത്തിലേക്ക് എത്തുന്നതിനുമുമ്പ് കണ്ടെത്താൻ സഹായിക്കുകയും ഡെലിവറി മന്ദഗതിയിലാക്കാതെ നിങ്ങൾക്ക് ഒരു സുരക്ഷാ വല നൽകുകയും ചെയ്യും.

സ്കാ-ടൂളുകൾ-സോഫ്റ്റ്‌വെയർ-കോമ്പോസിഷൻ-വിശകലന-ടൂളുകൾ
നിങ്ങളുടെ സോഫ്റ്റ്‌വെയർ അപകടസാധ്യതകൾക്ക് മുൻഗണന നൽകുക, പരിഹരിക്കുക, സുരക്ഷിതമാക്കുക
നിങ്ങളുടെ സൗജന്യ അക്കൗണ്ട് നേടൂ.
ക്രെഡിറ്റ് കാർഡ് ആവശ്യമില്ല.

നിങ്ങളുടെ സോഫ്റ്റ്‌വെയർ വികസനവും ഡെലിവറിയും സുരക്ഷിതമാക്കുക

സൈജെനി ഉൽപ്പന്ന സ്യൂട്ടിനൊപ്പം