Cómo detectar, habilitar y deshabilitar SMBv1, SMBv2 y SMBv3 en Windows y Windows Server


En este artículo se describe cómo habilitar y deshabilitar Bloque de mensajes del servidor (SMB) versión 1 (SMBv1), SMB versión 2 (SMBv2) y versión SMB 3 (SMBv3) en los componentes de servidor y cliente SMB. 
 

En Windows 7 y Windows Server 2008 R2, al deshabilitar SMBv2, se desactiva la siguiente funcionalidad:
  • Unificación de solicitudes: permite enviar varias solicitudes SMBv2 como una sola solicitud de red
  • Mayores lecturas y escrituras: mejor utilización de redes más rápidas
  • Almacenamiento en caché de propiedades de carpetas y archivos: los clientes pueden conservar copias locales de carpetas y archivos
  • Identificadores duraderos: permite que la conexión se vuelva a conectar de forma transparente al servidor si se produce una desconexión temporal
  • Mejora de la firma de mensajes: HMAC SHA-256 sustituye a MD5 como el algoritmo hash
  • Escalabilidad mejorada para el uso compartido de archivos: se ha aumentado en gran medida el número de usuarios, recursos compartidos y archivos abiertos por servidor
  • Compatibilidad con vínculos simbólicos
  • Modelo de concesión de bloqueo oportunista del cliente: limita los datos transferidos entre el cliente y el servidor, con lo que se mejora el rendimiento en redes de alta latencia y se aumenta la escalabilidad del servidor SMB
  • Compatibilidad con MTU de gran tamaño: para aprovechar por completo la Ethernet de 10 gigabytes (GB)
  • Mejor eficiencia energética: los clientes que tengan archivos abiertos en un servidor pueden entrar en suspensión
En Windows 8, Windows 8.1, Windows 10, Windows Server 2012 y Windows Server 2016, al deshabilitar SMBv3, se desactiva la siguiente funcionalidad (además de las características de SMBv2 descritas en la lista anterior):
  • Conmutación por error transparente: el cliente se vuelve a conectar sin interrupción a los nodos del clúster durante el mantenimiento o la conmutación por error
  • Escalar horizontalmente: acceso simultáneo a datos compartidos en todos los nodos del clúster de archivos 
  • Multicanal: agregación del ancho de banda de la red y tolerancia a errores si hay varias rutas disponibles entre el cliente y el servidor
  • SMB directo: incorpora compatibilidad de red con RDMA para obtener un rendimiento muy elevado, con baja latencia y un reducido uso de la CPU
  • Cifrado: proporciona cifrado integral y protege frente a programas de escucha en redes que no sean de su confianza
  • Concesión de directorio: mejora los tiempos de respuesta de las aplicaciones en sucursales mediante el almacenamiento en caché
  • Optimizaciones de rendimiento: optimizaciones para pequeñas E/S de lectura/escritura aleatorias

Más información


El protocolo SMBv2 se incluyó por primera vez en Windows Vista y en Windows Server 2008.

Por su parte, el protocolo SMBv3 se incluyó por primera vez en Windows 8 y en Windows Server 2012.

Para obtener más información sobre las funciones de SMBv2 y SMBv3, visite los siguientes sitios web de Microsoft TechNet:
 

Cómo eliminar SMBv1 correctamente en Windows 8.1, Windows 10, Windows 2012 R2 y Windows Server 2016


Windows Server 2012 R2 y 2016: Métodos de PowerShell

SMB v1

Detectar:

Get-WindowsFeature FS-SMB1

Deshabilitar:

Disable-WindowsOptionalFeature -Online -FeatureName smb1protocol

Habilitar:

Enable-WindowsOptionalFeature -Online -FeatureName smb1protocol


SMB v2/v3

Detectar:

Get-SmbServerConfiguration | Seleccionar EnableSMB2Protocol

Deshabilitar:

Set-SmbServerConfiguration -EnableSMB2Protocol $false

Habilitar:

Set-SmbServerConfiguration -EnableSMB2Protocol $true



Windows Server 2012 R2 y Windows Server 2016: Método de Server Manager para deshabilitar SMB

SMB v1
Server Manager -
                                                Dashboard method



Windows 8.1 y Windows 10: Método de PowerShell

Protocolo SMB v1



Windows 8.1 y Windows 10: método de Agregar o quitar programas

Add-Remove Programs
                                                client method
 
 

Cómo detectar el estado y habilitar y deshabilitar los protocolos SMB en el servidor SMB


En Windows 8 y Windows Server 2012

Windows 8 y Windows Server 2012 incluyen el nuevo cmdlet de Windows PowerShell Set-SMBServerConfiguration. Este cmdlet le permite habilitar o deshabilitar los protocolos SMBv1, SMBv2 y SMBv3 en el componente de servidor. 


No hace falta reiniciar el equipo tras ejecutar el cmdlet Set-SMBServerConfiguration.

SMB v1 en un servidor SMB
Detectar: Get-SmbServerConfiguration | Seleccionar EnableSMB1Protocol
Deshabilitar: Set-SmbServerConfiguration -EnableSMB1Protocol $false
Habilitar: Set-SmbServerConfiguration -EnableSMB1Protocol $true

Para obtener más información, consulte Almacenamiento de servidores en Microsoft.

SMB v2/v3 en un servidor SMB
Detectar: Get-SmbServerConfiguration | Seleccionar EnableSMB2Protocol
Deshabilitar: Set-SmbServerConfiguration -EnableSMB2Protocol $false
Habilitar: Set-SmbServerConfiguration EnableSMB2Protocol $true


En Windows 7, Windows Server 2008 R2, Windows Vista y Windows Server 2008

Para habilitar o deshabilitar protocolos SMB en un servidor SMB Server en el que se ejecute Windows 7, Windows Server 2008 R2, Windows Vista o Windows Server 2008, utilice Windows PowerShell o el Editor del Registro.

Métodos de PowerShell


SMB v1 en un servidor SMB

Detectar:

Get-Item HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters | ForEach-Object {Get-ItemProperty $_.pspath}

Configuración predeterminada = Habilitado (no se crea ninguna clave de registro), por lo que no se devolverá ningún valor de SMB1

Deshabilitar:

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


Nota: una vez realizados estos cambios, debe reiniciar el equipo.

Para obtener más información, consulte Almacenamiento de servidores en Microsoft.

SMB v2/v3 en un servidor SMB

Detectar:

Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters | ForEach-Object {Get-ItemProperty $_.pspath}


Deshabilitar:

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


Nota: una vez realizados estos cambios, debe reiniciar el equipo.


Editor del Registro

Importante En este artículo se incluye información sobre cómo modificar el registro. Asegúrese de hacer una copia de seguridad del Registro antes de modificarlo. Asegúrese de saber cómo recuperar el registro en caso de producirse algún problema. Para mayor información acerca de cómo realizar una copia de respaldo, recuperar y modificar un registro, haga clic en el siguiente artículo para leerlo en la base de información de Microsoft:
322756 Cómo realizar una copia de seguridad y restaurar el registro en Windows

Para habilitar o deshabilitar SMBv1 en el servidor SMB, configure la siguiente clave del Registro:

Subclave del Registro: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
Entrada del Registro: SMB1
REG_DWORD: 0 = deshabilitado
REG_DWORD: 1 = habilitado
Valor predeterminado: 1 = habilitado (no se crea ninguna clave de Registro)

Para habilitar o deshabilitar SMBv2 en el servidor SMB, configure la siguiente clave del Registro:

Subclave del Registro:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
Entrada del Registro: SMB2
REG_DWORD: 0 = deshabilitado
REG_DWORD: 1 = habilitado
Valor predeterminado: 1 = habilitado (no se crea ninguna clave de registro)


Nota Una vez realizados estos cambios, debe reiniciar el equipo.

Cómo detectar el estado y habilitar y deshabilitar los protocolos SMB en el cliente SMB


Windows Vista, Windows Server 2008, Windows 7, Windows Server 2008 R2, Windows 8 y Windows Server 2012

Nota: cuando habilite o deshabilite SMBv2 en Windows 8 o Windows Server 2012, SMBv3 también se habilitará o deshabilitará. Este comportamiento se produce porque estos protocolos comparten la misma pila.

SMB v1 en un cliente de SMB
Detectar: sc.exe qc lanmanworkstation
Deshabilitar: 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 obtener más información, consulte Almacenamiento de servidores en Microsoft.

SMB v2/v3 en un cliente de SMB
Detectar: sc.exe qc lanmanworkstation
Deshabilitar: 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


Notas

  • Debe ejecutar estos comandos en un símbolo del sistema con privilegios elevados.
  • Una vez realizados estos cambios, debe reiniciar el equipo.

Deshabilitar el servidor de SMBv1 con la directiva de grupo


Este método configurará el siguiente nuevo elemento en el registro:


HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters

Entrada del Registro: SMB1 REG_DWORD: 0 = Deshabilitado


Configurarlo mediante la directiva de grupo:

  1. Abra la Consola de administración de directivas de grupo (GPMC). Haga clic con el botón derecho en el objeto de directiva de grupo (GPO) que debe contener el nuevo elemento de preferencia y luego haga clic en Editar.
  2. En el árbol de la consola, bajo Configuración del equipo, expanda la carpeta Preferencias y luego la carpeta Configuración de Windows.
  3. Haga clic con el botón derecho en el nodo Registro, haga clic en Nuevo y seleccione Elemento del Registro.

    Elemento de
                                                registro - nuevo -
                                                registro

En el cuadro de diálogo Nuevas propiedades de Registro, seleccione lo siguiente:

  • Acción: Crear
  • Subárbol: HKEY_LOCAL_MACHINE
  • Ruta de la clave: SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
  • Nombre del valor: SMB1
  • Tipo de valor: REG_DWORD
  • Información del valor: 0

Nuevas propiedades de
                                          registro: General

Esto deshabilita los componentes del servidor de SMBv1. Esta directiva de grupo se debe aplicar en todas las estaciones de trabajo, servidores y controladores de dominio necesarios del dominio.

Nota Los filtros WMI también se pueden configurar para que excluyan algunos sistemas operativos seleccionados o que ya no sean compatibles, tales como Windows XP.  

Deshabilitar el cliente de SMBv1 con la directiva de grupo


Para deshabilitar el cliente de SMBv1, la clave del Registro de servicios se debe actualizar para deshabilitar el inicio de MRxSMB10 y luego la dependencia en MRxSMB10 se debe quitar de la entrada de LanmanWorkstation de modo que se pueda iniciar con normalidad sin requerir que MRxSMB10 se inicie primero.

De este modo, se actualizarán y reemplazarán los valores predeterminados en los siguientes dos elementos del registro:


HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\mrxsmb10

Entrada del Registro: Inicio REG_DWORD: 4 = Deshabilitado

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation

Entrada del Registro: DependOnService REG_MULTI_SZ: “Bowser”,”MRxSmb20″,”NSI”


Nota El valor predeterminado que incluía MRxSMB10 se ha eliminado como dependencia


Configurarlo mediante la directiva de grupo:

  1. Abra la Consola de administración de directivas de grupo (GPMC). Haga clic con el botón derecho en el objeto de directiva de grupo (GPO) que debe contener el nuevo elemento de preferencia y luego haga clic en Editar.
  2. En el árbol de la consola, bajo Configuración del equipo, expanda la carpeta Preferencias y luego la carpeta Configuración de Windows.
  3. Haga clic con el botón derecho en el nodo Registro, haga clic en Nuevo y seleccione Elemento del Registro.

Elemento de registro -
                                          nuevo - registro

En el cuadro de diálogo Nuevas propiedades de Registro, seleccione lo siguiente:

  • Acción: Actualización
  • Subárbol: HKEY_LOCAL_MACHINE
  • Ruta de la clave: SYSTEM\CurrentControlSet\services\mrxsmb10
  • Nombre del valor: Inicio
  • Tipo de valor: REG_DWORD
  • Información del valor: 4

Propiedades de inicio:
                                          General

Luego, quite la dependencia del valor MRxSMB10 que se acaba de deshabilitar.

En el cuadro de diálogo Nuevas propiedades de Registro, seleccione lo siguiente:

  • Acción: Reemplazar
  • Subárbol: HKEY_LOCAL_MACHINE
  • Ruta de la clave: SYSTEM\CurrentControlSet\Services\LanmanWorkstation
  • Nombre del valor: DependOnService
  • Tipo de valor REG_MULTI_SZ
  • Información del valor:
    • Bowser
    • MRxSmb20
    • NSI

Nota Estas tres cadenas no tendrán viñetas (consulte la siguiente captura de pantalla).

Propiedades de
                                          DependOnService

El valor predeterminado incluye MRxSMB10 en muchas versiones de Windows. Por lo tanto, al reemplazarlos por esta cadena de varios valores, en realidad se quita MRxSMB10 como dependencia para LanmanServer y pasa de cuatro valores predeterminados a estos tres valores indicados anteriormente.

Nota Cuando use la Consola de administración de directivas de grupo, no tiene que usar ni comillas ni comas. Simplemente escriba cada entrada en líneas individuales.

Es necesario reiniciar

Cuando se haya aplicado la directiva y se hayan configurado las opciones del registro, los sistemas de destino se deben reiniciar antes de deshabilitar SMB v1.

Resumen

Si esta configuración se encuentra en el mismo Objeto de directiva de grupo (GPO), la Administración de directivas de grupo mostrará la configuración que se indica abajo.

Editor de administración
                                          de directiva de grupo -
                                          registro

Pruebas y validación

Cuando se hayan configurado, permita que la directiva se replique y actualice. Para llevar a cabo las pruebas, ejecute gpupdate /force desde un símbolo del sistema y revise los equipos de prueba para asegurarse de que la configuración de registro se aplica correctamente. Asegúrese de que SMB v2 y SMB v3 funcionan para todos los demás sistemas del entorno.