Kā novērst SambaCry ievainojamību (CVE-2017-7494) Linux sistēmās


Samba jau sen ir standarts kopīgu failu un drukas pakalpojumu nodrošināšanai Windows klientiem * nix sistēmās. To lieto gan mājas lietotāji, gan vidēja lieluma uzņēmumi, gan lieli uzņēmumi, un tas izceļas kā risinājums vidē, kurā pastāv dažādas operētājsistēmas.

Tā kā tas skumji notiek ar plaši izmantotiem rīkiem, lielākajai daļai Samba instalāciju draud uzbrukums, kas var izmantot zināmu ievainojamību, kas netika uzskatīta par nopietnu, kamēr WansCry ransomware uzbrukums ne pārāk sen sasniedza ziņas.

Šajā rakstā mēs paskaidrosim, kas ir šī Samba ievainojamība un kā no tā aizsargāt sistēmas, par kurām esat atbildīgs. Atkarībā no instalācijas veida (no krātuvēm vai no avota), lai to izdarītu, jums būs jāpiemēro atšķirīga pieeja.

Ja jūs pašlaik izmantojat Samba jebkurā vidē vai zināt kādu, kas to lieto, lasiet tālāk!

Ievainojamība

Novecojušas un nepabeigtas sistēmas ir neaizsargātas pret koda attālās izpildes ievainojamību. Vienkārši sakot, tas nozīmē, ka persona, kurai ir piekļuve rakstāmai daļai, var augšupielādēt patvaļīga koda fragmentu un izpildīt to ar root atļaujām serverī.

Samba vietnē jautājums ir aprakstīts kā CVE-2017-7494, un ir zināms, ka tas ietekmē Samba versiju 3.5 (izlaista 2010. gada marta sākumā) un jaunākas. Neoficiāli tas tika nosaukts par SambaCry, pateicoties tā līdzībai ar WannaCry: gan mērķis ir SMB protokols, gan potenciāli tārpains - kas var izraisīt tā izplatīšanos no sistēmas uz sistēmu.

Debian, Ubuntu, CentOS un Red Hat ir ātri rīkojušies, lai aizsargātu savus lietotājus, un ir izlaiduši ielāpus viņu atbalstītajām versijām. Turklāt drošības risinājumi ir paredzēti arī neatbalstītiem.

Atjaunina Samba

Kā minēts iepriekš, atkarībā no iepriekšējās instalēšanas metodes ir jāievēro divas pieejas:

Ja instalējāt Samba no izplatīšanas krātuvēm.

Apskatīsim, kas jums jādara šajā gadījumā:

Pārliecinieties, vai apt ir iestatīts, lai iegūtu jaunākos drošības atjauninājumus, pievienojot avotu sarakstam (/etc/apt/sources.list) šādas rindas:

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

Pēc tam atjauniniet pieejamo pakotņu sarakstu:

# aptitude update

Visbeidzot, pārliecinieties, vai samba pakotnes versija atbilst versijai, kurā ievainojamība ir novērsta (skatiet CVE-2017-7494):

# aptitude show samba

Lai sāktu, pārbaudiet, vai nav jaunu pieejamo pakotņu, un atjauniniet samba pakotni šādi:

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

Samba versijas, kurās CVE-2017-7494 labojums jau ir lietots, ir šādas:

  • 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

Visbeidzot, palaidiet šo komandu, lai pārbaudītu, vai jūsu Ubuntu lodziņā tagad ir instalēta pareizā Samba versija.

$ sudo apt-cache show samba

Salāpītā Samba versija EL 7 ir samba-4.4.4-14.el7_3. Lai to instalētu, dariet

# yum makecache fast
# yum update samba

Tāpat kā iepriekš, pārliecinieties, vai tagad esat ielāpījis Samba versiju:

# yum info samba

Pieejamie labojumi ir arī vecākām, joprojām atbalstītām CentOS un RHEL versijām. Pārbaudiet RHSA-2017-1270, lai uzzinātu vairāk.

Piezīme. Šī procedūra pieņem, ka esat iepriekš izveidojis Samba no avota. Jums ir ļoti ieteicams to izmēģināt plaši testēšanas vidē PIRMS tā izvietošanas ražošanas serverī.

Pirms sākat, pārliecinieties, ka esat dublējis failu smb.conf.

Šajā gadījumā mēs apkoposim un atjaunināsim arī Samba no avota. Pirms sākam, tomēr mums jāpārliecinās, vai visas atkarības ir iepriekš instalētas. Ņemiet vērā, ka tas var ilgt vairākas minūtes.

# 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

Pārtrauciet pakalpojumu:

# systemctl stop smbd

Lejupielādējiet avotu un atceliet tā atcelšanu (rakstīšanas laikā 4.6.4 ir jaunākā versija):

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

Tikai informatīviem nolūkiem pārbaudiet pašreizējā laidiena pieejamās konfigurēšanas opcijas ar.

# ./configure --help

Jūs varat iekļaut dažas no iepriekš minētās komandas atgrieztajām opcijām, ja tās tika izmantotas iepriekšējā būvējumā, vai arī izvēlēties noklusējuma režīmu:

# ./configure
# make
# make install

Visbeidzot restartējiet pakalpojumu.

# systemctl restart smbd

un pārbaudiet, vai izmantojat atjaunināto versiju:

# smbstatus --version

kam jāatgriežas 4.6.4.

Vispārīgi apsvērumi

Ja izmantojat konkrēta izplatītāja neatbalstītu versiju un kādu iemeslu dēļ nevarat jaunināt uz jaunāku, ieteicams ņemt vērā šādus ieteikumus:

  • Ja SELinux ir iespējots, jūs esat aizsargāts!
  • Pārliecinieties, vai Samba akcijas ir pievienotas, izmantojot opciju noexec. Tas novērsīs bināro failu izpildi, kas atrodas uzmontētajā failu sistēmā.

Pievienot,

nt pipe support = no

uz sava smb.conf faila sadaļu [global] un restartējiet pakalpojumu. Iespējams, vēlēsities paturēt prātā, ka tas “var atspējot dažas Windows klientu funkcijas”, kā paredzēts Samba projektā.

Svarīgi: ņemiet vērā, ka opcija “nt pipe support = no” atspējos Windows klientu akciju sarakstu. Piemēram, ierakstot\10.100.10.2\no Windows Explorer samba serverī, jūs saņemsiet atteiktu atļauju. Windows klientiem būtu manuāli jānorāda koplietošana kā\10.100.10.2\share_name, lai piekļūtu koplietošanai.

Šajā rakstā mēs esam aprakstījuši ievainojamību, kas pazīstama kā SambaCry, un kā to mazināt. Mēs ceram, ka jūs varēsiet izmantot šo informāciju, lai aizsargātu sistēmas, par kurām esat atbildīgs.

Ja jums ir kādi jautājumi vai komentāri par šo rakstu, sazinieties ar mums, izmantojot šo veidlapu.