Cara Memperbaiki Kerentanan Sambacry (CVE-2017-7494) dalam Sistem Linux
- 1583
- 362
- Dale Harris II
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 sambaBetulkan 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 sambaBetulkan 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.
- « Mycli-Pelanggan MySQL/MariaDB dengan Penyempurnaan Auto dan Sintaks
- Pasang dan konfigurasikan pfblockerng untuk penyenaraian hitam DNS di firewall pfsense »