Kako popraviti SambaCry ranjivost (CVE-2017-7494) u Linux sustavima


Samba je dugo bila standard za pružanje zajedničkih datoteka i usluga ispisa Windows klijentima na *nix sustavima. Koriste ga podjednako kućni korisnici, poduzeća srednje veličine i velike tvrtke, ističe se kao idealno rješenje u okruženjima u kojima koegzistiraju različiti operativni sustavi.

Kao što se nažalost događa s alatima koji se široko koriste, većina Samba instalacija je izložena riziku od napada koji bi mogao iskoristiti poznatu ranjivost, koja se nije smatrala ozbiljnom sve dok napad ransomwarea WannaCry nije došao u javnost. davno.

U ovom ćemo članku objasniti što je to Samba ranjivost i kako od nje zaštititi sustave za koje ste odgovorni. Ovisno o vašoj vrsti instalacije (iz repozitorija ili iz izvora), morat ćete primijeniti drugačiji pristup za to.

Ako trenutno koristite Sambu u bilo kojem okruženju ili znate nekoga tko to radi, čitajte dalje!

Ranjivost

Zastarjeli i nezakrpani sustavi ranjivi su na ranjivost daljinskog izvršavanja koda. Jednostavnim rječnikom rečeno, to znači da osoba s pristupom dionici za pisanje može učitati dio proizvoljnog koda i izvršiti ga s root dopuštenjima na poslužitelju.

Problem je opisan na web-mjestu Samba kao CVE-2017-7494 i poznato je da utječe na verziju Sambe 3.5 (objavljenu početkom ožujka 2010.) i novije. Neslužbeno je nazvan SambaCry zbog sličnosti s WannaCryjem: oba ciljaju na SMB protokol i potencijalno su crvi – što može uzrokovati njegovo širenje sa sustava na sustav.

Debian, Ubuntu, CentOS i Red Hat poduzeli su brze mjere kako bi zaštitili svoje korisnike i izdali zakrpe za svoje podržane verzije. Osim toga, za nepodržane su također osigurana sigurnosna rješenja.

Ažuriranje Sambe

Kao što je ranije spomenuto, postoje dva pristupa koja trebate slijediti ovisno o prethodnom načinu instalacije:

Ako ste instalirali Sambu iz repozitorija svoje distribucije.

Pogledajmo što trebate učiniti u ovom slučaju:

Popravite Sambacry u Debianu

Provjerite je li apt postavljen za dobivanje najnovijih sigurnosnih ažuriranja dodavanjem sljedećih redaka na vaš popis izvora (/etc/apt/sources.list):

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

Zatim ažurirajte popis dostupnih paketa:

aptitude update

Konačno, provjerite odgovara li verzija samba paketa verziji u kojoj je ranjivost popravljena (pogledajte CVE-2017-7494):

aptitude show samba

Popravite Sambacry u Ubuntuu

Za početak provjerite nove dostupne pakete i ažurirajte samba paket na sljedeći način:

sudo apt-get update
sudo apt-get install samba

Sljedeće su verzije Sambe na koje je već primijenjen popravak za 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

Na kraju, pokrenite sljedeću naredbu da provjerite ima li vaš Ubuntu okvir sada instaliranu pravu verziju Sambe.

sudo apt-cache show samba

Popravite Sambacry na CentOS/RHEL 7

Zakrpana verzija Sambe u EL 7 je samba-4.4.4-14.el7_3. Da biste ga instalirali, učinite

yum makecache fast
yum update samba

Kao i prije, provjerite imate li sada zakrpanu verziju Sambe:

yum info samba

Starije, još uvijek podržane verzije CentOS-a i RHEL-a također imaju dostupne popravke. Provjerite RHSA-2017-1270 da biste saznali više.

Ako ste instalirali Sambu iz izvora

Napomena: Sljedeći postupak pretpostavlja da ste prethodno izgradili Sambu iz izvora. Preporučujemo vam da ga opsežno isprobate u okruženju za testiranje PRIJE postavljanja na produkcijski poslužitelj.

Osim toga, provjerite jeste li sigurnosno kopirali datoteku smb.conf prije nego što počnete.

U ovom slučaju, kompajlirat ćemo i ažurirati Sambu također iz izvora. Međutim, prije nego što počnemo, moramo osigurati da su sve ovisnosti prethodno instalirane. Imajte na umu da ovo može potrajati nekoliko minuta.

U Debianu i Ubuntuu:

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

U CentOS 7 ili sličnom:

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

Zaustavite uslugu:

systemctl stop smbd

Preuzmite i detarirajte izvor (pri čemu je 4.6.4 najnovija verzija u vrijeme pisanja ovog teksta):

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

Samo u informativne svrhe provjerite dostupne opcije konfiguracije za trenutno izdanje pomoću.

./configure --help

Možete uključiti neke od opcija koje je vratila gornja naredba ako su korištene u prethodnoj verziji ili možete odabrati zadanu:

./configure
make
make install

Na kraju ponovno pokrenite uslugu.

systemctl restart smbd

i potvrdite da koristite ažuriranu verziju:

smbstatus --version

koji bi trebao vratiti 4.6.4.

Opća razmatranja

Ako koristite nepodržanu verziju određene distribucije i ne možete izvršiti nadogradnju na noviju iz nekog razloga, trebali biste uzeti u obzir sljedeće prijedloge:

  • Ako je SELinux omogućen, zaštićeni ste!
  • Provjerite jesu li Samba dionice montirane s opcijom noexec. Ovo će spriječiti izvođenje binarnih datoteka koje se nalaze na montiranom datotečnom sustavu.

Dodati,

nt pipe support = no

u odjeljak [global] vaše smb.conf datoteke i ponovno pokrenite uslugu. Možda ćete htjeti imati na umu da ovo "može onemogućiti neke funkcije u Windows klijentima", prema projektu Samba.

Važno: Imajte na umu da bi opcija “nt pipe support=no ” onemogućila popis dionica iz Windows klijenata. Npr.: Kada upišete \\10.100.10.2\ iz Windows Explorera na samba poslužitelju, dobili biste odbijenu dozvolu. Windows klijenti morali bi ručno navesti dijeljenje kao \\10.100.10.2\share_name za pristup dijeljenju.

Sažetak

U ovom smo članku opisali ranjivost poznatu kao SambaCry i kako je ublažiti. Nadamo se da ćete ove podatke moći koristiti za zaštitu sustava za koje ste odgovorni.

Ako imate pitanja ili komentara o ovom članku, slobodno nam se javite putem donjeg obrasca.