Pengenalan | Samba telah lama menjadi standard untuk menyediakan perkhidmatan fail dan cetakan kongsi kepada pelanggan Windows pada sistem Linux. Digunakan oleh pengguna rumah, perniagaan bersaiz sederhana dan syarikat besar, ia menonjol sebagai penyelesaian terbaik dalam persekitaran yang berbilang sistem pengendalian wujud bersama, sesuatu yang dihadapi oleh kebanyakan pemasangan Samba disebabkan oleh penggunaan alat yang meluas Risiko serangan yang mengeksploitasi a kelemahan diketahui yang dianggap tidak penting sehingga berita tentang serangan ransomware WannaCry keluar. |
Sistem lapuk dan tidak ditambal terdedah kepada kelemahan pelaksanaan kod jauh. Secara ringkas, ini bermakna seseorang yang mempunyai akses kepada bahagian boleh tulis boleh memuat naik sekeping kod sewenang-wenangnya dan melaksanakannya menggunakan keistimewaan root dalam pelayan.
Isu ini digambarkan sebagai CVE-2017-7494 di tapak web Samba dan diketahui menjejaskan Samba v3.5 (dikeluarkan pada awal Mac 2010) dan kemudian. Ia secara tidak rasmi dinamakan SambaCry kerana persamaan dengan WannaCry: kedua-duanya menyasarkan protokol SMB dan berkemungkinan cacing - yang boleh menyebabkan ia merebak dari satu sistem ke sistem yang lain.
Debian, Ubuntu, CentOS dan Red Hat telah mengambil tindakan pantas untuk melindungi pengguna mereka dan mengeluarkan patch untuk versi yang disokong mereka. Selain itu, penyelesaian keselamatan yang tidak disokong disediakan.
Kemas kini SambaSeperti yang dinyatakan sebelum ini, terdapat dua cara untuk mengemas kini bergantung pada cara anda memasangnya sebelum ini:
Mari lihat apa yang anda perlu lakukan dalam situasi ini:
Betulkan SambaCry di bawah Debian
Tambah baris berikut pada senarai sumber anda (/etc/apt/sources.list) untuk memastikan apt mendapat kemas kini keselamatan terkini:
deb http://security.debian.org stable/updates main deb-src http://security.debian.org/ stable/updates main
Seterusnya, kemas kini pakej yang ada:
# aptitude update
Akhir sekali, pastikan versi pakej samba sepadan dengan versi pembetulan pepijat (lihat CVE-2017-7494):
# aptitude show samba
Betulkan SambaCry dalam Debian
Membetulkan SambaCry dalam Ubuntu
Untuk memulakan pembaikan, semak pakej baharu yang tersedia dan kemas kini pakej Samba seperti berikut:
$ sudo apt-get update $ sudo apt-get install samba
Versi Samba yang telah menetapkan CVE-2017-7494 adalah seperti berikut:
Akhir sekali, jalankan arahan di bawah untuk mengesahkan bahawa Ubuntu anda telah memasang versi yang betul.
$ sudo apt-cache show samba
Betulkan SambaCry dalam CentOS/RHEL 7
Versi Samba yang ditampal dalam EL 7 ialah samba-4.4.4-14.el7_3. Untuk memasangnya, ini lakukan:
# yum makecache fast # yum update samba
Seperti sebelum ini, pastikan anda memasang versi Samba yang ditampal:
# yum info samba
Betulkan SambaCry dalam CentOS
CentOS yang disokong lama dan versi RHEL yang lebih lama juga telah ditetapkan. Lihat RHSA-2017-1270 untuk maklumat lanjut.
Nota: Prosedur berikut menganggap anda telah membina Samba dari sumber sebelum ini. Anda amat disyorkan untuk mencubanya dalam persekitaran ujian sebelum digunakan ke pelayan pengeluaran.
Selain itu, pastikan anda membuat sandaran fail smb.conf anda sebelum memulakan.
Dalam kes ini, kami juga akan menyusun dan mengemas kini Samba daripada sumber. Walau bagaimanapun, sebelum kita mula, kita mesti memastikan bahawa semua kebergantungan dipasang. Ambil perhatian bahawa ini mungkin mengambil masa beberapa minit.
Dalam 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-dev python-dev python-dnspython python-crypto xsltproc / zlib1g-dev libsystemd-dev libgpgme11-dev python-gpgme python-m2crypto
Dalam CentOS 7 atau serupa:
# 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 service (terjemahan LCTT: tidak perlu di sini):
# systemctl stop smbd
Muat turun dan nyahzip kod sumber (4.6.4 ialah versi terkini semasa penulisan):
# wget https://www.samba.org/samba/ftp/samba-latest.tar.gz # tar xzf samba-latest.tar.gz # cd samba-4.6.4
Untuk tujuan maklumat, semak pilihan konfigurasi yang tersedia dengan arahan berikut.
# ./configure --help
Jika anda telah menggunakan beberapa pilihan dalam binaan sebelumnya, anda mungkin boleh memasukkan beberapa pilihan dalam pengembalian arahan di atas, atau anda boleh memilih untuk menggunakan nilai lalai:
# ./configure # make # make install
Akhirnya mulakan semula perkhidmatan.
# systemctl restart smbd
Dan sahkan anda menggunakan versi yang dikemas kini:
# smbstatus --version
Nilai yang dikembalikan di sini hendaklah 4.6.4.
Situasi lainJika anda menggunakan pengedaran yang tidak disokong dan tidak dapat menaik taraf kepada versi terkini atas sebab tertentu, anda mungkin ingin mempertimbangkan cadangan ini:
Juga:
nt pipe support = no
Ditambah pada medan [global] smb.conf. Anda mungkin perlu ingat bahawa ini "mungkin melumpuhkan ciri tertentu klien Windows" mengikut Projek Samba.
Penting: Ambil perhatian bahawa sokongan paip nt = tiada pilihan melumpuhkan senarai kongsi untuk pelanggan Windows. Sebagai contoh: apabila anda memasukkan //10.100.10.2/ dalam Windows Explorer pada pelayan Samba, anda akan melihat "kebenaran ditolak". Pelanggan Windows perlu melaksanakan bahagian secara manual, seperti //10.100.10.2/share_name untuk mengakses bahagian tersebut.
RingkasanDalam siaran ini, kami telah menerangkan kelemahan SambaCry dan cara mengurangkan kesannya. Kami harap anda boleh menggunakan maklumat ini untuk melindungi sistem yang anda bertanggungjawab.
Jika anda mempunyai sebarang soalan atau komen tentang artikel ini, sila gunakan kotak komen di bawah untuk memberitahu kami.
Mengenai pengarang:
Gabriel Cánepa ialah pentadbir sistem GNU/Linux dan pembangun web di Villa Mercedes di San Luis, Argentina. Dia bekerja untuk sebuah syarikat barangan pengguna antarabangsa yang besar dan sangat seronok menggunakan alat FOSS dalam kerja hariannya untuk meningkatkan produktiviti.
Atas ialah kandungan terperinci Aplikasi kaedah untuk membaiki kelemahan SambaCry dalam sistem Linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!