Jinsi ya Kurekebisha Athari za SambaCry (CVE-2017-7494) katika Mifumo ya Linux


Samba kwa muda mrefu imekuwa kiwango cha kutoa huduma za faili zilizoshirikiwa na kuchapisha kwa wateja wa Windows kwenye mifumo ya *nix. Inatumiwa na watumiaji wa nyumbani, biashara za ukubwa wa kati, na makampuni makubwa sawa, inajitokeza kama suluhu katika mazingira ambapo mifumo tofauti ya uendeshaji huishi pamoja.

Inapotokea kwa kusikitisha kwa zana zinazotumiwa kwa mapana, mitambo mingi ya Samba iko katika hatari ya kushambuliwa ambayo inaweza kutumia athari inayojulikana, ambayo haikuzingatiwa kuwa mbaya hadi shambulio la WannaCry ransomware lilipofikia habari si muda mrefu uliopita.

Katika makala haya, tutaeleza udhaifu huu wa Samba ni nini na jinsi ya kulinda mifumo unayowajibika dhidi yake. Kulingana na aina yako ya usakinishaji (kutoka kwa hazina au kutoka kwa chanzo), utahitaji kuchukua mbinu tofauti kuifanya.

Ikiwa kwa sasa unatumia Samba katika mazingira yoyote au unajua mtu anayeitumia, endelea!

Udhaifu

Mifumo iliyopitwa na wakati na ambayo haijanakiliwa iko katika hatari ya kuathiriwa na utekelezaji wa msimbo wa mbali. Kwa maneno rahisi, hii inamaanisha kuwa mtu aliye na ufikiaji wa kushiriki inayoweza kuandikwa anaweza kupakia kipande cha msimbo wa kiholela na kuitekeleza kwa ruhusa za mizizi kwenye seva.

Suala hili limefafanuliwa katika tovuti ya Samba kama CVE-2017-7494 na linajulikana kuathiri matoleo ya Samba 3.5 (iliyotolewa mapema Machi 2010) na kuendelea. Kwa njia isiyo rasmi, imepewa jina la SambaCry kutokana na ufanano wake na WannaCry: zote zinalenga itifaki ya SMB na zinaweza kuathiriwa na - ambayo inaweza kusababisha kuenea kutoka kwa mfumo hadi mfumo.

Debian, Ubuntu, CentOS na Red Hat wamechukua hatua ya haraka kulinda watumiaji wake na wametoa viraka kwa matoleo yao yanayotumika. Zaidi ya hayo, njia za usalama pia zimetolewa kwa zisizotumika.

Inasasisha Samba

Kama ilivyoelezwa hapo awali, kuna njia mbili za kufuata kulingana na njia ya awali ya ufungaji:

Ikiwa ulisakinisha Samba kutoka kwa hazina za usambazaji wako.

Wacha tuangalie kile unachohitaji kufanya katika kesi hii:

Hakikisha apt imewekwa ili kupata masasisho ya hivi punde ya usalama kwa kuongeza mistari ifuatayo kwenye orodha ya vyanzo vyako (/etc/apt/sources.list):

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

Ifuatayo, sasisha orodha ya vifurushi vinavyopatikana:

# aptitude update

Hatimaye, hakikisha kwamba toleo la kifurushi cha samba linalingana na toleo ambalo uwezekano wa kuathiriwa umerekebishwa (ona CVE-2017-7494):

# aptitude show samba

Kuanza, angalia vifurushi vipya vinavyopatikana na usasishe kifurushi cha samba kama ifuatavyo:

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

Matoleo ya Samba ambapo marekebisho ya CVE-2017-7494 tayari yametumika ni yafuatayo:

  • 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

Hatimaye, endesha amri ifuatayo ili kuthibitisha kwamba sanduku lako la Ubuntu sasa lina toleo sahihi la Samba lililosakinishwa.

$ sudo apt-cache show samba

Toleo la Samba lililotiwa viraka katika EL 7 ni samba-4.4.4-14.el7_3. Ili kuiweka, fanya

# yum makecache fast
# yum update samba

Kama hapo awali, hakikisha kuwa sasa unayo toleo la Samba lililowekwa viraka:

# yum info samba

Matoleo ya zamani, bado yanayotumika ya CentOS na RHEL yana marekebisho yanayopatikana pia. Angalia RHSA-2017-1270 ili kujua zaidi.

Kumbuka: Utaratibu ufuatao unadhania kuwa hapo awali umeunda Samba kutoka kwa chanzo. Unahimizwa sana kuijaribu sana katika mazingira ya majaribio KABLA ya kuipeleka kwa seva ya uzalishaji.

Zaidi ya hayo, hakikisha unacheleza faili ya smb.conf kabla ya kuanza.

Katika kesi hii, tutakusanya na kusasisha Samba kutoka kwa chanzo pia. Kabla ya kuanza, hata hivyo, ni lazima tuhakikishe kwamba vitegemezi vyote vimesakinishwa hapo awali. Kumbuka kuwa hii inaweza kuchukua dakika kadhaa.

# 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

Acha huduma:

# systemctl stop smbd

Pakua na uondoe chanzo (na 4.6.4 likiwa toleo jipya zaidi wakati wa uandishi huu):

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

Kwa madhumuni ya kuarifu pekee, angalia chaguo zinazopatikana za kusanidi kwa toleo la sasa na.

# ./configure --help

Unaweza kujumuisha baadhi ya chaguzi zilizorejeshwa na amri iliyo hapo juu ikiwa zilitumika katika muundo uliopita, au unaweza kuchagua kwenda na chaguo-msingi:

# ./configure
# make
# make install

Hatimaye, anzisha upya huduma.

# systemctl restart smbd

na uthibitishe kuwa unaendesha toleo lililosasishwa:

# smbstatus --version

ambayo inapaswa kurudi 4.6.4.

Mazingatio ya Jumla

Ikiwa unatumia toleo lisilotumika la usambazaji fulani na huwezi kupata toleo jipya zaidi kwa sababu fulani, unaweza kutaka kuzingatia mapendekezo yafuatayo:

  • Ikiwa SELinux imewashwa, umelindwa!
  • Hakikisha kuwa hisa za Samba zimepachikwa kwa chaguo la noexec. Hii itazuia utekelezaji wa jozi zinazokaa kwenye mfumo wa faili uliowekwa.

Ongeza,

nt pipe support = no

kwa sehemu [ya kimataifa] ya faili yako ya smb.conf na uanze upya huduma. Unaweza kukumbuka kuwa hii inaweza kulemaza utendakazi fulani katika wateja wa Windows, kulingana na mradi wa Samba.

Muhimu: Fahamu kuwa chaguo \nt pipe support = hapana itazima uorodheshaji wa hisa kutoka kwa wateja wa Windows.Mfano: Unapoandika \\10.100.10.2\ kutoka Windows Explorer kwenye seva ya samba utapata kibali kukataliwa. italazimika kubainisha kushiriki mwenyewe kama \\10.100.10.2\share_name ili kufikia kushiriki.

Katika makala haya, tumeelezea athari inayojulikana kama SambaCry na jinsi ya kuipunguza. Tunatumahi kuwa utaweza kutumia maelezo haya kulinda mifumo unayowajibika.

Ikiwa una maswali au maoni yoyote kuhusu nakala hii, jisikie huru kutumia fomu iliyo hapa chini kutujulisha.