Detección, habilitación y deshabilitación de SMBv1, SMBv2 y SMBv3 en Windows

Se aplica a: Windows Server 2022, Windows 10, Windows 8.1, Windows 8, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012

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

Aunque deshabilitar o quitar SMBv1 podría causar algunos problemas de compatibilidad con equipos o software antiguos, SMBv1 tiene vulnerabilidades de seguridad significativas y le recomendamos encarecidamente que no lo use.

Deshabilitación de SMBv2 o SMBv3 para solucionar problemas

Se recomienda mantener SMBv2 y SMBv3 habilitados, pero puede resultar útil deshabilitar uno temporalmente para solucionar problemas. Para obtener más información, vea How to detect status, enable, and disable SMB protocols on the SMB Server.

En Windows 10, Windows 8.1 y Windows 8, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2 y Windows Server 2012, deshabilitar SMBv3 desactiva la funcionalidad siguiente:

  • Conmutación por error transparente: los clientes se vuelven a conectar sin interrupción a los nodos del clúster durante el mantenimiento o la conmutación por error
  • Escalabilidad horizontal: acceso simultáneo a datos compartidos en todos los nodos del clúster de archivos
  • Multicanal: agregación de ancho de banda de red y tolerancia a errores si hay varias rutas de acceso disponibles entre el cliente y el servidor
  • SMB directo: agrega compatibilidad con redes RDMA para alto rendimiento, con baja latencia y bajo uso de CPU.
  • Cifrado: proporciona cifrado de un extremo a otro y protege contra interceptaciones en redes no confiables
  • Concesión de directorios: mejora los tiempos de respuesta de las aplicaciones en las sucursales mediante el almacenamiento en caché
  • Optimizaciones de rendimiento: optimizaciones para E/S de lectura/escritura aleatorias pequeñas

En Windows 7 y Windows Server 2008 R2, al deshabilitar SMBv2 se desactiva la funcionalidad siguiente:

  • Compuesto de solicitudes: permite enviar varias solicitudes SMBv2 como una única solicitud de red
  • Lecturas y escrituras más grandes: mejor uso de redes más rápidas
  • Almacenamiento en caché de propiedades de carpetas y archivos: los clientes mantienen copias locales de carpetas y archivos
  • Identificadores duraderos: permiten la conexión para volver a conectarse de forma transparente al servidor si hay una desconexión temporal
  • Firma de mensajes mejorada: HMAC SHA-256 reemplaza MD5 como algoritmo hash
  • Escalabilidad mejorada para el uso compartido de archivos: se ha aumentado considerablemente el número de usuarios, recursos compartidos y archivos abiertos por servidor.
  • Compatibilidad con vínculos simbólicos
  • Modelo de concesión de bloqueo de cliente: limita los datos transferidos entre el cliente y el servidor, lo que mejora el rendimiento en redes de alta latencia y aumenta la escalabilidad del servidor SMB.
  • Compatibilidad con MTU grande: para un uso completo de 10 Gigabit Ethernet (GbE)
  • Eficiencia energética mejorada: los clientes que tienen archivos abiertos en un servidor pueden suspensión

El protocolo SMBv2 se introdujo en Windows Vista y Windows Server 2008, mientras que el protocolo SMBv3 se introdujo en Windows 8 y Windows Server 2012. Para obtener más información sobre las funcionalidades de SMBv2 y SMBv3, consulte los siguientes artículos:

Cómo quitar SMBv1

Aquí se muestra cómo quitar SMBv1 en Windows 10, Windows 8.1, Windows Server 2019, Windows Server 2016 y Windows 2012 R2.

Métodos de PowerShell

SMBv1 (cliente y servidor)
  • Detectar:

    Get-WindowsOptionalFeature -Online -FeatureName smb1protocol
    
  • Desactivar:

    Disable-WindowsOptionalFeature -Online -FeatureName smb1protocol
    
  • Habilite:

    Enable-WindowsOptionalFeature -Online -FeatureName smb1protocol
    

Windows Server 2012 R2, Windows Server 2016, Windows Server 2019: método Administrador del servidor para deshabilitar SMB

SMBv1

Administrador del servidor: método dashboard

Para quitar SMBv1 de Windows Server:

  1. En el panel Administrador del servidor del servidor en el que desea quitar SMBv1, en Configurar este servidor local, seleccione Agregar roles y características.
  2. En la página Antes de comenzar, seleccione Iniciar el Asistente para quitar roles y características y, a continuación, en la página siguiente, seleccione Siguiente.
  3. En la página Seleccionar servidor de destino en Grupo de servidores, asegúrese de que está seleccionado el servidor del que desea quitar la característica y, a continuación, seleccione Siguiente.
  4. En la página Quitar roles de servidor, seleccione Siguiente.
  5. En la página Quitar características, desactive la casilla compatibilidad con el uso compartido de archivos SMB 1.0/CIFS y seleccione Siguiente.
  6. En la página Confirmar selecciones de eliminación, confirme que aparece la característica y, a continuación, seleccione Quitar.

Windows 8.1 y Windows 10: método de PowerShell

Protocolo SMBv1
  • Detectar:

    Get-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
    
  • Desactivar:

    Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
    
  • Habilite:

    Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
    
Protocolo SMBv2/v3 (solo deshabilita el servidor SMBv2/v3)
  • Detectar:

    Get-SmbServerConfiguration | Select EnableSMB2Protocol
    
  • Desactivar:

    Set-SmbServerConfiguration -EnableSMB2Protocol $false
    
  • Habilite:

    Set-SmbServerConfiguration -EnableSMB2Protocol $true
    

Windows 8.1 y Windows 10: Método Agregar o quitar programas

Add-Remove de cliente de programas

Para deshabilitar SMBv1 en Windows 8.1 y Windows 10:

  1. En Panel de control, seleccione Programas y características.
  2. En Ventana principal del Panel de control, seleccione Activar o desactivar Windows características para abrir Windows cuadro Características.
  3. En el cuadro Windows características, desplácese hacia abajo en la lista, desactive la casilla compatibilidad con el uso compartido de archivos SMB 1.0/CIFS y seleccione Aceptar.
  4. Después Windows aplicar el cambio, en la página de confirmación, seleccione Reiniciar ahora.

Detección del estado, habilitación y deshabilitación de protocolos SMB en el servidor SMB

Para Windows 8 y Windows Server 2012

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

Nota

Al habilitar o deshabilitar SMBv2 en Windows 8 o Windows Server 2012, SMBv3 también está habilitado o deshabilitado. Este comportamiento se produce porque estos protocolos comparten la misma pila.

No es necesario reiniciar el equipo después de ejecutar el cmdlet Set-SMBServerConfiguration.

SMBv1 en el servidor SMB
  • Detectar:

    Get-SmbServerConfiguration | Select EnableSMB1Protocol
    
  • Desactivar:

    Set-SmbServerConfiguration -EnableSMB1Protocol $false
    
  • Habilite:

    Set-SmbServerConfiguration -EnableSMB1Protocol $true
    

Para obtener más información, vea Almacenamiento del servidor en Microsoft.

SMB v2/v3 en el servidor SMB
  • Detectar:

    Get-SmbServerConfiguration | Select EnableSMB2Protocol
    
  • Desactivar:

    Set-SmbServerConfiguration -EnableSMB2Protocol $false
    
  • Habilite:

    Set-SmbServerConfiguration -EnableSMB2Protocol $true
    

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

Para habilitar o deshabilitar los protocolos SMB en un servidor SMB que ejecuta Windows 7, Windows Server 2008 R2, Windows Vista o Windows Server 2008, use Windows PowerShell o editor del Registro.

Métodos de PowerShell

Nota

Este método requiere PowerShell 2.0 o una versión posterior de PowerShell.

SMBv1 en el 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 del Registro), por lo que no se devolverá ningún valor SMB1

Desactivar:

Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB1 -Type DWORD -Value 0 -Force

Habilite:

Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB1 -Type DWORD -Value 1 -Force

Nota Debe reiniciar el equipo después de realizar estos cambios. Para obtener más información, vea Almacenamiento del servidor en Microsoft.

SMBv2/v3 en el servidor SMB

Detectar:

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

Desactivar:

Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB2 -Type DWORD -Value 0 -Force

Habilite:

Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB2 -Type DWORD -Value 1 -Force

Nota

Debe reiniciar el equipo después de realizar estos cambios.

Editor del Registro

Importante

Sigue meticulosamente los pasos que se describen en esta sección. Pueden producirse problemas graves si modifica el Registro de manera incorrecta. Antes de modificarlo, haz una copia de seguridad del registro para restaurarlo, por si se produjeran problemas.

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

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters

Registry entry: SMB1
REG_DWORD: 0 = Disabled
REG_DWORD: 1 = Enabled
Default: 1 = Enabled (No registry key is created)

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

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters

Registry entry: SMB2
REG_DWORD: 0 = Disabled
REG_DWORD: 1 = Enabled
Default: 1 = Enabled (No registry key is created)

Nota

Debe reiniciar el equipo después de realizar estos cambios.

Detección del estado, habilitación y deshabilitación de protocolos SMB en el cliente SMB

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

Nota

Al habilitar o deshabilitar SMBv2 en Windows 8 o en Windows Server 2012, SMBv3 también está habilitado o deshabilitado. Este comportamiento se produce porque estos protocolos comparten la misma pila.

SMBv1 en el cliente SMB
  • Detect

    sc.exe qc lanmanworkstation
    
  • Desactivar:

    sc.exe config lanmanworkstation depend= bowser/mrxsmb20/nsi
    sc.exe config mrxsmb10 start= disabled
    
  • Habilite:

    sc.exe config lanmanworkstation depend= bowser/mrxsmb10/mrxsmb20/nsi
    sc.exe config mrxsmb10 start= auto
    

Para más información, consulte Almacenamiento del servidor en Microsoft.

SMBv2/v3 en el cliente SMB
  • Detectar:

    sc.exe qc lanmanworkstation
    
  • Desactivar:

    sc.exe config lanmanworkstation depend= bowser/mrxsmb10/nsi
    sc.exe config mrxsmb20 start= disabled
    
  • Habilite:

    sc.exe config lanmanworkstation depend= bowser/mrxsmb10/mrxsmb20/nsi
    sc.exe config mrxsmb20 start= auto
    

Nota

  • Debe ejecutar estos comandos en un símbolo del sistema con privilegios elevados.
  • Debe reiniciar el equipo después de realizar estos cambios.

Deshabilitación del servidor SMBv1 con directiva de grupo

Este procedimiento configura el siguiente nuevo elemento en el Registro:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters

  • Entrada del Registro: SMB1
  • REG_DWORD: 0 = Deshabilitado

Para usar directiva de grupo configurar esto, siga estos pasos:

  1. Abra la Consola de administración de directivas de grupo. Haga clic con el botón secundario en el objeto de directiva de grupo (GPO) que debería contener el nuevo elemento de preferencia y, a continuación, haga clic en Editar.

  2. En la opción Configuración del equipo del árbol de la consola, expanda la carpeta Preferencias y, a continuación, la carpeta Configuración de Windows.

  3. Haga clic con el botón derecho en el nodo Registro, seleccione Nuevo y seleccione Elemento del Registro.

    Registro - Nuevo - Elemento del Registro

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

  • Acción: Crear
  • Hive: HKEY_LOCAL_MACHINE
  • Ruta de acceso de clave: SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
  • Nombre del valor: SMB1
  • Tipo de valor: REG_DWORD
  • Datos de valor: 0

Nuevas propiedades del Registro: General

Este procedimiento deshabilita los componentes del servidor SMBv1. Esta directiva de grupo debe aplicarse a todas las estaciones de trabajo, servidores y controladores de dominio necesarios en el dominio.

Nota

Los filtros WMI también se pueden establecer para excluir sistemas operativos no admitidos o exclusiones seleccionadas, como Windows XP.

Importante

Tenga cuidado al realizar estos cambios en los controladores de dominio en los que los sistemas heredados Windows XP o anteriores linux y de terceros (que no admiten SMBv2 o SMBv3) requieren acceso a SYSVOL u otros recursos compartidos de archivos en los que SMB v1 esté deshabilitado.

Deshabilitar el cliente SMBv1 con directiva de grupo

Para deshabilitar el cliente SMBv1, es necesario actualizar la clave del Registro de servicios para deshabilitar el inicio de MRxSMB10 y, a continuación, es necesario quitar la dependencia de MRxSMB10 de la entrada de LanmanWorkstation para que pueda iniciarse normalmente sin necesidad de que MRxSMB10 se inicie por primera vez.

Esta guía actualiza y reemplaza los valores predeterminados en los dos elementos siguientes del Registro:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\mrxsmb10

Entrada del Registro: Start REG_DWORD: 4= Disabled

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation

Entrada del Registro: DependOnService REG_MULTI_SZ: "Bowser","MRxSmb20","NSI"

Nota

El valor predeterminado incluía MRxSMB10, que ahora se quita como dependencia.

Para configurar esto mediante directiva de grupo, siga estos pasos:

  1. Abra la Consola de administración de directivas de grupo. Haga clic con el botón derecho en el GPO que debe contener el nuevo elemento de preferencia y, a continuación, haga clic en Editar.

  2. En la opción Configuración del equipo del árbol de la consola, expanda la carpeta Preferencias y, a continuación, la carpeta Configuración de Windows.

  3. Haga clic con el botón derecho en el nodo Registro, seleccione Nuevo y seleccione Elemento del Registro.

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

    • Acción: Actualizar
    • Hive: HKEY_LOCAL_MACHINE
    • Ruta de acceso de clave: SYSTEM\CurrentControlSet\services\mrxsmb10
    • Nombre del valor: Inicio
    • Tipo de valor: REG_DWORD
    • Datos de valor: 4

    Propiedades de inicio: General

  5. A continuación, quite la dependencia en el MRxSMB10 que se deshabilitó.

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

    • Acción: Reemplazar
    • Hive: HKEY_LOCAL_MACHINE
    • Ruta de acceso de clave: SYSTEM\CurrentControlSet\Services\LanmanWorkstation
    • Nombre del valor: DependOnService
    • Tipo de valor: REG_MULTI_SZ
    • Datos de valor:
      • Bowser
      • MRxSmb20
      • Nsi

    Nota

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

    Propiedades de DependOnService

    El valor predeterminado incluye MRxSMB10 en muchas versiones de Windows, por lo que al reemplazarlos por esta cadena de varios valores, está quitando MRxSMB10 como dependencia de LanmanServer y pasando de cuatro valores predeterminados a solo estos tres valores anteriores.

    Nota

    Al usar Consola de administración de directivas de grupo, no tiene que usar comillas ni comas. Solo tiene que escribir cada entrada en líneas individuales.

  6. Reinicie los sistemas de destino para terminar de deshabilitar SMB v1.

Auditoría del uso de SMBv1

Para determinar qué clientes intentan conectarse a un servidor SMB con SMBv1, puede habilitar la auditoría en Windows Server 2016, Windows 10 y Windows Server 2019. También puede auditar en Windows 7 y Windows Server 2008 R2 si está instalada la actualización mensual de mayo de 2018 y en Windows 8.1 y Windows Server 2012 R2 si está instalada la actualización mensual de julio de 2017.

  • Habilite:

    Set-SmbServerConfiguration -AuditSmb1Access $true
    
  • Desactivar:

    Set-SmbServerConfiguration -AuditSmb1Access $false
    
  • Detectar:

    Get-SmbServerConfiguration | Select AuditSmb1Access
    

Cuando la auditoría de SMBv1 está habilitada, el evento 3000 aparece en el registro de eventos "Microsoft-Windows-SMBServer\Audit", identificando cada cliente que intenta conectarse con SMBv1.

Resumen

Si toda la configuración está en el mismo GPO, directiva de grupo Management muestra la siguiente configuración.

Editor de administración de directivas de grupo: Registro

Pruebas y validación

Después de completar los pasos de configuración de este artículo, permita que la directiva se replique y actualice. Cuando sea necesario para las pruebas, ejecute gpupdate /force en un símbolo del sistema y, a continuación, revise los equipos de destino para asegurarse de que la configuración del Registro se aplica correctamente. Asegúrese de que SMBv2 y SMBv3 funcionan para todos los demás sistemas del entorno.

Nota

No olvide reiniciar los sistemas de destino.