Bagikan melalui


Menonaktifkan SMB 1 pada klien Linux

Banyak organisasi dan penyedia layanan internet (ISP) yang memblokir port yang digunakan SMB untuk berkomunikasi, port 445. Praktik ini berasal dari panduan keamanan tentang warisan dan protokol SMB versi yang tidak digunakan lagi. Meskipun SMB 3.x adalah protokol yang aman internet, versi SMB yang lebih lama, terutama SMB 1, tidak. SMB 1, juga dikenal sebagai CIFS (Common Internet File System), disertakan dengan banyak distribusi Linux.

SMB 1 adalah protokol yang ketinggalan zaman, tidak efisien, dan tidak aman. Kabar baiknya adalah bahwa Azure Files tidak mendukung SMB 1. Selain itu, dimulai dengan kernel Linux versi 4.18, Linux memungkinkan untuk menonaktifkan SMB 1. Sebaiknya nonaktifkan SMB 1 pada klien Linux Anda sebelum menggunakan berbagi file SMB dalam produksi.

Perhatian

Artikel ini mereferensikan CentOS, distribusi Linux yang tidak akan lagi didukung setelah Juni 2024. Harap pertimbangkan penggunaan dan rencanakan yang sesuai. Untuk informasi selengkapnya, lihat panduan Akhir Masa Pakai CentOS.

Status distribusi Linux

Dimulai dengan kernel Linux 4.18, modul kernel SMB, yang dipanggil cifs karena alasan warisan, mengekspos parameter modul baru (sering disebut sebagai parm oleh berbagai dokumentasi eksternal) yang disebut disable_legacy_dialects. Meskipun diperkenalkan dalam kernel Linux 4.18, beberapa vendor telah mendukung perubahan ini ke kernel lama yang mereka dukung. Tabel berikut merinci ketersediaan parameter modul ini pada distribusi Linux umum.

Distribusi Dapat menonaktifkan SMB 1
Ubuntu 14.04-16.04 No
Ubuntu 18.04 Ya
Ubuntu 19.04 Ya
Debian 8-9+ No
Debian 10+ Ya
Fedora 29+ Ya
CentOS 7 No
CentOS 8+ Ya
Red Hat Enterprise Linux 6.x-7.x No
Red Hat Enterprise Linux 8+ Ya
openSUSE Leap 15.0 No
openSUSE Leap 15.1+ Ya
openSUSE Tumbleweed Ya
SUSE Linux Enterprise 11.x-12.x No
SUSE Linux Enterprise 15 No
SUSE Linux Enterprise 15.1 No

Anda dapat memeriksa jika distribusi Linux Anda mendukung parameter modul disable_legacy_dialects melalui perintah berikut:

sudo modinfo -p cifs | grep disable_legacy_dialects

Perintah ini harus mengeluarkan pesan berikut:

disable_legacy_dialects: To improve security it may be helpful to restrict the ability to override the default dialects (SMB2.1, SMB3 and SMB3.02) on mount with old dialects (CIFS/SMB1 and SMB2) since vers=1.0 (CIFS/SMB1) and vers=2.0 are weaker and less secure. Default: n/N/0 (bool)

Hapus SMB 1

Sebelum menonaktifkan SMB 1, konfirmasikan bahwa modul SMB saat ini tidak dimuat pada sistem Anda (yang terjadi secara otomatis jika Anda telah memasang berbagi SMB). Jalankan perintah berikut, yang seharusnya tidak menghasilkan apa pun jika SMB tidak dimuat:

lsmod | grep cifs

Untuk membongkar modul, pertama-tama lepas semua berbagi SMB menggunakan umount perintah . Anda dapat mengidentifikasi semua saham SMB yang dipasang pada sistem Anda dengan perintah berikut:

mount | grep cifs

Setelah Anda melepas semua berbagi file SMB, aman untuk membongkar modul. Jalankan modprobe perintah:

sudo modprobe -r cifs

Anda dapat memuat modul secara manual dengan SMB 1 yang dibongkar menggunakan perintah modprobe:

sudo modprobe cifs disable_legacy_dialects=Y

Akhirnya, Anda dapat memeriksa modul SMB telah dimuat dengan parameter dengan melihat parameter yang dimuat di /sys/module/cifs/parameters :

cat /sys/module/cifs/parameters/disable_legacy_dialects

Untuk terus menonaktifkan SMB 1 pada distribusi berbasis Ubuntu dan Debian, Anda harus membuat file baru (jika Anda belum memiliki opsi kustom untuk modul lain) yang disebut /etc/modprobe.d/local.conf dengan pengaturan. Jalankan perintah berikut:

echo "options cifs disable_legacy_dialects=Y" | sudo tee -a /etc/modprobe.d/local.conf > /dev/null

Anda dapat memverifikasi bahwa ini telah berhasil dengan memuat modul SMB:

sudo modprobe cifs
cat /sys/module/cifs/parameters/disable_legacy_dialects

Langkah berikutnya

Lihat tautan ini untuk informasi selengkapnya tentang Azure Files: