Cum se remediază vulnerabilitatea SambaCry (CVE-2017-7494) în sistemele Linux
Samba a fost mult timp standardul pentru furnizarea de servicii partajate de fișiere și imprimare clienților Windows pe sistemele *nix. Folosit de utilizatorii casnici, întreprinderile mijlocii și companiile mari deopotrivă, se remarcă ca soluție de bază în mediile în care coexistă diferite sisteme de operare.
Așa cum se întâmplă, din păcate, cu instrumentele utilizate pe scară largă, majoritatea instalărilor Samba sunt supuse riscului unui atac care ar putea exploata o vulnerabilitate cunoscută, care nu a fost considerată a fi gravă până când atacul ransomware WannaCry a ajuns la știri. cu mult timp in urma.
În acest articol, vom explica ce este această vulnerabilitate Samba și cum să protejați sistemele de care sunteți responsabil împotriva acesteia. În funcție de tipul dvs. de instalare (din depozite sau din sursă), va trebui să adoptați o abordare diferită pentru a face acest lucru.
Dacă în prezent utilizați Samba în orice mediu sau cunoașteți pe cineva care o folosește, citiți mai departe!
Vulnerabilitatea
Sistemele învechite și nepatchate sunt vulnerabile la o vulnerabilitate de execuție a codului de la distanță. În termeni simpli, aceasta înseamnă că o persoană cu acces la o partajare care poate fi scrisă poate încărca o bucată de cod arbitrar și o poate executa cu permisiuni root pe server.
Problema este descrisă pe site-ul web Samba ca CVE-2017-7494 și se știe că afectează versiunile Samba 3.5 (lansată la începutul lunii martie 2010) și versiunile ulterioare. În mod neoficial, a fost denumit SambaCry datorită asemănărilor sale cu WannaCry: ambele vizează protocolul SMB și sunt potențial wormable – ceea ce îl poate determina răspândirea de la sistem la sistem.
Debian, Ubuntu, CentOS și Red Hat au luat măsuri rapide pentru a-și proteja utilizatorii și au lansat corecții pentru versiunile acceptate. În plus, au fost furnizate și soluții de securitate pentru cele neacceptate.
Se actualizează Samba
După cum am menționat mai devreme, există două abordări de urmat, în funcție de metoda anterioară de instalare:
Dacă ați instalat Samba din depozitele distribuției dvs.
Să aruncăm o privire la ce trebuie să faceți în acest caz:
Remediați Sambacry în Debian
Asigurați-vă că apt este setat să primească cele mai recente actualizări de securitate adăugând următoarele rânduri la lista de surse (/etc/apt/sources.list):
deb http://security.debian.org stable/updates main
deb-src http://security.debian.org/ stable/updates main
Apoi, actualizați lista de pachete disponibile:
aptitude update
În cele din urmă, asigurați-vă că versiunea pachetului samba se potrivește cu versiunea în care vulnerabilitatea a fost remediată (a se vedea CVE-2017-7494):
aptitude show samba
Remediați Sambacry în Ubuntu
Pentru a începe, verificați dacă există pachete noi disponibile și actualizați pachetul samba după cum urmează:
sudo apt-get update
sudo apt-get install samba
Versiunile Samba în care remedierea pentru CVE-2017-7494 a fost deja aplicată sunt următoarele:
- 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
În cele din urmă, rulați următoarea comandă pentru a verifica dacă caseta Ubuntu are acum instalată versiunea Samba corectă.
sudo apt-cache show samba
Remediați Sambacry pe CentOS/RHEL 7
Versiunea Samba corectată în EL 7 este samba-4.4.4-14.el7_3. Pentru a-l instala, faceți
yum makecache fast
yum update samba
Ca și înainte, asigurați-vă că aveți acum versiunea Samba patch-ată:
yum info samba
Versiunile mai vechi, încă acceptate, de CentOS și RHEL au și remedieri disponibile. Verificați RHSA-2017-1270 pentru a afla mai multe.
Dacă ați instalat Samba din sursă
Notă: Următoarea procedură presupune că ați construit anterior Samba din sursă. Sunteți foarte încurajat să îl încercați pe scară largă într-un mediu de testare ÎNAINTE de a-l implementa pe un server de producție.
În plus, asigurați-vă că faceți o copie de rezervă a fișierului smb.conf înainte de a începe.
În acest caz, vom compila și actualiza Samba și din sursă. Înainte de a începe, totuși, trebuie să ne asigurăm că toate dependențele sunt instalate anterior. Rețineți că acest lucru poate dura câteva minute.
În Debian și Ubuntu:
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
În CentOS 7 sau similar:
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
Opriți serviciul:
systemctl stop smbd
Descărcați și dezinstalați sursa (cu 4.6.4 fiind cea mai recentă versiune la momentul scrierii acestui articol):
wget https://www.samba.org/samba/ftp/samba-latest.tar.gz
tar xzf samba-latest.tar.gz
cd samba-4.6.4
Numai în scop informativ, verificați opțiunile de configurare disponibile pentru versiunea curentă cu.
./configure --help
Puteți include unele dintre opțiunile returnate de comanda de mai sus dacă au fost utilizate în versiunea anterioară sau puteți alege să mergeți cu versiunea implicită:
./configure
make
make install
În cele din urmă, reporniți serviciul.
systemctl restart smbd
și verificați că rulați versiunea actualizată:
smbstatus --version
care ar trebui să returneze 4.6.4.
Considerente Generale
Dacă rulați o versiune neacceptată a unei anumite distribuții și nu puteți face upgrade la una mai recentă din anumite motive, vă recomandăm să luați în considerare următoarele sugestii:
- Dacă SELinux este activat, sunteți protejat!
- Asigurați-vă că acțiunile Samba sunt montate cu opțiunea noexec. Acest lucru va împiedica execuția binarelor care se află pe sistemul de fișiere montat.
Adăuga,
nt pipe support = no
în secțiunea [globală] a fișierului smb.conf și reporniți serviciul. Poate doriți să rețineți că acest lucru „poate dezactiva unele funcționalități în clienții Windows”, conform proiectului Samba.
Important: rețineți că opțiunea „nt pipe support=no ” ar dezactiva listarea acțiunilor de la clienții Windows. De exemplu: când tastați \\10.100.10.2\ din Windows Explorer pe un server samba, veți primi o permisiune refuzată. Clienții Windows ar trebui să specifice manual partajarea ca \\10.100.10.2\share_name pentru a accesa partajarea.
rezumat
În acest articol, am descris vulnerabilitatea cunoscută sub numele de SambaCry și cum să o atenuăm. Sperăm că veți putea folosi aceste informații pentru a proteja sistemele pentru care sunteți responsabil.
Dacă aveți întrebări sau comentarii despre acest articol, nu ezitați să folosiți formularul de mai jos pentru a ne anunța.