Erkennen, Aktivieren und Deaktivieren von SMBv1, SMBv2 und SMBv3 in Windows
In diesem Artikel wird beschrieben, wie Server Message Block (SMB) Version 1 (SMBv1), SMB Version 2 (SMBv2) und SMB Version 3 (SMBv3) auf SMB-Client- und Serverkomponenten aktiviert und deaktiviert werden.
Wenn Sie SMBv1 deaktivieren oder entfernen, treten möglicherweise Kompatibilitätsprobleme mit alten Computern oder Software auf. SMBv1 hat erhebliche Sicherheitsschwachstellen und wir raten Ihnen dringend davon ab, es zu verwenden. SMBv1 ist in keiner Edition von Windows 11 oder Windows Server 2019 und späteren Versionen standardmäßig installiert. SMBv1 ist auch nicht standardmäßig in Windows 10 installiert, mit Ausnahme von Home- und Pro-Editionen. Es wird empfohlen, den SMB-Server zu aktualisieren, der noch benötigt wird, anstatt SMBv1 neu zu installieren. Eine Liste der Partner, die SMBv1 und deren Updates erfordern, die die Anforderung entfernen, finden Sie unter SMB1 Product Clearinghouse.
Sie sollten SMBv2 und SMBv3 aktiviert lassen, aber es kann hilfreich sein, eines vorübergehend für die Problembehandlung zu deaktivieren. Weitere Informationen finden Sie unter Verwenden der Befehlszeile oder des Registrierungs-Editors zum Verwalten von SMB-Protokollen.
Durch Deaktivieren von SMBv3 wird die folgende Funktionalität deaktiviert:
- Transparentes Failover: Bietet Clients die Möglichkeit, sich während der Wartung oder des Failover ohne Unterbrechung wieder mit den Knoten des Clusters zu verbinden.
- Horizontales Skalieren: Ermöglicht den parallelen Zugriff auf gemeinsame Daten auf allen Knoten des Dateiclusters
- SMB Multichannel: Erleichtert die Aggregation von Netzwerkbandbreite und Fehlertoleranz, wenn mehrere Pfade zwischen Client und Server verfügbar sind
- SMB Direct: Fügt remote direct memory access (RDMA)-Netzwerkunterstützung für hohe Leistung mit geringer Latenz und geringer CPU-Auslastung hinzu.
- Verschlüsselung: Bietet End-to-End-Verschlüsselung und bietet Schutz vor Lauschangriffen auf nicht vertrauenswürdige Netzwerke
- Verzeichnisleasing: Verbessert die Reaktionszeiten der Anwendung in Zweigstellen durch Zwischenspeichern
- Leistungsoptimierung: Optimiert kleine zufällige E/A-Operationen zum Lesen und Schreiben
Durch deaktivieren von SMBv2 wird die folgende Funktionalität deaktiviert:
- Anforderungsverbund: Unterstützt das Senden mehrerer SMBv2-Anforderungen als einzelne Netzwerkanforderung
- Größere Lese- und Schreibvorgänge: Verbessert die Nutzung von schnelleren Netzwerken
- Zwischenspeichern von Ordner- und Dateieigenschaften: Bietet Clients die Möglichkeit, lokale Kopien von Ordnern und Dateien beizubehalten
- Langlebige Handles: Bietet einer Verbindung die Möglichkeit, sich nach einer vorübergehenden Unterbrechung transparent wieder mit dem Server zu verbinden
- Verbesserte Nachrichtensignierung: Verwendet einen sicheren Hash-Authentifizierungscode (HMAC) mit einem 256-Bit-Digest (HMAC SHA-256) anstelle von Message-Digest Algorithm 5 (MD5) als Hashingalgorithmus
- Verbesserte Skalierbarkeit für die Dateifreigabe: Erhöht die Anzahl der Benutzer, Freigaben und geöffneten Dateien pro Server erheblich.
- Unterstützung für symbolische Verknüpfungen
- Client oplock Leasing-Modell: Beschränkt die zwischen dem Client und dem Server übertragenen Daten, verbessert die Leistung in Hochlatenznetzwerken und erhöht die Skalierbarkeit von SMB-Servern.
- Unterstützung für große maximale Übertragungseinheit (MTU): Unterstützt den vollen Einsatz von 10 Gigabyte Ethernet (GbE)
- Verbesserte Energie-Effizienz: Bietet eine Möglichkeit für Clients, die Dateien auf einem Server geöffnet haben, in den Ruhezustand zu gehen
Das SMBv2-Protokoll wurde in Windows Vista und Windows Server 2008 eingeführt. Das SMBv3-Protokoll wurde in Windows 8 und Windows Server 2012 eingeführt. Weitere Informationen zu den Funktionen von SMBv2 und SMBv3 finden Sie in den folgenden Artikeln:
Sie können die Get-WindowsOptionalFeature-, Disable-WindowsOptionalFeature-und Enable-WindowsOptionalFeature PowerShell-Befehle verwenden, um einen SMBv1-Client oder -Server zu erkennen, zu deaktivieren und zu aktivieren. Führen Sie die Befehle in einer erweiterten Eingabeaufforderung aus.
Hinweis
Der Computer wird neu gestartet, nachdem Sie die PowerShell-Befehle zum Deaktivieren oder Aktivieren von SMBv1 ausgeführt haben.
Erkennen:
Get-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
Deaktivieren:
Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
Aktivieren Sie:
Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
Tipp
Sie können den SMBv1-Status auch ohne eine erweiterte Eingabeaufforderung ermitteln, indem Sie den Befehl Get-SmbServerConfiguration ausführen: Get-SmbServerConfiguration | Format-List EnableSMB1Protocol
.
SMBv1 ist unter Windows Server 2019 und höheren Versionen nicht standardmäßig installiert. In früheren Versionen von Windows Server können Sie den Server-Manager verwenden, um SMBv1 zu entfernen:
Öffnen Sie auf dem Server, von dem Sie SMBv1 entfernen möchten, den Server-Manager.
Wählen Sie im Server-Manager-Dashboard unter Konfigurieren dieses lokalen ServersHinzufügen von Rollen und Featuresaus.
Wählen Sie auf der Seite Bevor Sie beginnen die Option Assistent zum Entfernen von Rollen und Features starten aus, und wählen Sie dann auf der folgenden Seite Weiter aus.
Stellen Sie auf der Seite Zielserver auswählen sicher, dass unter Serverpoolder Server ausgewählt ist, aus dem Sie das Feature entfernen möchten, und wählen Sie dann Weiteraus.
Wählen Sie auf der Seite Serverrollen entfernen die Option Weiter aus.
Deaktivieren Sie auf der Seite Funktionen entfernen das Kontrollkästchen für SMB 1.0/CIFS File Sharing Support und wählen Sie dann Weiter.
Bestätigen Sie auf der Seite Entfernungsauswahl bestätigen, dass das Feature aufgelistet ist, und wählen Sie dann Entfernen aus.
Ab windows 10 Fall Creators Update und Windows Server 2019 ist SMBv1 nicht mehr standardmäßig installiert. Weitere Informationen finden Sie unter SMBv1 wird in Windows 10 Version 1709, Windows Server Version 1709 und späteren Versionen nicht standardmäßig installiert.
Wenn Sie SMBv2 in Windows 8 oder Windows Server 2012 aktivieren oder deaktivieren, wird SMBv3 ebenfalls aktiviert oder deaktiviert. Dieses Verhalten tritt auf, weil diese Protokolle denselben Stapel verwenden.
Sie können die Set-SMBServerConfiguration Cmdlet verwenden, um die Protokolle SMBv1, SMBv2 und SMBv3 für eine Serverkomponente zu aktivieren oder zu deaktivieren. Sie können die Get-SmbServerConfiguration Cmdlet verwenden, um die SMB-Serverkonfiguration abzurufen.
Sie müssen den Computer nicht neu starten, nachdem Sie das Cmdlet Set-SMBServerConfiguration ausgeführt haben.
Erkennen:
Get-SmbServerConfiguration | Select EnableSMB1Protocol
Deaktivieren:
Set-SmbServerConfiguration -EnableSMB1Protocol $false
Aktivieren Sie:
Set-SmbServerConfiguration -EnableSMB1Protocol $true
Weitere Informationen finden Sie unter SMB1 nicht mehr verwenden.
Erkennen:
Get-SmbServerConfiguration | Select EnableSMB2Protocol
Deaktivieren:
Set-SmbServerConfiguration -EnableSMB2Protocol $false
Aktivieren Sie:
Set-SmbServerConfiguration -EnableSMB2Protocol $true
Aktivieren oder Deaktivieren von SMB unter Windows 7, Windows Server 2008 R2, Windows Vista und Windows Server 2008
Um SMB-Protokolle auf einem SMB-Server zu aktivieren oder zu deaktivieren, auf dem Windows 7, Windows Server 2008 R2, Windows Vista oder Windows Server 2008 ausgeführt werden, verwenden Sie Windows PowerShell oder Registrierungs-Editor, wie in den folgenden Abschnitten erläutert.
Sie können die Get-Item-, Get-ItemProperty-und Set-ItemProperty- Cmdlets verwenden, um SMB-Protokolle zu erkennen, zu aktivieren und zu deaktivieren.
Hinweis
Für die Befehle in den folgenden Abschnitten ist PowerShell 2.0 oder höher erforderlich.
Erkennen:
Get-Item HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters | ForEach-Object {Get-ItemProperty $_.pspath}
Die Standardkonfiguration ist
Enabled
. Infolgedessen wird kein in der Registrierung genannter Wert erstellt, so dass der Befehl keinenSMB1
-Wert zurückgibt.Deaktivieren:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB1 -Type DWORD -Value 0 -Force
Aktivieren Sie:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB1 -Type DWORD -Value 1 -Force
Hinweis
Sie müssen den Computer neu starten, nachdem Sie diese Änderungen vorgenommen haben.
Weitere Informationen finden Sie unter SMB1 nicht mehr verwenden.
Erkennen:
Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters | ForEach-Object {Get-ItemProperty $_.pspath}
Deaktivieren:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB2 -Type DWORD -Value 0 -Force
Aktivieren Sie:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB2 -Type DWORD -Value 1 -Force
Hinweis
Sie müssen den Computer neu starten, nachdem Sie diese Änderungen vorgenommen haben.
Wichtig
Folgen Sie den Schritten in diesem Abschnitt sorgfältig. Wird die Registrierung falsch angepasst, können schwerwiegende Probleme auftreten. Bevor Sie sie ändern, sichern Sie die Registrierung zwecks Wiederherstellung für den Fall, dass Probleme auftreten.
Um SMBv1 auf einem SMB-Server zu aktivieren oder zu deaktivieren, öffnen Sie den Registrierungs-Editor, und wechseln Sie zum folgenden Registrierungsschlüsselpfad:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
Konfigurieren Sie einen Eintrag mit den folgenden Eigenschaften:
- Verwenden Sie für den Namen SMB1.
- Für den Typ verwenden Sie REG_DWORD.
- Für die Daten verwenden Sie 0 für Deaktiviert und 1 für Aktiviert. Der Standardwert ist 1oder Enabled. In diesem Fall wird kein Registrierungsschlüssel erstellt.
Um SMBv2 auf einem SMB-Server zu aktivieren oder zu deaktivieren, öffnen Sie den Registrierungs-Editor, und wechseln Sie zum folgenden Registrierungsschlüsselpfad:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
Konfigurieren Sie einen Eintrag mit den folgenden Eigenschaften:
- Verwenden Sie für den Namen SMB2.
- Für den Typ verwenden Sie REG_DWORD.
- Für die Daten verwenden Sie 0 für Deaktiviert und 1 für Aktiviert. Der Standardwert ist 1oder Enabled. In diesem Fall wird kein Registrierungsschlüssel erstellt.
Hinweis
Sie müssen den Computer neu starten, nachdem Sie diese Änderungen vorgenommen haben.
In diesem Abschnitt wird gezeigt, wie Sie mithilfe von Gruppenrichtlinien SMBv1 deaktivieren. Sie können diese Methode für verschiedene Versionen von Windows verwenden.
Sie können SMBv1 auf einem SMB-Server deaktivieren, indem Sie das folgende neue Element in der Registrierung konfigurieren:
- Schlüsselpfad: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
- Registrierungseintrag: SMB1
- Eintragstyp: REG_DWORD
- Eintragsdaten: 0, für Deaktiviert
Führen Sie die folgenden Schritte aus, um gruppenrichtlinien zum Konfigurieren dieses Elements zu verwenden:
Öffnen Sie die Gruppenrichtlinien-Verwaltungskonsole. Klicken Sie mit der rechten Maustaste auf das Gruppenrichtlinienobjekt (Group Policy Object, GPO), das das neue Einstellungselement enthalten soll, und wählen Sie dann Bearbeitenaus.
Erweitern Sie in der Konsolenstruktur unter Computerkonfiguration den Ordner Einstellungen, und erweitern Sie dann den Ordner Windows-Einstellungen.
Klicken Sie mit der rechten Maustaste auf den Knoten Registrierung, zeigen Sie auf Neu und wählen Sie dann Registrierungselement.
Wählen Sie im Dialogfeld Neue Registrierungseigenschaften die folgenden Werte aus, oder geben Sie sie ein:
- Aktion: Erstellen
- Hive: HKEY_LOCAL_MACHINE
- Schlüsselpfad: SYSTEM\CurrentControlSet\Services\LanmanServer\Parameter
- Wertname: SMB1
- Werttyp: REG_DWORD
- Wertdaten: 0
Mit diesem Verfahren werden die SMBv1-Serverkomponenten deaktiviert. Sie müssen diese Richtlinie auf alle erforderlichen Arbeitsstationen, Server und Domänencontroller in der Domäne anwenden.
Hinweis
Sie können WMI-Filter (Windows Management Instrumentation) festlegen, um bestimmte Betriebssysteme auszuschließen oder Client- oder Serverbetriebssysteme auszuschließen. Weitere Informationen finden Sie unter Gruppenrichtlinienfilterung und Erstellen von WMI-Filtern für das GPO.
Wichtig
Einige Systeme benötigen Zugriff auf den SYSVOL-Ordner oder andere Dateifreigaben, unterstützen jedoch SMBv2 oder SMBv3 nicht. Beispiele für solche Systeme sind ältere Windows-Systeme und ältere Linux- und Partnersysteme. Achten Sie darauf, wenn Sie SMBv1 auf Domänencontrollern auf diesen Systemen deaktivieren.
Um zu ermitteln, welche Clients versuchen, mithilfe von SMBv1 eine Verbindung mit einem SMB-Server herzustellen, können Sie die Überwachung auf Windows Server- und Windows-Clients aktivieren. Um die Überwachung zu aktivieren oder zu deaktivieren, verwenden Sie das cmdlet Set-SmbServerConfiguration. Verwenden Sie zum Überprüfen des Überwachungsstatus die Get-SmbServerConfiguration Cmdlet.
Aktivieren Sie:
Set-SmbServerConfiguration -AuditSmb1Access $true
Deaktivieren:
Set-SmbServerConfiguration -AuditSmb1Access $false
Erkennen:
Get-SmbServerConfiguration | Select AuditSmb1Access
Nachdem Sie die SMBv1-Überwachung aktiviert haben, können Sie das Microsoft-Windows-SMBServer\Audit
Ereignisprotokoll auf Zugriffsereignisse überprüfen. Jedes Mal, wenn ein Client versucht, SMBv1 zum Herstellen einer Verbindung mit einem Server zu verwenden, wird ein Eintrag mit einer Ereignis-ID von 3000 im Protokoll angezeigt.
Wenn sich alle Einstellungen im selben GPO befinden, zeigt die Gruppenrichtlinienverwaltung die folgenden Sets an:
Nachdem Sie die Konfigurationsschritte in der Gruppenrichtlinien-Verwaltungskonsole abgeschlossen haben, geben Sie Gruppenrichtlinien Zeit, um die Updates auf ihre Einstellungen anzuwenden. Falls zu Testzwecken erforderlich, führen Sie gpupdate /force
in einer Eingabeaufforderung aus und überprüfen Sie dann die Zielcomputer, um sicherzustellen, dass die Registrierungseinstellungen korrekt festgelegt wurden. Stellen Sie sicher, dass SMBv2 und SMBv3 für alle anderen Systeme in der Umgebung funktionieren.
Hinweis
Starten Sie nach dem Testen der Richtlinie die Zielsysteme neu.