Linux സിസ്റ്റങ്ങളിൽ SambaCry കേടുപാടുകൾ (CVE-2017-7494) എങ്ങനെ പരിഹരിക്കാം


*നിക്സ് സിസ്റ്റങ്ങളിൽ വിൻഡോസ് ക്ലയന്റുകൾക്ക് പങ്കിട്ട ഫയലുകളും പ്രിന്റ് സേവനങ്ങളും നൽകുന്നതിനുള്ള മാനദണ്ഡമാണ് സാംബ. ഗാർഹിക ഉപയോക്താക്കൾ, ഇടത്തരം ബിസിനസുകൾ, വൻകിട കമ്പനികൾ എന്നിവർ ഒരുപോലെ ഉപയോഗിക്കുന്നു, വ്യത്യസ്ത ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങൾ ഒന്നിച്ചുനിൽക്കുന്ന പരിതസ്ഥിതികളിൽ ഇത് ഒരു പരിഹാരമായി നിലകൊള്ളുന്നു.

നിർഭാഗ്യവശാൽ, വിശാലമായി ഉപയോഗിക്കുന്ന ടൂളുകളിൽ ഇത് സംഭവിക്കുന്നതിനാൽ, മിക്ക സാംബ ഇൻസ്റ്റാളേഷനുകളും ഒരു ആക്രമണത്തിന്റെ അപകടസാധ്യതയിലാണ്, അത് അറിയപ്പെടുന്ന ഒരു അപകടസാധ്യതയെ ചൂഷണം ചെയ്uതേക്കാം, WannaCry ransomware ആക്രമണം വളരെക്കാലം മുമ്പ് വാർത്തകളിൽ എത്തുന്നതുവരെ ഇത് ഗൗരവമായി കണക്കാക്കപ്പെട്ടിരുന്നില്ല.

ഈ ലേഖനത്തിൽ, എന്താണ് ഈ സാംബ അപകടസാധ്യതയെന്നും അതിനെതിരെ നിങ്ങൾക്ക് ഉത്തരവാദിത്തമുള്ള സിസ്റ്റങ്ങളെ എങ്ങനെ സംരക്ഷിക്കാമെന്നും ഞങ്ങൾ വിശദീകരിക്കും. നിങ്ങളുടെ ഇൻസ്റ്റലേഷൻ തരത്തെ ആശ്രയിച്ച് (റിപ്പോസിറ്ററികളിൽ നിന്നോ ഉറവിടത്തിൽ നിന്നോ), അത് ചെയ്യുന്നതിന് നിങ്ങൾ മറ്റൊരു സമീപനം സ്വീകരിക്കേണ്ടതുണ്ട്.

നിങ്ങൾ നിലവിൽ സാംബ ഉപയോഗിക്കുന്നത് ഏതെങ്കിലും പരിതസ്ഥിതിയിൽ ആണെങ്കിൽ അല്ലെങ്കിൽ ആരെയെങ്കിലും അറിയാമോ, വായിക്കുക!

ദുർബലത

കാലഹരണപ്പെട്ടതും പാച്ച് ചെയ്യാത്തതുമായ സിസ്റ്റങ്ങൾ റിമോട്ട് കോഡ് എക്സിക്യൂഷൻ അപകടസാധ്യതയ്ക്ക് വിധേയമാണ്. ലളിതമായി പറഞ്ഞാൽ, എഴുതാനാകുന്ന ഷെയറിലേക്ക് ആക്uസസ് ഉള്ള ഒരു വ്യക്തിക്ക് അനിയന്ത്രിതമായ കോഡിന്റെ ഒരു ഭാഗം അപ്uലോഡ് ചെയ്യാനും സെർവറിലെ റൂട്ട് അനുമതികളോടെ അത് എക്uസിക്യൂട്ട് ചെയ്യാനും കഴിയും എന്നാണ് ഇതിനർത്ഥം.

ഈ പ്രശ്uനം സാംബ വെബ്uസൈറ്റിൽ CVE-2017-7494 എന്ന് വിവരിച്ചിരിക്കുന്നു, ഇത് സാംബ പതിപ്പുകൾ 3.5 (2010 മാർച്ച് ആദ്യം പുറത്തിറങ്ങി) എന്നിവയെ ബാധിക്കുമെന്ന് അറിയപ്പെടുന്നു. അനൗദ്യോഗികമായി, WannaCry-യുമായി സാമ്യമുള്ളതിനാൽ ഇതിന് സാംബാക്രൈ എന്ന് പേരിട്ടു: ഇവ രണ്ടും SMB പ്രോട്ടോക്കോൾ ലക്ഷ്യമിടുന്നു, മാത്രമല്ല അത് സിസ്റ്റത്തിൽ നിന്ന് സിസ്റ്റത്തിലേക്ക് വ്യാപിക്കാൻ സാധ്യതയുള്ളവയുമാണ്.

Debian, Ubuntu, CentOS, Red Hat എന്നിവ അതിന്റെ ഉപയോക്താക്കളെ സംരക്ഷിക്കുന്നതിനായി ദ്രുതഗതിയിലുള്ള നടപടികൾ കൈക്കൊള്ളുകയും അവരുടെ പിന്തുണയ്ക്കുന്ന പതിപ്പുകൾക്കായി പാച്ചുകൾ പുറത്തിറക്കുകയും ചെയ്തു. കൂടാതെ, പിന്തുണയ്ക്കാത്തവയ്ക്ക് സുരക്ഷാ പരിഹാരങ്ങളും നൽകിയിട്ടുണ്ട്.

സാംബ അപ്ഡേറ്റ് ചെയ്യുന്നു

നേരത്തെ സൂചിപ്പിച്ചതുപോലെ, മുമ്പത്തെ ഇൻസ്റ്റാളേഷൻ രീതിയെ ആശ്രയിച്ച് പിന്തുടരേണ്ട രണ്ട് സമീപനങ്ങളുണ്ട്:

നിങ്ങളുടെ വിതരണ ശേഖരണങ്ങളിൽ നിന്ന് സാംബ ഇൻസ്റ്റാൾ ചെയ്താൽ.

ഈ സാഹചര്യത്തിൽ എന്താണ് ചെയ്യേണ്ടതെന്ന് നമുക്ക് നോക്കാം:

നിങ്ങളുടെ ഉറവിടങ്ങളുടെ പട്ടികയിലേക്ക് (/etc/apt/sources.list) ഇനിപ്പറയുന്ന വരികൾ ചേർത്ത് ഏറ്റവും പുതിയ സുരക്ഷാ അപ്uഡേറ്റുകൾ ലഭിക്കുന്നതിന് apt സജ്ജീകരിച്ചിട്ടുണ്ടെന്ന് ഉറപ്പാക്കുക:

deb http://security.debian.org stable/updates main
deb-src http://security.debian.org/ stable/updates main

അടുത്തതായി, ലഭ്യമായ പാക്കേജുകളുടെ ലിസ്റ്റ് അപ്ഡേറ്റ് ചെയ്യുക:

# aptitude update

അവസാനമായി, സാംബ പാക്കേജിന്റെ പതിപ്പ് അപകടസാധ്യത പരിഹരിച്ച പതിപ്പുമായി പൊരുത്തപ്പെടുന്നുവെന്ന് ഉറപ്പാക്കുക (CVE-2017-7494 കാണുക):

# aptitude show samba

ആരംഭിക്കുന്നതിന്, ലഭ്യമായ പുതിയ പാക്കേജുകൾ പരിശോധിക്കുകയും സാംബ പാക്കേജ് ഇനിപ്പറയുന്ന രീതിയിൽ അപ്ഡേറ്റ് ചെയ്യുകയും ചെയ്യുക:

$ sudo apt-get update
$ sudo apt-get install samba

CVE-2017-7494 എന്നതിനായുള്ള പരിഹാരം ഇതിനകം പ്രയോഗിച്ച സാംബ പതിപ്പുകൾ ഇനിപ്പറയുന്നവയാണ്:

  • 17.04: samba 2:4.5.8+dfsg-0ubuntu0.17.04.2
  • 16.10: samba 2:4.4.5+dfsg-2ubuntu5.6
  • 16.04 LTS: samba 2:4.3.11+dfsg-0ubuntu0.16.04.7
  • 14.04 LTS: samba 2:4.3.11+dfsg-0ubuntu0.14.04.8

അവസാനമായി, നിങ്ങളുടെ ഉബുണ്ടു ബോക്സിൽ ഇപ്പോൾ ശരിയായ സാംബ പതിപ്പ് ഇൻസ്റ്റാൾ ചെയ്തിട്ടുണ്ടോയെന്ന് പരിശോധിക്കാൻ ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക.

$ sudo apt-cache show samba

EL 7-ലെ പാച്ച് ചെയ്ത സാംബ പതിപ്പ് samba-4.4.4-14.el7_3 ആണ്. ഇത് ഇൻസ്റ്റാൾ ചെയ്യാൻ, ചെയ്യുക

# yum makecache fast
# yum update samba

മുമ്പത്തെപ്പോലെ, നിങ്ങൾക്ക് ഇപ്പോൾ പാച്ച് ചെയ്ത സാംബ പതിപ്പ് ഉണ്ടെന്ന് ഉറപ്പാക്കുക:

# yum info samba

CentOS, RHEL എന്നിവയുടെ പഴയതും ഇപ്പോഴും പിന്തുണയ്uക്കുന്നതുമായ പതിപ്പുകൾക്ക് പരിഹാരങ്ങളും ലഭ്യമാണ്. കൂടുതൽ കണ്ടെത്താൻ RHSA-2017-1270 പരിശോധിക്കുക.

കുറിപ്പ്: ഇനിപ്പറയുന്ന നടപടിക്രമം നിങ്ങൾ മുമ്പ് ഉറവിടത്തിൽ നിന്ന് സാംബ നിർമ്മിച്ചിട്ടുണ്ടെന്ന് അനുമാനിക്കുന്നു. ഒരു പ്രൊഡക്ഷൻ സെർവറിലേക്ക് ഇത് വിന്യസിക്കുന്നതിന് മുമ്പ് ഒരു ടെസ്റ്റിംഗ് പരിതസ്ഥിതിയിൽ ഇത് വിപുലമായി പരീക്ഷിക്കാൻ നിങ്ങളെ വളരെയധികം പ്രോത്സാഹിപ്പിക്കുന്നു.

കൂടാതെ, നിങ്ങൾ ആരംഭിക്കുന്നതിന് മുമ്പ് smb.conf ഫയൽ ബാക്കപ്പ് ചെയ്തിട്ടുണ്ടെന്ന് ഉറപ്പാക്കുക.

ഈ സാഹചര്യത്തിൽ, ഞങ്ങൾ ഉറവിടത്തിൽ നിന്നും സാംബ കംപൈൽ ചെയ്യുകയും അപ്uഡേറ്റ് ചെയ്യുകയും ചെയ്യും. ഞങ്ങൾ ആരംഭിക്കുന്നതിന് മുമ്പ്, എല്ലാ ഡിപൻഡൻസികളും മുമ്പ് ഇൻസ്റ്റാൾ ചെയ്തിട്ടുണ്ടെന്ന് ഉറപ്പാക്കണം. ഇതിന് കുറച്ച് മിനിറ്റുകൾ എടുത്തേക്കാം എന്നത് ശ്രദ്ധിക്കുക.

# aptitude install acl attr autoconf bison build-essential \
    debhelper dnsutils docbook-xml docbook-xsl flex gdb krb5-user \
    libacl1-dev libaio-dev libattr1-dev libblkid-dev libbsd-dev \
    libcap-dev libcups2-dev libgnutls28-dev libjson-perl \
    libldap2-dev libncurses5-dev libpam0g-dev libparse-yapp-perl \
    libpopt-dev libreadline-dev perl perl-modules pkg-config \
    python-all-dev python-dev python-dnspython python-crypto xsltproc \
    zlib1g-dev libsystemd-dev libgpgme11-dev python-gpgme python-m2crypto
# yum install attr bind-utils docbook-style-xsl gcc gdb krb5-workstation \
    libsemanage-python libxslt perl perl-ExtUtils-MakeMaker \
    perl-Parse-Yapp perl-Test-Base pkgconfig policycoreutils-python \
    python-crypto gnutls-devel libattr-devel keyutils-libs-devel \
    libacl-devel libaio-devel libblkid-devel libxml2-devel openldap-devel \
    pam-devel popt-devel python-devel readline-devel zlib-devel

സേവനം നിർത്തുക:

# systemctl stop smbd

ഉറവിടം ഡൗൺലോഡ് ചെയ്uത് മാറ്റുക (ഇത് എഴുതുന്ന സമയത്ത് 4.6.4 ഏറ്റവും പുതിയ പതിപ്പായിരുന്നു):

# wget https://www.samba.org/samba/ftp/samba-latest.tar.gz 
# tar xzf samba-latest.tar.gz
# cd samba-4.6.4

വിവരദായക ആവശ്യങ്ങൾക്ക് മാത്രം, നിലവിലുള്ള റിലീസിനായി ലഭ്യമായ കോൺഫിഗർ ഓപ്ഷനുകൾ പരിശോധിക്കുക.

# ./configure --help

മുമ്പത്തെ ബിൽഡിൽ ഉപയോഗിച്ചിരുന്നെങ്കിൽ മുകളിലെ കമാൻഡ് നൽകുന്ന ചില ഓപ്ഷനുകൾ നിങ്ങൾക്ക് ഉൾപ്പെടുത്താം, അല്ലെങ്കിൽ നിങ്ങൾക്ക് സ്ഥിരസ്ഥിതിയായി പോകാൻ തിരഞ്ഞെടുക്കാം:

# ./configure
# make
# make install

അവസാനം, സേവനം പുനരാരംഭിക്കുക.

# systemctl restart smbd

നിങ്ങൾ അപ്uഡേറ്റ് ചെയ്uത പതിപ്പാണ് റൺ ചെയ്യുന്നതെന്ന് സ്ഥിരീകരിക്കുക:

# smbstatus --version

അത് 4.6.4 നൽകണം.

പൊതുവായ പരിഗണനകൾ

തന്നിരിക്കുന്ന വിതരണത്തിന്റെ പിന്തുണയില്ലാത്ത പതിപ്പാണ് നിങ്ങൾ പ്രവർത്തിപ്പിക്കുന്നതെങ്കിൽ, ചില കാരണങ്ങളാൽ ഏറ്റവും പുതിയതിലേക്ക് അപ്uഗ്രേഡ് ചെയ്യാൻ കഴിയുന്നില്ലെങ്കിൽ, ഇനിപ്പറയുന്ന നിർദ്ദേശങ്ങൾ നിങ്ങൾ കണക്കിലെടുക്കണം:

  • SELinux പ്രവർത്തനക്ഷമമാക്കിയിട്ടുണ്ടെങ്കിൽ, നിങ്ങൾ പരിരക്ഷിതരാണ്!
  • സാംബ ഷെയറുകൾ noexec ഓപ്ഷൻ ഉപയോഗിച്ച് മൌണ്ട് ചെയ്തിട്ടുണ്ടെന്ന് ഉറപ്പാക്കുക. ഇത് മൗണ്ട് ചെയ്ത ഫയൽസിസ്റ്റത്തിൽ വസിക്കുന്ന ബൈനറികളുടെ നിർവ്വഹണത്തെ തടയും.

ചേർക്കുക,

nt pipe support = no

നിങ്ങളുടെ smb.conf ഫയലിന്റെ [ഗ്ലോബൽ] വിഭാഗത്തിലേക്ക് പോയി സേവനം പുനരാരംഭിക്കുക. സാംബ പ്രോജക്റ്റ് അനുസരിച്ച്, ഇത് \വിന്ഡോസ് ക്ലയന്റുകളിലെ ചില പ്രവർത്തനങ്ങളെ പ്രവർത്തനരഹിതമാക്കിയേക്കാം എന്ന് നിങ്ങൾ ഓർക്കണം.

പ്രധാനപ്പെട്ടത്: \nt പൈപ്പ് പിന്തുണ = ഇല്ല എന്ന ഓപ്uഷൻ വിൻഡോസ് ക്ലയന്റുകളിൽ നിന്നുള്ള ഷെയർ ലിസ്റ്റിംഗ് പ്രവർത്തനരഹിതമാക്കുമെന്ന് അറിഞ്ഞിരിക്കുക. ഉദാ: നിങ്ങൾ ഒരു സാംബ സെർവറിൽ Windows Explorer-ൽ നിന്ന് \10.100.10.2\ എന്ന് ടൈപ്പ് ചെയ്യുമ്പോൾ നിങ്ങൾക്ക് അനുമതി നിഷേധിക്കപ്പെടും. Windows ക്ലയന്റുകൾ ഷെയർ ആക്uസസ് ചെയ്യുന്നതിന് \10.100.10.2\share_name ആയി ഷെയർ സ്വമേധയാ വ്യക്തമാക്കണം.

ഈ ലേഖനത്തിൽ, SambaCry എന്നറിയപ്പെടുന്ന അപകടസാധ്യതയെക്കുറിച്ചും അത് എങ്ങനെ ലഘൂകരിക്കാമെന്നും ഞങ്ങൾ വിവരിച്ചിട്ടുണ്ട്. നിങ്ങൾക്ക് ഉത്തരവാദിത്തമുള്ള സിസ്റ്റങ്ങളെ പരിരക്ഷിക്കാൻ ഈ വിവരങ്ങൾ ഉപയോഗിക്കാനാകുമെന്ന് ഞങ്ങൾ പ്രതീക്ഷിക്കുന്നു.

ഈ ലേഖനത്തെക്കുറിച്ച് നിങ്ങൾക്ക് എന്തെങ്കിലും ചോദ്യങ്ങളോ അഭിപ്രായങ്ങളോ ഉണ്ടെങ്കിൽ, ഞങ്ങളെ അറിയിക്കുന്നതിന് ചുവടെയുള്ള ഫോം ഉപയോഗിക്കാൻ മടിക്കേണ്ടതില്ല.