Cara Memperbaiki Kerentanan Sambacry (CVE-2017-7494) dalam Sistem Linux

Cara Memperbaiki Kerentanan Sambacry (CVE-2017-7494) dalam Sistem Linux

Samba telah lama menjadi standard untuk menyediakan fail dan perkhidmatan cetak yang dikongsi kepada pelanggan Windows di *Nix Systems. Digunakan oleh pengguna rumah, perniagaan pertengahan, dan syarikat besar, ia menonjol sebagai penyelesaian dalam persekitaran di mana sistem operasi yang berbeza wujud bersama.

Kerana sedihnya berlaku dengan alat yang digunakan secara meluas, kebanyakan pemasangan samba berada dalam risiko serangan yang mungkin mengeksploitasi kelemahan yang diketahui, yang tidak dianggap serius sehingga WannaCry Serangan ransomware memukul berita tidak lama dahulu.

Dalam artikel ini, kami akan menerangkan apa kelemahan samba ini dan bagaimana untuk melindungi sistem yang anda bertanggungjawab terhadapnya. Bergantung pada jenis pemasangan anda (dari repositori atau dari sumber), anda perlu mengambil pendekatan yang berbeza untuk melakukannya.

Sekiranya anda sedang menggunakan samba di mana -mana persekitaran atau mengenali seseorang yang melakukannya, baca terus!

Kerentanan

Sistem yang sudah lapuk dan tidak terkawal terdedah kepada kelemahan pelaksanaan kod jauh. Secara ringkas, ini bermakna bahawa seseorang yang mempunyai akses ke bahagian yang boleh ditulis dapat memuat naik sekeping kod sewenang -wenangnya dan melaksanakannya dengan kebenaran root di pelayan.

Isu ini diterangkan di laman web Samba sebagai CVE-2017-7494 dan diketahui mempengaruhi versi samba 3.5 (dibebaskan pada awal Mac 2010) dan seterusnya. Secara tidak rasmi, ia telah dinamakan Sambacry kerana persamaannya dengan WannaCry: Kedua -duanya mensasarkan protokol SMB dan berpotensi boleh dicapai - yang boleh menyebabkannya tersebar dari sistem ke sistem.

Debian, Ubuntu, Centos dan Red Hat telah mengambil tindakan pesat untuk melindungi penggunanya dan telah mengeluarkan patch untuk versi yang disokong mereka. Di samping itu, penyelesaian keselamatan juga telah disediakan untuk yang tidak disokong.

Mengemas kini samba

Seperti yang dinyatakan sebelum ini, terdapat dua pendekatan untuk diikuti bergantung pada kaedah pemasangan sebelumnya:

Sekiranya anda memasang samba dari repositori pengedaran anda.

Mari kita lihat apa yang perlu anda lakukan dalam kes ini:

Betulkan Sambacry di Debian

Pastikan APT ditetapkan untuk mendapatkan kemas kini keselamatan terkini dengan menambahkan baris berikut ke senarai sumber anda (/etc/apt/sumber.senarai):

Deb http: // keselamatan.Debian.org stabil/kemas kini utama deb-src http: // keselamatan.Debian.org/ stabil/ kemas kini utama 

Seterusnya, kemas kini senarai pakej yang tersedia:

# Kemas kini Aptitude 

Akhirnya, pastikan versi pakej Samba sepadan dengan versi di mana kelemahan telah ditetapkan (lihat CVE-2017-7494):

# tunjukkan kebolehan samba 
Betulkan Sambacry di Debian

Betulkan sambacry di Ubuntu

Untuk memulakan, periksa pakej baru yang tersedia dan kemas kini pakej Samba seperti berikut:

$ sudo apt-get update $ sudo apt-get pemasangan samba 

Versi samba di mana pembaikan untuk CVE-2017-7494 telah digunakan adalah seperti berikut:

  • 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

Akhirnya, jalankan arahan berikut untuk mengesahkan bahawa kotak Ubuntu anda sekarang mempunyai versi samba yang betul dipasang.

$ sudo apt-cache show samba 

Betulkan Sambacry pada CentOS/RHEL 7

Versi samba yang ditampal di EL 7 adalah Samba-4.4.4-14.EL7_3. Untuk memasangnya, lakukan

# yum makecache cepat # yum kemas kini samba 

Seperti dahulu, pastikan anda kini mempunyai versi Samba yang ditambal:

# yum info samba 
Betulkan Sambacry di Centos

Lebih tua, masih disokong versi CentOS dan RHEL mempunyai perbaikan yang tersedia juga. Semak RHSA-2017-1270 untuk mengetahui lebih lanjut.

Sekiranya anda memasang samba dari sumber

Catatan: Prosedur berikut menganggap bahawa anda telah membina samba dari sumber. Anda sangat digalakkan untuk mencubanya secara meluas dalam persekitaran ujian sebelum menggunakannya ke pelayan pengeluaran.

Di samping itu, pastikan anda membuat sandaran SMB.Conf fail sebelum anda memulakan.

Dalam kes ini, kami akan menyusun dan mengemas kini samba dari sumber juga. Sebelum kita memulakan, bagaimanapun, kita mesti memastikan semua kebergantungan dipasang sebelum ini. Perhatikan bahawa ini mungkin mengambil masa beberapa minit.

Di Debian dan 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-all-dev python python python python python python python python python python python python python python python python python python python python python python python python python python python python python python python python python python python python python python python python python python python python-dn -dev libsystemd-dev libgpgme11-dev python-gpgme python-m2crypto 

Di Centos 7 atau serupa:

# yum pemasangan attr bind-utils docbook-style-xsl gcc gdb krb5-workstation \ libsemanage-python libxslt perl-perl-extutils-makemaker \ perl-parse-yapp perl-test-base pkgconfigs-python-python-python-python-python-python-python-python-python-python-python-python-python-python-python-python-python-python-python-python-python-python-python-python-python-python-python-python-pyThon-python-pyThon-python-pyThon-python-python-python-python-python \ libattr-devel keyutils-libs-devel \ libacl-devel libaio-devel libblkid-devel libxml2-devel openldap-devel \ pam-devel popt-devel-devel-devel-devel-devel-devel-devel-devel-devel-devel-devel-devel-devel-devel-devel-devel-devel-devel-devel-devel-devel-devel-devel-devel-devel-devel-devel-devel-devel-devel-devel-devel zlel 

Hentikan perkhidmatan:

# Systemctl Stop SMBD 

Muat turun dan untar sumber (dengan 4.6.4 menjadi versi terkini pada masa penulisan ini):

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

Untuk tujuan bermaklumat sahaja, periksa pilihan konfigurasi yang tersedia untuk pelepasan semasa dengan.

# ./Konfigurasi -Help 

Anda mungkin memasukkan beberapa pilihan yang dikembalikan oleh arahan di atas jika ia digunakan dalam binaan sebelumnya, atau anda boleh memilih untuk pergi dengan lalai:

# ./konfigurasikan # buat # buat pemasangan 

Akhirnya, mulakan semula perkhidmatan.

# Systemctl Mulakan semula SMBD 

Dan sahkan anda menjalankan versi terkini:

# smbstatus --version 

yang sepatutnya kembali 4.6.4.

Pertimbangan Umum

Sekiranya anda menjalankan versi pengedaran yang tidak disokong dan tidak dapat menaik taraf ke yang lebih baru untuk beberapa sebab, anda mungkin ingin mengambil cadangan berikut:

  • Sekiranya selinux diaktifkan, anda dilindungi!
  • Pastikan saham Samba dipasang dengan pilihan NOEXEC. Ini akan menghalang pelaksanaan binari yang tinggal di sistem fail yang dipasang.

Tambah,

sokongan paip nt = tidak 

ke bahagian [global] anda SMB.Conf fail dan mulakan semula perkhidmatan. Anda mungkin ingin ingat bahawa ini "boleh melumpuhkan beberapa fungsi dalam pelanggan Windows", seperti projek samba.

Penting: Sedar bahawa pilihan "sokongan paip nt = tidak"Akan melumpuhkan penyenaraian saham dari klien windows. Cth: semasa anda menaip \\ 10.100.10.2 \ Dari Windows Explorer di pelayan Samba, anda akan mendapat kebenaran ditolak. Pelanggan Windows perlu menentukan secara manual sebagai bahagian \\ 10.100.10.2 \ share_name Untuk mengakses bahagian.

Ringkasan

Dalam artikel ini, kami telah menerangkan kelemahan yang dikenali sebagai sambak dan bagaimana mengurangkannya. Kami berharap anda dapat menggunakan maklumat ini untuk melindungi sistem yang anda bertanggungjawab.

Sekiranya anda mempunyai sebarang pertanyaan atau komen mengenai artikel ini, jangan ragu untuk menggunakan borang di bawah untuk memberitahu kami.