Kaip išspręsti „SambaCry“ pažeidžiamumą (CVE-2017-7494) „Linux“ sistemose


„Samba“ jau seniai yra standartas, teikiantis bendrų failų ir spausdinimo paslaugas „Windows“ klientams * nix sistemose. Tai naudoja namų vartotojai, vidutinio dydžio įmonės ir didelės įmonės, ir tai išsiskiria kaip tinkamas sprendimas aplinkose, kuriose egzistuoja skirtingos operacinės sistemos.

Kaip liūdnai atsitinka naudojant plačiai naudojamus įrankius, daugumai „Samba“ įrenginių gresia išpuolis, kuris gali išnaudoti žinomą pažeidžiamumą, kuris nebuvo laikomas rimtu tol, kol „WannaCry“ išpirkos išpuolių programa ne per seniausiai pasiekė naujienas.

Šiame straipsnyje paaiškinsime, kas yra šis „Samba“ pažeidžiamumas ir kaip nuo jo apsaugoti sistemas, už kurias esate atsakingi. Priklausomai nuo jūsų diegimo tipo (iš saugyklų ar iš šaltinio), turėsite tai padaryti kitaip.

Jei šiuo metu naudojate „Samba“ bet kurioje aplinkoje arba pažįstate ką nors naudojančio, skaitykite toliau!

Pažeidžiamumas

Pasenusios ir neištaisytos sistemos yra pažeidžiamos nuotolinio kodo vykdymo pažeidžiamumo. Paprasčiau tariant, tai reiškia, kad asmuo, turintis prieigą prie įrašomosios dalies, gali įkelti dalį savavališko kodo ir jį vykdyti su serverio pagrindiniais leidimais.

Problema „Samba“ svetainėje aprašyta kaip CVE-2017-7494 ir žinoma, kad ji turi įtakos „Samba“ versijoms 3.5 (išleistoms 2010 m. Kovo pradžioje) ir toliau. Neoficialiai jis buvo pavadintas „SambaCry“ dėl panašumų su „WannaCry“: jie nukreipiami į SMB protokolą ir yra potencialiai keblūs - dėl to jis gali plisti iš sistemos į kitą.

„Debian“, „Ubuntu“, „CentOS“ ir „Red Hat“ ėmėsi greitų veiksmų apsaugoti savo vartotojus ir išleido pataisas savo palaikomoms versijoms. Be to, saugos problemos yra numatytos ir nepalaikomoms.

Atnaujinama Samba

Kaip minėta anksčiau, atsižvelgiant į ankstesnį diegimo metodą, reikia laikytis dviejų būdų:

Jei įdiegėte „Samba“ iš savo platinimo talpyklų.

Pažvelkime, ką turite padaryti šiuo atveju:

Įsitikinkite, kad apt yra nustatytas gauti naujausius saugos naujinimus, prie šaltinių sąrašo (/etc/apt/sources.list) pridėdami šias eilutes:

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

Tada atnaujinkite galimų paketų sąrašą:

# aptitude update

Galiausiai įsitikinkite, kad „Samba“ paketo versija atitinka versiją, kurioje buvo pašalintas pažeidžiamumas (žr. CVE-2017-7494):

# aptitude show samba

Norėdami pradėti, patikrinkite, ar nėra naujų galimų paketų, ir atnaujinkite „samba“ paketą taip:

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

„Samba“ versijos, kuriose jau buvo pritaikytas CVE-2017-7494 pataisymas, yra šios:

  • 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

Galiausiai paleiskite šią komandą, kad patikrintumėte, ar jūsų „Ubuntu“ laukelyje dabar įdiegta tinkama „Samba“ versija.

$ sudo apt-cache show samba

Pataisyta „Samba“ versija EL 7 yra samba-4.4.4-14.el7_3. Norėdami jį įdiegti, atlikite

# yum makecache fast
# yum update samba

Kaip ir anksčiau, įsitikinkite, kad turite pataisytą „Samba“ versiją:

# yum info samba

Senesnėse, vis dar palaikomose „CentOS“ ir „RHEL“ versijose taip pat yra pataisų. Norėdami sužinoti daugiau, patikrinkite RHSA-2017-1270.

Pastaba: ši procedūra daro prielaidą, kad anksčiau „Samba“ sukūrėte iš šaltinio. Prieš pradedant diegti į gamybos serverį, labai rekomenduojama išbandyti aplinką testavimo aplinkoje.

Be to, prieš pradėdami įsitikinkite, kad sukūrėte failo „smb.conf“ atsarginę kopiją.

Tokiu atveju mes taip pat sudarysime ir atnaujinsime „Samba“ iš šaltinio. Tačiau prieš pradėdami turime įsitikinti, kad visos priklausomybės jau yra įdiegtos. Atminkite, kad tai gali užtrukti kelias minutes.

# 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

Sustabdyti paslaugą:

# systemctl stop smbd

Atsisiųskite ir pašalinkite šaltinį (4.6.4 yra naujausia versija šio rašymo metu):

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

Tik informaciniais tikslais patikrinkite galimas dabartinio leidimo konfigūravimo parinktis.

# ./configure --help

Galite įtraukti kai kurias anksčiau nurodytos komandos pateiktas parinktis, jei jos buvo naudojamos ankstesnėje versijoje, arba galite pasirinkti naudoti numatytąjį:

# ./configure
# make
# make install

Galiausiai iš naujo paleiskite paslaugą.

# systemctl restart smbd

ir patikrinkite, ar naudojate atnaujintą versiją:

# smbstatus --version

kuris turėtų grįžti 4.6.4.

Bendrosios aplinkybės

Jei naudojate nepalaikomą nurodyto paskirstymo versiją ir dėl kokių nors priežasčių negalite naujovinti į naujesnę versiją, galbūt norėsite atsižvelgti į šiuos pasiūlymus:

  • Jei įgalinta „SELinux“, esate apsaugotas!
  • Įsitikinkite, kad „Samba“ akcijos yra prijungtos prie parinkties „noexec“. Tai neleis vykdyti dvejetainių failų, esančių prijungtoje failų sistemoje.

Papildyti,

nt pipe support = no

į savo smb.conf failo [global] skyrių ir iš naujo paleiskite paslaugą. Galbūt nepamirškite, kad tai „gali išjungti kai kurias„ Windows “klientų funkcijas“, kaip numatyta „Samba“ projekte.

Svarbu: atminkite, kad parinktis „nt pipe support = no“ išjungs „Windows“ klientų akcijų sąrašą. Pvz .: įvedę\10.100.10.2\iš „Windows Explorer“ samba serveryje, jums bus atsisakyta suteikti leidimą. „Windows“ klientai turėtų rankiniu būdu nurodyti bendrinimą kaip\10.100.10.2\share_name, kad galėtų pasiekti bendrinimą.

Šiame straipsnyje aprašėme pažeidžiamumą, vadinamą „SambaCry“, ir kaip jį sušvelninti. Tikimės, kad galėsite naudoti šią informaciją apsaugodami sistemas, už kurias esate atsakingi.

Jei turite klausimų ar komentarų apie šį straipsnį, nedvejodami naudokite žemiau esančią formą ir praneškite mums.