Si të rregulloni cenueshmërinë SambaCry (CVE-2017-7494) në Sistemet Linux
Samba ka qenë prej kohësh standardi për ofrimin e shërbimeve të përbashkëta të skedarëve dhe printimeve për klientët e Windows në sistemet *nix. I përdorur nga përdoruesit shtëpiak, bizneset e mesme dhe kompanitë e mëdha njësoj, ai shquhet si zgjidhja kryesore në mjediset ku bashkëjetojnë sisteme të ndryshme operative.
Siç ndodh fatkeqësisht me mjetet e përdorura gjerësisht, shumica e instalimeve të Samba janë nën rrezikun e një sulmi që mund të shfrytëzojë një cenueshmëri të njohur, e cila nuk u konsiderua si serioze derisa sulmi i ransomware-it WannaCry publikoi lajmin jo shumë kohë më parë.
Në këtë artikull, ne do të shpjegojmë se çfarë është kjo dobësi Samba dhe si të mbroni sistemet për të cilat jeni përgjegjës kundër tij. Në varësi të llojit të instalimit (nga depot ose nga burimi), do t'ju duhet të merrni një qasje të ndryshme për ta bërë atë.
Nëse aktualisht jeni duke përdorur Samba në ndonjë mjedis ose njihni dikë që e bën këtë, lexoni!
Cenueshmëria
Sistemet e vjetruara dhe të papatchuara janë të cenueshme ndaj një cenueshmërie të ekzekutimit të kodit në distancë. Me fjalë të thjeshta, kjo do të thotë që një person me akses në një aksion të shkrimshëm mund të ngarkojë një pjesë të kodit arbitrar dhe ta ekzekutojë atë me lejet rrënjësore në server.
Çështja përshkruhet në faqen e internetit të Samba si CVE-2017-7494 dhe dihet se ndikon në versionet 3.5 të Samba (të lëshuara në fillim të marsit 2010) e në vazhdim. Jozyrtarisht, ai është emëruar SambaCry për shkak të ngjashmërive të tij me WannaCry: të dy synojnë protokollin SMB dhe janë potencialisht të krimbueshëm – gjë që mund të bëjë që ai të përhapet nga sistemi në sistem.
Debian, Ubuntu, CentOS dhe Red Hat kanë ndërmarrë veprime të shpejta për të mbrojtur përdoruesit e saj dhe kanë lëshuar arna për versionet e tyre të mbështetura. Për më tepër, zgjidhjet e sigurisë janë dhënë edhe për ato të pambështetura.
Po përditësohet Samba
Siç u përmend më herët, ekzistojnë dy qasje që duhen ndjekur në varësi të metodës së mëparshme të instalimit:
Nëse keni instaluar Samba nga depot e shpërndarjes suaj.
Le të hedhim një vështrim se çfarë duhet të bëni në këtë rast:
Sigurohuni që apt të jetë vendosur për të marrë përditësimet më të fundit të sigurisë duke shtuar linjat e mëposhtme në listën tuaj të burimeve (/etc/apt/sources.list):
deb http://security.debian.org stable/updates main
deb-src http://security.debian.org/ stable/updates main
Më pas, përditësoni listën e paketave të disponueshme:
# aptitude update
Së fundi, sigurohuni që versioni i paketës samba përputhet me versionin ku është rregulluar cenueshmëria (shih CVE-2017-7494):
# aptitude show samba
Për të filluar, kontrolloni për paketa të reja të disponueshme dhe përditësoni paketën samba si më poshtë:
$ sudo apt-get update
$ sudo apt-get install samba
Versionet Samba ku rregullimi për CVE-2017-7494 është aplikuar tashmë janë si më poshtë:
- 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
Më në fund, ekzekutoni komandën e mëposhtme për të verifikuar që kutia juaj Ubuntu tani ka të instaluar versionin e duhur Samba.
$ sudo apt-cache show samba
Versioni i arnuar i Samba në EL 7 është samba-4.4.4-14.el7_3. Për ta instaluar, bëni
# yum makecache fast
# yum update samba
Si më parë, sigurohuni që tani të keni versionin e arnuar të Samba:
# yum info samba
Versionet e vjetra, ende të mbështetura të CentOS dhe RHEL kanë gjithashtu rregullime të disponueshme. Kontrolloni RHSA-2017-1270 për të mësuar më shumë.
Shënim: Procedura e mëposhtme supozon se ju keni ndërtuar më parë Samba nga burimi. Jeni shumë të inkurajuar ta provoni atë gjerësisht në një mjedis testimi PARA se ta vendosni në një server prodhimi.
Për më tepër, sigurohuni që të bëni kopje rezervë të skedarit smb.conf përpara se të filloni.
Në këtë rast, ne do të përpilojmë dhe përditësojmë Samba gjithashtu nga burimi. Megjithatë, përpara se të fillojmë, duhet të sigurohemi që të gjitha varësitë të jenë instaluar më parë. Vini re se kjo mund të zgjasë disa minuta.
# 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
Ndalo shërbimin:
# systemctl stop smbd
Shkarkoni dhe hiqni burimin (me 4.6.4 që është versioni më i fundit në kohën e këtij shkrimi):
# wget https://www.samba.org/samba/ftp/samba-latest.tar.gz
# tar xzf samba-latest.tar.gz
# cd samba-4.6.4
Vetëm për qëllime informative, kontrolloni opsionet e disponueshme të konfigurimit për versionin aktual me.
# ./configure --help
Ju mund të përfshini disa nga opsionet e kthyera nga komanda e mësipërme nëse ato janë përdorur në ndërtimin e mëparshëm, ose mund të zgjidhni të shkoni me parazgjedhjen:
# ./configure
# make
# make install
Më në fund, rinisni shërbimin.
# systemctl restart smbd
dhe verifikoni që po ekzekutoni versionin e përditësuar:
# smbstatus --version
e cila duhet të kthehet 4.6.4.
Konsiderata të Përgjithshme
Nëse po ekzekutoni një version të pambështetur të një shpërndarjeje të caktuar dhe nuk jeni në gjendje të përmirësoni në një më të fundit për ndonjë arsye, mund të dëshironi të merrni parasysh sugjerimet e mëposhtme:
- Nëse SELinux është i aktivizuar, ju jeni të mbrojtur!
- Sigurohu që aksionet e Samba të jenë montuar me opsionin noexec. Kjo do të parandalojë ekzekutimin e binarëve që banojnë në sistemin e skedarëve të montuar.
Shtoni,
nt pipe support = no
në seksionin [global] të skedarit tuaj smb.conf dhe rinisni shërbimin. Ju mund të dëshironi të mbani parasysh se kjo mund të çaktivizojë disa funksione në klientët e Windows, sipas projektit Samba.
E rëndësishme: Kini parasysh se opsioni nt tub support = jo do të çaktivizonte listimin e aksioneve nga klientët e Windows. P.sh.: Kur shkruani \10.100.10.2\ nga Windows Explorer në një server samba, do të refuzohej një leje. Klientët e Windows do të duhet të specifikoni manualisht ndarjen si \10.100.10.2\share_name për të hyrë në share.
Në këtë artikull, ne kemi përshkruar cenueshmërinë e njohur si SambaCry dhe si ta zbusim atë. Shpresojmë që do të jeni në gjendje t'i përdorni këto informacione për të mbrojtur sistemet për të cilat jeni përgjegjës.
Nëse keni ndonjë pyetje ose koment rreth këtij artikulli, mos ngurroni të përdorni formularin e mëposhtëm për të na njoftuar.