Come rilevare, abilitare e disabilitare SMBv1, SMBv2 e SMBv3 in Windows
Si applica a: Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012, Windows 11, Windows 10, Windows 8.1, Windows 8
Questo articolo descrive come abilitare e disabilitare Server Message Block (SMB) versione 1 (SMBv1), SMB versione 2 (SMBv2) e SMB versione 3 (SMBv3) nei componenti client e server SMB.
Durante la disabilitazione o la rimozione di SMBv1 potrebbe causare alcuni problemi di compatibilità con i vecchi computer o software, SMBv1 presenta vulnerabilità di sicurezza significative e si consiglia vivamente di non usarlo.
Disabilitazione di SMBv2 o SMBv3 per la risoluzione dei problemi
È consigliabile mantenere SMBv2 e SMBv3 abilitato, ma potrebbe risultare utile disabilitarne uno temporaneamente per la risoluzione dei problemi. Per altre informazioni, vedere Come rilevare lo stato, abilitare e disabilitare i protocolli SMB nel server SMB.
In Windows 10, Windows 8.1, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2 e Windows Server 2012, disabilitando SMBv3 disattiva le funzionalità seguenti:
- Failover trasparente: i client si riconnettono senza interruzioni ai nodi del cluster durante la manutenzione o il failover
- Scale Out : accesso simultaneo ai dati condivisi in tutti i nodi del cluster di file
- Multicanale: aggregazione della larghezza di banda di rete e tolleranza di errore se sono disponibili più percorsi tra client e server
- SMB diretto: aggiunge il supporto di rete RDMA per prestazioni elevate, con bassa latenza e uso ridotto della CPU
- Crittografia: fornisce la crittografia end-to-end e protegge dall'intercettazione nelle reti non attendibili
- Leasing directory - Migliora i tempi di risposta delle applicazioni nelle succursali tramite la memorizzazione nella cache
- Ottimizzazioni delle prestazioni: ottimizzazioni per operazioni di I/O di lettura/scrittura casuali di piccole dimensioni
In Windows 7 e Windows Server 2008 R2 disabilitare SMBv2 disattiva le funzionalità seguenti:
- Composizione delle richieste: consente l'invio di più richieste SMBv2 come singola richiesta di rete
- Letture e scritture di dimensioni maggiori: uso migliore delle reti più veloci
- Memorizzazione nella cache delle proprietà di cartelle e file : i client mantengono copie locali di cartelle e file
- Handle durevoli: consente la connessione per riconnettersi in modo trasparente al server in caso di disconnessione temporanea
- Firma dei messaggi migliorata: HMAC SHA-256 sostituisce MD5 come algoritmo di hash
- Maggiore scalabilità per la condivisione di file: il numero di utenti, condivisioni e file aperti per server è notevolmente aumentato
- Supporto per i collegamenti simbolici
- Modello di leasing oplock client: limita i dati trasferiti tra il client e il server, migliorando le prestazioni sulle reti a latenza elevata e aumentando la scalabilità del server SMB
- Supporto MTU di grandi dimensioni: per l'uso completo di 10 Gigabit Ethernet (GbE)
- Miglioramento dell'efficienza energetica: i client con file aperti a un server possono dormire
Il protocollo SMBv2 è stato introdotto in Windows Vista e Windows Server 2008, mentre il protocollo SMBv3 è stato introdotto in Windows 8 e Windows Server 2012. Per altre informazioni sulle funzionalità SMBv2 e SMBv3, vedere gli articoli seguenti:
Come rimuovere SMBv1 tramite PowerShell
Ecco i passaggi per rilevare, disabilitare e abilitare client e server SMBv1 usando i comandi di PowerShell con elevazione dei privilegi.
Nota
Il computer verrà riavviato dopo aver eseguito i comandi di PowerShell per disabilitare o abilitare SMBv1.
Rilevare:
Get-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
Disattivare:
Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
Abilitare:
Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
Suggerimento
È possibile rilevare lo stato SMBv1, senza elevazione, eseguendo: Get-SmbServerConfiguration | Format-List EnableSMB1Protocol
.
Windows Server 2012 Windows Server 2012 R2, Windows Server 2016, Windows Server 2019: metodo Server Manager
Per rimuovere SMBv1 da Windows Server:
- Nel dashboard Server Manager del server in cui si vuole rimuovere SMBv1, in Configura questo server locale selezionareAggiungi ruoli e funzionalità.
- Nella pagina Prima di iniziare selezionare Avvia la Rimozione guidata ruoli e funzionalità e quindi nella pagina seguente selezionare Avanti.
- Nella pagina Seleziona server di destinazione in Pool di server verificare che il server da cui si vuole rimuovere la funzionalità sia selezionato e quindi selezionare Avanti.
- Nella pagina Rimuovi ruoli del server selezionare Avanti.
- Nella pagina Rimuovi funzionalità deselezionare la casella di controllo SMB 1.0/CIFS File Sharing Support (Supporto condivisione file SMB 1.0/CIFS ) e selezionare Avanti.
- Nella pagina Conferma selezioni di rimozione verificare che la funzionalità sia elencata e quindi selezionare Rimuovi.
Windows 8.1, Windows 10 e Windows 11: metodo Add o Remove Programs
Per disabilitare SMBv1 per i sistemi operativi indicati:
- In Pannello di controllo selezionare Programmi e funzionalità.
- In Pannello di controllo Home selezionare Attiva o disattiva funzionalità di Windows per aprire la casella Funzionalità di Windows.
- Nella casella Funzionalità di Windows scorrere verso il basso l'elenco, deselezionare la casella di controllo per Supporto condivisione file SMB 1.0/CIFS e selezionare OK.
- Dopo che Windows applica la modifica, nella pagina di conferma selezionare Riavvia ora.
Come rilevare lo stato, abilitare e disabilitare i protocolli SMB
Nota
Quando si abilita o si disabilita SMBv2 in Windows 8 o Windows Server 2012, SMBv3 è abilitato o disabilitato. Questo comportamento si verifica perché questi protocolli condividono lo stesso stack.
Windows 8 e Windows Server 2012 ha introdotto il nuovo cmdlet Set-SMBServerConfiguration Windows PowerShell. Il cmdlet consente di abilitare o disabilitare i protocolli SMBv1, SMBv2 e SMBv3 nel componente server.
Non è necessario riavviare il computer dopo aver eseguito il cmdlet Set-SMBServerConfiguration .
SMBv1
Rilevare:
Get-SmbServerConfiguration | Select EnableSMB1Protocol
Disattivare:
Set-SmbServerConfiguration -EnableSMB1Protocol $false
Abilitare:
Set-SmbServerConfiguration -EnableSMB1Protocol $true
Per altre informazioni, vedere Archiviazione server in Microsoft.
SMB v2/v3
Rilevare:
Get-SmbServerConfiguration | Select EnableSMB2Protocol
Disattivare:
Set-SmbServerConfiguration -EnableSMB2Protocol $false
Abilitare:
Set-SmbServerConfiguration -EnableSMB2Protocol $true
Per Windows 7, Windows Server 2008 R2, Windows Vista e Windows Server 2008
Per abilitare o disabilitare i protocolli SMB in un server SMB che esegue Windows 7, Windows Server 2008 R2, Windows Vista o Windows Server 2008, usare Windows PowerShell o editor del Registro di sistema.
Metodi di PowerShell aggiuntivi
Nota
Questo metodo richiede PowerShell 2.0 o versione successiva.
SMBv1 nel server SMB
Rilevare:
Get-Item HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters | ForEach-Object {Get-ItemProperty $_.pspath}
Configurazione predefinita = Abilitata (non viene creato alcun valore denominato del Registro di sistema), quindi non verrà restituito alcun valore SMB1
Disattivare:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB1 -Type DWORD -Value 0 -Force
Abilitare:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB1 -Type DWORD -Value 1 -Force
Nota Dopo aver apportato queste modifiche, è necessario riavviare il computer. Per altre informazioni, vedere Archiviazione server in Microsoft.
SMBv2/v3 nel server SMB
Rilevare:
Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters | ForEach-Object {Get-ItemProperty $_.pspath}
Disattivare:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB2 -Type DWORD -Value 0 -Force
Abilitare:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB2 -Type DWORD -Value 1 -Force
Nota
Dopo aver apportato queste modifiche, è necessario riavviare il computer.
Editor del Registro di sistema
Importante
Segui con attenzione la procedura descritta in questa sezione. Se le modifiche al Registro di sistema vengono apportate in modo non corretto, possono verificarsi problemi gravi. Prima di modificarlo, esegui il backup del Registro di sistema per il ripristino nel caso in cui si verifichino problemi.
Per abilitare o disabilitare SMBv1 nel server SMB, configurare la chiave del Registro di sistema seguente:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters e fare clic per selezionarla.
Registry entry: SMB1
REG_DWORD: 0 = Disabled
REG_DWORD: 1 = Enabled
Default: 1 = Enabled (No registry key is created)
Per abilitare o disabilitare SMBv2 nel server SMB, configurare la chiave del Registro di sistema seguente:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters e fare clic per selezionarla.
Registry entry: SMB2
REG_DWORD: 0 = Disabled
REG_DWORD: 1 = Enabled
Default: 1 = Enabled (No registry key is created)
Nota
Dopo aver apportato queste modifiche, è necessario riavviare il computer.
Disabilitare SMBv1 usando Criteri di gruppo
Questa sezione illustra come usare Criteri di gruppo per disabilitare SMBv1. È possibile usare questo metodo in versioni diverse di Windows.
SMBv1
Questa procedura configura il nuovo elemento seguente nel Registro di sistema:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters e fare clic per selezionarla.
- Voce del Registro di sistema: SMB1
- REG_DWORD: 0 = Disabilitato
Per usare Criteri di gruppo per configurare questa operazione, seguire questa procedura:
Aprire Console Gestione Criteri di gruppo. Fare clic con il pulsante destro del mouse sull'oggetto Criteri di gruppo che dovrebbe contenere il nuovo elemento preferenza, quindi fare clic su Modifica.
Nell'albero della console in Configurazione computer espandere la cartella Preferenze e quindi espandere la cartella Impostazioni di Windows .
Fare clic con il pulsante destro del mouse sul nodo Registro di sistema scegliere Nuovo e fare clic su Elemento Registro di sistema.
Nella finestra di dialogo Nuove proprietà del Registro di sistema selezionare quanto segue:
- Azione: Crea
- Hive: HKEY_LOCAL_MACHINE
- Percorso chiave: SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
- Nome valore: SMB1
- Tipo di valore: REG_DWORD
- Dati valore: 0
Questa procedura disabilita i componenti del server SMBv1. Questa Criteri di gruppo deve essere applicata a tutte le workstation, i server e i controller di dominio necessari nel dominio.
Nota
I filtri WMI possono anche essere impostati per escludere sistemi operativi non supportati o esclusioni selezionate, ad esempio Windows XP.
Importante
Prestare attenzione quando si apportano queste modifiche nei controller di dominio in cui i sistemi Windows XP o Linux e di terze parti legacy (che non supportano SMBv2 o SMBv3) richiedono l'accesso a SYSVOL o ad altre condivisioni file in cui SMB v1 è disabilitato.
Controllo dell'utilizzo di SMBv1
Per determinare quali client tentano di connettersi a un server SMB con SMBv1, è possibile abilitare il controllo in Windows Server 2016, Windows 10 e Windows Server 2019. È anche possibile controllare in Windows 7 e Windows Server 2008 R2 se è installato l'aggiornamento mensile di maggio 2018 e in Windows 8.1 e Windows Server 2012 R2 se è installato l'aggiornamento mensile di luglio 2017.
Abilitare:
Set-SmbServerConfiguration -AuditSmb1Access $true
Disattivare:
Set-SmbServerConfiguration -AuditSmb1Access $false
Rilevare:
Get-SmbServerConfiguration | Select AuditSmb1Access
Quando il controllo SMBv1 è abilitato, l'evento 3000 viene visualizzato nel registro eventi "Microsoft-Windows-SMBServer\Audit", identificando ogni client che tenta di connettersi a SMBv1.
Riepilogo
Se tutte le impostazioni si trovano nello stesso oggetto Criteri di gruppo, Criteri di gruppo Management visualizza le impostazioni seguenti.
Test e convalida
Dopo aver completato i passaggi di configurazione descritti in questo articolo, consentire ai criteri di replicare e aggiornare. Se necessario per il test, eseguire gpupdate /force al prompt dei comandi e quindi esaminare i computer di destinazione per assicurarsi che le impostazioni del Registro di sistema vengano applicate correttamente. Assicurarsi che SMBv2 e SMBv3 funzionino per tutti gli altri sistemi nell'ambiente.
Nota
Non dimenticare di riavviare i sistemi di destinazione.