Wéi Fix SambaCry Vulnerabilitéit (CVE-2017-7494) a Linux Systemer


Samba ass laang de Standard fir gedeelt Dateien an Dréckservicer u Windows Clienten op *nix Systemer ze bidden. Benotzt vun Heembenotzer, mëttelgrousse Betriber a grouss Firmen gläich, et steet eraus als d'Go-to-Léisung an Ëmfeld wou verschidde Betribssystemer zesumme existéieren.

Wéi et leider mat breet benotzten Tools geschitt, sinn déi meescht Samba Installatiounen ënner Risiko vun engem Attack, deen eng bekannte Schwachstelle kéint ausnotzen, déi net als sérieux ugesi gouf bis de WannaCry Ransomware Attack d'Noriichte virun net ze laanger Zäit getraff huet.

An dësem Artikel wäerte mir erkläre wat dës Samba Schwachstelle ass a wéi Dir d'Systeme schützt fir déi Dir verantwortlech sidd. Ofhängeg vun Ärem Installatiounstyp (vu Repositories oder vu Quell), musst Dir eng aner Approche huelen fir et ze maachen.

Wann Dir de Moment Samba an all Ëmfeld benotzt oder een kennt deen et mécht, liest weider!

D'Vulnerabilitéit

Outdated an unpatched Systemer si vulnérabel fir eng Remote Code Ausféierung Schwachstelle. An einfache Begrëffer heescht dat, datt eng Persoun mat Zougang zu engem schreiwenbare Deel e Stéck arbiträr Code eropluede kann an et mat root Permissiounen am Server ausféieren.

D'Thema gëtt op der Samba Websäit als CVE-2017-7494 beschriwwen an ass bekannt datt se Samba Versiounen 3.5 beaflossen (am Ufank Mäerz 2010 verëffentlecht) a weider. Inoffiziell gouf et SambaCry genannt wéinst senge Ähnlechkeeten mat WannaCry: béid zielen de SMB Protokoll a si potenziell wormbar - wat et verursaache kann, vu System zu System ze verbreeden.

Debian, Ubuntu, CentOS a Red Hat hu séier Handlung geholl fir seng Benotzer ze schützen an hunn Patches fir hir ënnerstëtzt Versiounen verëffentlecht. Zousätzlech goufen och Sécherheetsléisungen fir net ënnerstëtzte geliwwert.

Samba aktualiséieren

Wéi virdru scho gesot, et ginn zwou Approche fir ze verfollegen ofhängeg vun der viregter Installatiounsmethod:

Wann Dir Samba aus de Repositories vun Ärer Verdeelung installéiert hutt.

Loosst eis kucken wat Dir an dësem Fall maache musst:

Vergewëssert Iech datt apt agestallt ass fir déi lescht Sécherheetsupdates ze kréien andeems Dir déi folgend Zeilen op Är Quelllëscht bäidréit (/etc/apt/sources.list):

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

Als nächst, update d'Lëscht vun verfügbare Packagen:

# aptitude update

Schlussendlech, vergewëssert Iech datt d'Versioun vum Samba Package mat der Versioun entsprécht wou d'Schwachheet fixéiert gouf (kuckt CVE-2017-7494):

# aptitude show samba

Fir unzefänken, kuckt no nei verfügbare Packagen an update de Samba Package wéi follegt:

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

D'Samba Versioune wou de Fix fir CVE-2017-7494 scho applizéiert gouf sinn déi folgend:

  • 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

Endlech, fuert de folgende Kommando fir z'iwwerpréiwen datt Är Ubuntu Box elo déi richteg Samba Versioun installéiert huet.

$ sudo apt-cache show samba

Déi patched Samba Versioun am EL 7 ass samba-4.4.4-14.el7_3. Fir et z'installéieren, maacht

# yum makecache fast
# yum update samba

Wéi virdrun, gitt sécher datt Dir elo déi patched Samba Versioun hutt:

# yum info samba

Eeler, nach ëmmer ënnerstëtzt Versioune vu CentOS an RHEL hunn och verfügbar Fixes. Kuckt RHSA-2017-1270 fir méi gewuer ze ginn.

Notiz: Déi folgend Prozedur gëtt ugeholl datt Dir virdru Samba aus der Quell gebaut hutt. Dir sidd héich encouragéiert et extensiv an engem Testëmfeld ze probéieren IERT Dir et op e Produktiounsserver ofsetzt.

Zousätzlech, vergewëssert Iech datt Dir d'smb.conf Datei backt ier Dir ufänkt.

An dësem Fall wäerte mir Samba och vun der Quell kompiléieren an aktualiséieren. Ier mer awer ufänken, musse mir sécherstellen datt all Ofhängegkeete virdru installéiert sinn. Notéiert datt dëst e puer Minutten daueren kann.

# 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

Stop de Service:

# systemctl stop smbd

Eroflueden an untar d'Quell (mat 4.6.4 déi lescht Versioun am Moment vun dësem Schreiwen ass):

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

Nëmme fir informativ Zwecker, kontrolléiert déi verfügbar Konfiguratiounsoptioune fir déi aktuell Verëffentlechung mat.

# ./configure --help

Dir kënnt e puer vun den Optiounen enthalen, déi vum uewe genannte Kommando zréckkomm sinn, wa se an der viregter Build benotzt goufen, oder Dir kënnt wielen mat dem Standard ze goen:

# ./configure
# make
# make install

Endlech, restart de Service.

# systemctl restart smbd

a kontrolléiert datt Dir déi aktualiséiert Versioun leeft:

# smbstatus --version

déi soll zréck 4.6.4.

Allgemeng Iwwerleeungen

Wann Dir eng net-ënnerstëtzt Versioun vun enger bestëmmter Verdeelung leeft an aus irgendege Grënn net op eng méi rezent Upgrade kënnt, da wëllt Dir vläicht déi folgend Virschléi berücksichtegen:

  • Wann SELinux aktivéiert ass, sidd Dir geschützt!
  • Vergewëssert Iech datt Samba Aktien mat der noexec Optioun montéiert sinn. Dëst wäert d'Ausféierung vu Binären verhënneren, déi um montéierte Dateiesystem wunnen.

Addéieren,

nt pipe support = no

op d'[global] Sektioun vun Ärer smb.conf Datei an de Service nei starten. Dir wëllt vläicht am Kapp behalen datt dëst \eng Funktionalitéit an Windows Clienten auszeschalten kann, sou wéi de Samba Projet.

Wichteg: Sidd bewosst datt d'Optioun \nt pipe support = nee d'Aktielëscht vu Windows Clienten auszeschalten. Zum Beispill: Wann Dir \10.100.10.2\ aus Windows Explorer op engem Samba-Server tippt, kritt Dir eng Erlaabnis refuséiert. Windows Cliente géifen muss den Deel manuell als \10.100.10.2\share_name spezifizéieren fir Zougang zum Deel ze kréien.

An dësem Artikel hu mir d'Schwachheet, bekannt als SambaCry, beschriwwen a wéi se se reduzéieren. Mir hoffen datt Dir dës Informatioun benotze kënnt fir d'Systemer ze schützen fir déi Dir verantwortlech sidd.

Wann Dir Froen oder Kommentaren iwwer dësen Artikel hutt, fillt Iech gratis de Formulaire hei ënnen ze benotzen fir eis ze wëssen.