Delen via


SMB 1 uitschakelen op Linux-clients

Veel organisaties en internetproviders (ISP's) blokkeren de poort die SMB gebruikt om te communiceren, poort 445. Deze werkwijze is afkomstig uit beveiligingsrichtlijnen over verouderde en afgeschafte versies van het SMB-protocol. Hoewel SMB 3.x een internetveilig protocol is, zijn oudere versies van SMB, met name SMB 1, niet. SMB 1, ook wel CIFS (Common Internet File System) genoemd, is opgenomen in veel Linux-distributies.

SMB 1 is een verouderd, inefficiënt en onveilig protocol. Het goede nieuws is dat Azure Files geen ondersteuning biedt voor SMB 1. Vanaf Linux-kernelversie 4.18 is het ook mogelijk om SMB 1 uit te schakelen. We raden u ten zeerste aan de SMB 1 op uw Linux-clients uit te schakelen voordat u SMB-bestandsshares in productie gebruikt.

Let op

Dit artikel verwijst naar CentOS, een Linux-distributie die na juni 2024 niet meer wordt ondersteund. Houd rekening met uw gebruik en plan dienovereenkomstig. Zie de Richtlijnen voor het einde van de levensduur van CentOS voor meer informatie.

Linux-distributiestatus

Vanaf Linux-kernel 4.18 maakt de SMB-kernelmodule, die om verouderde redenen wordt aangeroepencifs, een nieuwe moduleparameter beschikbaar (ook wel parm genoemd door verschillende externe documentatie).disable_legacy_dialects Hoewel ze zijn geïntroduceerd in Linux-kernel 4.18, hebben sommige leveranciers deze wijziging teruggezet naar oudere kernels die ze ondersteunen. De volgende tabel bevat informatie over de beschikbaarheid van deze moduleparameter voor algemene Linux-distributies.

Distributie Kan SMB 1 uitschakelen
Ubuntu 14.04-16.04 Nee
Ubuntu 18.04 Ja
Ubuntu 19.04+ Ja
Debian 8-9 Nee
Debian 10+ Ja
Fedora 29+ Ja
CentOS 7 Nee
CentOS 8+ Ja
Red Hat Enterprise Linux 6.x-7.x Nee
Red Hat Enterprise Linux 8+ Ja
openSUSE Leap 15.0 Nee
openSUSE Leap 15.1+ Ja
openSUSE trommelwied Ja
SUSE Linux Enterprise 11.x-12.x Nee
SUSE Linux Enterprise 15 Nee
SUSE Linux Enterprise 15.1 Nee

U kunt controleren of uw Linux-distributie de disable_legacy_dialects moduleparameter ondersteunt via de volgende opdracht:

sudo modinfo -p cifs | grep disable_legacy_dialects

Met deze opdracht moet het volgende bericht worden weergegeven:

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)

SMB 1 verwijderen

Voordat u SMB 1 uitschakelt, controleert u of de SMB-module momenteel niet op uw systeem is geladen (wat automatisch gebeurt als u een SMB-share hebt gekoppeld). Voer de volgende opdracht uit, die niets moet uitvoeren als SMB niet is geladen:

lsmod | grep cifs

Als u de module wilt verwijderen, moet u eerst alle SMB-shares ontkoppelen met behulp van de umount opdracht. U kunt alle gekoppelde SMB-shares op uw systeem identificeren met de volgende opdracht:

mount | grep cifs

Nadat u alle SMB-bestandsshares hebt ontkoppeld, kunt u de module veilig verwijderen. Voer de modprobe opdracht uit:

sudo modprobe -r cifs

U kunt de module handmatig laden met SMB 1 uitgepakt met behulp van de modprobe opdracht:

sudo modprobe cifs disable_legacy_dialects=Y

Ten slotte kunt u controleren of de SMB-module is geladen met de parameter door te kijken naar de geladen parameters in /sys/module/cifs/parameters:

cat /sys/module/cifs/parameters/disable_legacy_dialects

Als u SMB 1 permanent wilt uitschakelen op Ubuntu- en Debian-distributies, moet u een nieuw bestand maken (als u nog geen aangepaste opties voor andere modules hebt) die met de instelling wordt aangeroepen /etc/modprobe.d/local.conf . Voer de volgende opdracht uit:

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

U kunt controleren of dit heeft gewerkt door de SMB-module te laden:

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

Volgende stappen

Raadpleeg de volgende koppelingen voor meer informatie over Azure Files: