Resumo
Este artigo descreve como habilitar e desabilitar os protocolos SMB versão 1 (SMBv1), SMB versão 2 (SMBv2) e SMB versão 3 (SMBv3) em componentes cliente e servidor do SMB.
Aviso: Não recomendamos desabilitar o SMBv2 ou SMBv3. Desabilite o SMBv2 ou SMBv3 somente como medida de solução de problemas temporária. Não deixe o SMBv2 ou SMBv3 desabilitado.
No Windows 7 e Windows Server 2008 R2, desabilitar o SMBv2 desativa as seguintes funções:
- Combinação de solicitações – permite o envio de várias solicitações SMB 2 como uma única solicitação de rede
- Maiores leituras e gravações – melhor utilização de redes mais rápidas
- Armazenamento em cache de propriedades de pastas e arquivos – os clientes mantêm cópias locais de pastas e arquivos
- Identificadores duráveis – permitem que uma conexão seja refeita transparentemente com o servidor se houver uma desconexão temporária
- Assinatura melhorada de mensagens – O HMAC SHA-256 substitui o MD5 como algoritmo de hash
- Melhor escalabilidade para compartilhamento de arquivos – número significativamente maior de usuários, compartilhamentos e arquivos abertos por servidor
- Suporte para links simbólicos
- Modelo de concessão de oplock para cliente – limita os dados transferidos entre o cliente e o servidor, melhorando o desempenho em redes de alta latência e aumentando a escalabilidade do servidor SMB
- Maior suporte para MTU – para o uso total do recurso 10 GB Ethernet
- Maior eficiência energética – clientes que têm arquivos abertos em um servidor podem ser suspensos
No Windows 8, Windows 8.1, Windows 10, Windows Server 2012 e Windows Server 2016, desabilitar o SMBv3 desativa as seguintes funções (e também as funções do SMBv2 descritas na lista anterior):
- Failover transparente – os clientes se reconectam sem interrupção a nós de cluster durante a manutenção ou o failover
- Escalonamento – acesso simultâneo a dados compartilhados em todos os nós de cluster de arquivos
- Vários canais – agregação de largura de banda de rede e tolerância a falhas quando vários caminhos estão disponíveis entre o cliente e o servidor
- SMB Direct – adiciona suporte a redes RDMA para alto desempenho, com baixa latência e baixa utilização de CPU
- Criptografia – fornece criptografia ponta a ponta e protege contra escuta de informações confidenciais em redes não confiáveis
- Concessão de diretório – Aumenta o tempo de resposta do aplicativo em filiais por meio do armazenamento em cache
- Otimizações de desempenho – otimizações para pequenas operações aleatórias de E/S de leitura/gravação
Informações adicionais
O protocolo SMBv2 foi introduzido no Windows Vista e Windows Server 2008.
O protocolo SMBv3 foi introduzido no Windows 8 e Windows Server 2012.
Para obter mais informações sobre os recursos do SMBv2 e do SMBv3, acesse os seguintes sites do Microsoft TechNet:
Como remover normalmente o SMB v1 no Windows 8.1, Windows 10, Windows 2012 R2, e Windows Server 2016
Windows Server 2012 R2 e 2016: Métodos do PowerShell
SMB v1
Detectar: | Get-WindowsFeature FS-SMB1 |
Desabilitar: | Disable-WindowsOptionalFeature -Online -FeatureName smb1protocol |
Habilitar: | Enable-WindowsOptionalFeature -Online -FeatureName smb1protocol |
SMB v2/v3
Detectar: | Get-SmbServerConfiguration | Select EnableSMB2Protocol |
Desabilitar: | Set-SmbServerConfiguration -EnableSMB2Protocol $false |
Habilitar: | Set-SmbServerConfiguration -EnableSMB2Protocol $true |
Windows Server 2012 R2 e Windows Server 2016: Método do Gerenciador de Servidores para desabilitar o SMB
SMB v1
Windows 8.1 e Windows 10: Método do Powershell
Protocolo SMB v1
Protocolo SMB v2/v3
Detectar: | Get-SmbServerConfiguration | Select EnableSMB2Protocol |
Desabilitar: | Set-SmbServerConfiguration –EnableSMB2Protocol $false |
Habilitar: | Set-SmbServerConfiguration –EnableSMB2Protocol $true |
Windows 8.1 e Windows 10: Método de Adicionar ou Remover Programas
Como detectar o status, habilitar e desabilitar protocolos SMB no servidor SMB
Para Windows 8 e Windows Server 2012
O Windows 8 e o Windows Server 2012 introduzem o novo cmdlet Set-SMBServerConfiguration do Windows PowerShell. O cmdlet permite que você habilite ou desabilite os protocolos SMBv1, SMBv2 e SMBv3 no componente de servidor.
Observações Ao habilitar ou desabilitar o SMBv2 no Windows 8 ou no Windows Server 2012, o SMBv3 também é habilitado ou desabilitado. Esse comportamento ocorre porque esses protocolos compartilham a mesma pilha.
Você não precisa reiniciar o computador depois de executar o cmdlet Set-SMBServerConfiguration.
SMB v1 no servidor SMB
Detectar: | Get-SmbServerConfiguration | Select EnableSMB1Protocol |
Desabilitar: | Set-SmbServerConfiguration -EnableSMB1Protocol $false |
Habilitar: | Set-SmbServerConfiguration -EnableSMB1Protocol $true |
Para obter mais informações, consulte Armazenamento de servidor na Microsoft.
SMB v2/v3 no servidor SMB
Detectar: | Get-SmbServerConfiguration | Select EnableSMB2Protocol |
Desabilitar: | Set-SmbServerConfiguration -EnableSMB2Protocol $false |
Habilitar: | Set-SmbServerConfiguration -EnableSMB2Protocol $true |
Para Windows 7, Windows Server 2008 R2, Windows Vista e Windows Server 2008
Para habilitar ou desabilitar protocolos SMB em um Servidor SMB que executa oWindows 7, Windows Server 2008 R2, Windows Vista ou Windows Server 2008, use o Windows PowerShell ou o Editor do Registro.
Métodos do PowerShell
Observação
Esse método requer a versão 2.0 ou posterior do PowerShell.
SMB v1 no servidor SMB
Detectar:
Get-Item HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters | ForEach-Object {Get-ItemProperty $_.pspath}
Default configuration = Enabled (Nenhuma chave do Registro é criada), portanto, nenhum valor SMB1 será retornado
Desabilitar:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB1 -Type DWORD -Value 0 –Force
Habilitar:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB1 -Type DWORD -Value 1 –Force
Observação É necessário reiniciar o computador após realizar essas alterações.
Para obter mais informações, consulte Armazenamento de servidor na Microsoft.
SMB v2/v3 no servidor SMB
Detectar:
Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters | ForEach-Object {Get-ItemProperty $_.pspath}
Desabilitar:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB2 -Type DWORD -Value 0 –Force
Habilitar:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB2 -Type DWORD -Value 1 –Force
Observação É necessário reiniciar o computador após realizar essas alterações.
Editor do Registro
Importante: este artigo contém informações sobre como modificar o Registro. Faça backup do Registro antes de modificá-lo. Você deve saber como restaurar o Registro caso ocorra algum problema. Para obter mais informações sobre como fazer o backup, a restauração e a modificação do Registro, clique no número de artigo a seguir para visualizá-lo na Base de Dados de Conhecimento Microsoft:
Para habilitar ou desabilitar o SMBv1 no servidor SMB, configure a seguinte chave do Registro:
Entrada do Registro: SMB1
REG_DWORD: 0 = Desabilitado
REG_DWORD: 1 = Habilitado
Padrão: 1 = Habilitado (Nenhuma chave do Registro é criada)
Para habilitar ou desabilitar o SMBv2 no servidor SMB, configure a seguinte chave do Registro:
Entrada do Registro: SMB2
REG_DWORD: 0 = Desabilitado
REG_DWORD: 1 = Habilitado
Padrão: 1 = Habilitado (Nenhuma chave do Registro é criada)
Observação É necessário reiniciar o computador após realizar essas alterações
Como detectar o status, habilitar e desabilitar protocolos SMB no Cliente SMB
Para Windows Vista, Windows Server 2008, Windows 7, Windows Server 2008 R2, Windows 8 e Windows Server 2012
Observação Ao habilitar ou desabilitar o SMBv2 no Windows 8 ou no Windows Server 2012, o SMBv3 também é habilitado ou desabilitado. Esse comportamento ocorre porque esses protocolos compartilham a mesma pilha.
SMB v1 no servidor SMB
Detectar: | sc.exe query lanmanworkstation |
Desabilitar: | sc.exe config lanmanworkstation depend= bowser/mrxsmb20/nsi sc.exe config mrxsmb10 start= disabled |
Habilitar: | sc.exe config lanmanworkstation depend= bowser/mrxsmb10/mrxsmb20/nsi sc.exe config mrxsmb10 start= auto |
Para obter mais informações, consulte Armazenamento de servidor na Microsoft
SMB v2/v3 no servidor SMB
Detectar: | sc.exe query lanmanworkstation |
Desabilitar: | sc.exe config lanmanworkstation depend= bowser/mrxsmb10/nsi sc.exe config mrxsmb20 start= disabled |
Habilitar: | sc.exe config lanmanworkstation depend= bowser/mrxsmb10/mrxsmb20/nsi sc.exe config mrxsmb20 start= auto |
Observações
- Você deve executar os seguintes comandos em um prompt de comandos com privilégios elevados.
- É necessário reiniciar o computador após realizar essas alterações.
Desabilitar o Servidor SMBv1 com a Política de Grupo
Isso configurará o seguinte novo item no registo
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
Entrada do Registro: SMB1 REG_DWORD: 0 = Desabilitado
Para configurar isso usando a Política de Grupo:
- Abra o Console de Gerenciamento de Política de Grupo. Clique com o botão direito do mouse no objeto de Política de Grupo (GPO) que deve conter o novo item de preferência e, em seguida, clique em Editar.
- Na árvore do console, em Configuração do Computador, expanda a pasta Preferências e, em seguida, expanda a pasta Configurações do Windows.
- Clique com o botão direito do mouse no nó Registro, aponte para Novo e selecione Item do Registro.
Na caixa de diálogo Novas Propriedades do Registro, selecione o seguinte:
- Ação: Create
- Hive: HKEY_LOCAL_MACHINE
- Caminho da chave: SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
- Nome do valor: SMB1
- Tipo do valor: REG_DWORD
- Dados do valor: 0
Isso desabilita os componentes do Servidor SMBv1. Essa Política de Grupo precisa ser aplicada a todas as estações de trabalho, servidores e controladores de domínio necessários no domínio.
Observação: Filtros WMI também podem ser definidos para excluir sistemas operacionais sem suporte ou exclusões selecionadas, como o Windows XP.
Cuidado! Tenha cautela ao fazer essas alterações em controladores de domínio cujos sistemas herdados Windows XP ou sistemas Linux e de terceiros mais antigos (que não dão suporte ao SMBv2 ou ao SMBv3) exigem acesso a SYSVOL ou outros compartilhamentos de arquivos nos quais o SMB v1 está sendo desabilitado.
Desabilitar o Cliente SMBv1 com a Política de Grupo
Para desabilitar o cliente SMBv1, a chave do Registro de serviços precisa ser atualizada para desabilitar o início de MRxSMB10 e, em seguida, a dependência por MRxSMB10 precisa ser removida da entrada para LanmanWorkstation para que ela possa ser iniciada normalmente, sem exigir primeiro o início de MRxSMB10.
Isso atualizará e substituirá os valores padrão nos seguintes 2 itens do Registro
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\mrxsmb10
Entrada do Registro: Iniciar REG_DWORD: 4 = Desabilitado
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation
Entrada do Registro: DependOnService REG_MULTI_SZ: “Navegador”,”MRxSmb20″,”NSI”
Observação: O MRxSMB10 padrão incluído que está removido como dependência
Para configurar isso usando a Política de Grupo:
- Abra o Console de Gerenciamento de Política de Grupo. Clique com o botão direito do mouse no objeto de Política de Grupo (GPO) que deve conter o novo item de preferência e, em seguida, clique em Editar.
- Na árvore do console, em Configuração do Computador, expanda a pasta Preferências e, em seguida, expanda a pasta Configurações do Windows.
- Clique com o botão direito do mouse no nó Registro, aponte para Novo e selecione Item do Registro.
Na caixa de diálogo Novas Propriedades do Registro, selecione o seguinte:
- Ação: Atualizar
- Hive: HKEY_LOCAL_MACHINE
- Caminho da chave: SYSTEM\CurrentControlSet\services\mrxsmb10
- Nome do valor: Iniciar
- Tipo do valor: REG_DWORD
- Dados de valores: 4
Em seguida, remova a dependência de MRxSMB10 que acabou de ser desabilitado
Na caixa de diálogo Novas Propriedades do Registro, selecione o seguinte:
- Ação: Substituir
- Hive: HKEY_LOCAL_MACHINE
- Caminho da chave: SYSTEM\CurrentControlSet\Services\LanmanWorkstation
- Nome do valor: DependOnService
- Tipo de valor REG_MULTI_SZ
- Dados de valores:
- Bowser
- MRxSmb20
- NSI
Observação: Essas três cadeias de caracteres não terão marcadores (veja abaixo)
O valor padrão inclui MRxSMB10 em várias versões do Windows. Por isso, ao substituí-las por essa cadeia de caracteres multivalor, ele está na verdade removendo MRxSMB10 como uma dependência para LanmanServer e passando de quatro valores padrão para apenas esses três valores acima.
Observação: Ao usar o Console de Gerenciamento de Política de Grupo, não é necessário usar aspas ou vírgulas. Basta digitar cada entrada em linhas individuais, conforme mostrado acima:
Reinicialização necessária
Depois que a política for aplicada e as configurações do Registro estiverem em vigor, os sistemas de destino devem ser reinicializados antes que o SMB v1 seja desabilitado.
Resumo
Se todas as configurações estiverem no mesmo Objeto de Política de Grupo (GPO), o Gerenciamento de Política de Grupo mostrará as configurações abaixo.
Teste e validação
Uma vez configurados, permita que a política faça a replicação e a atualização. Conforme necessário para o teste, execute gpupdate /force a partir de um prompt CMD.EXE e, em seguida, analise as máquinas de destino para garantir que as configurações do Registro estejam sendo aplicadas corretamente. Certifique-se de que o SMB v2 e o SMB v3 estejam funcionando para todos os outros sistemas no ambiente.
Cuidado! Não se esqueça de reiniciar os sistemas de destino.