Compartir a través de


Detectar, habilitar y deshabilitar SMBv1, SMBv2 y SMBv3 en Windows

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

Si deshabilita o quita SMBv1, es posible que encuentre problemas de compatibilidad con equipos o software antiguos. SMBv1 tiene importantes vulnerabilidades de seguridad y le recomendamos encarecidamente que no la use. SMBv1 no está instalado de forma predeterminada en ninguna edición de Windows 11 o Windows Server 2019 y versiones posteriores. SMBv1 tampoco está instalado de forma predeterminada en Windows 10, excepto las ediciones Home y Pro. Se recomienda que, en lugar de volver a instalar SMBv1, actualice el servidor SMB que todavía lo requiere. Para obtener una lista de asociados que requieren SMBv1 y sus actualizaciones que quiten el requisito, consulte SMB1 Product Clearinghouse.

Deshabilitar SMBv2 o SMBv3 para solucionar problemas

Se recomienda mantener habilitados SMBv2 y SMBv3, pero es posible que le resulte útil deshabilitar uno temporalmente para la solución de problemas. Para obtener más información, consulte Uso de la línea de comandos o el Editor del Registro para administrar protocolos SMB.

Al deshabilitar SMBv3, se desactiva la siguiente funcionalidad:

  • Conmutación por error transparente: proporciona a los clientes una manera de volver a conectarse sin interrupción a los nodos del clúster durante el mantenimiento o la conmutación por error.
  • Escalabilidad horizontal: proporciona acceso simultáneo a los datos compartidos en todos los nodos del clúster de archivos
  • SMB multicanal: facilita la agregación del ancho de banda de red y la tolerancia a errores si hay varias rutas de acceso disponibles entre el cliente y el servidor.
  • SMB directo: agrega compatibilidad con redes de acceso directo a memoria remota (RDMA) para un alto rendimiento, con baja latencia y uso bajo de CPU.
  • Cifrado: proporciona cifrado de un extremo a otro y ofrece protección contra la interceptación en redes no confiables.
  • Arrendamiento de directorios: mejora los tiempos de respuesta de la aplicación en sucursales mediante el almacenamiento en caché
  • Optimización del rendimiento: optimiza las pequeñas operaciones de E/S de lectura y escritura aleatorias

Al deshabilitar SMBv2, se desactiva la siguiente funcionalidad:

  • Agrupación de solicitudes: admite el envío de varias solicitudes SMBv2 como una única solicitud de red.
  • Lecturas y escrituras más grandes: mejora el uso de redes más rápidas
  • Almacenamiento en caché de propiedades de carpeta y archivo: ofrece a los clientes la capacidad de mantener copias locales de carpetas y archivos.
  • Identificadores duraderos: proporciona una manera de que una conexión se vuelva a conectar de forma transparente al servidor después de una desconexión temporal
  • Firma de mensajes mejorada: utiliza un algoritmo hash seguro (SHA) de código de autenticación de mensajes basado en hash (HMAC) con un código hash de 256 bits (HMAC SHA-256), en lugar del algoritmo Message-Digest 5 (MD5) como algoritmo de hash
  • Escalabilidad mejorada para el uso compartido de archivos: aumenta considerablemente el número de usuarios, recursos compartidos y archivos abiertos por servidor
  • Compatibilidad con vínculo simbólicos
  • Modelo de concesión de interbloqueo 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
  • Soporte para unidad de transmisión máxima (MTU) grande: permite el uso completo de 10 Gigabit Ethernet (GbE)
  • Mejora de la eficiencia energética: proporciona una manera de suspender los clientes que tengan archivos abiertos en un servidor

El protocolo SMBv2 se introdujo en Windows Vista y Windows Server 2008. 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 artículos siguientes:

Uso de PowerShell para quitar SMBv1

Puede usar los comandos Get-WindowsOptionalFeature, Disable-WindowsOptionalFeature y Enable-WindowsOptionalFeature para detectar, deshabilitar y habilitar un cliente o servidor SMBv1. Ejecute los comandos en un símbolo del sistema con privilegios elevados.

Nota:

El equipo se reinicia después de ejecutar los comandos de PowerShell para deshabilitar o habilitar SMBv1.

  • Detección:

    Get-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
    
  • Deshabilite:

    Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
    
  • Habilite:

    Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
    

Sugerencia

Puede detectar el estado SMBv1 sin privilegios elevados ejecutando el comando Get-SmbServerConfiguration: Get-SmbServerConfiguration | Format-List EnableSMB1Protocol.

Eliminación de SMBv1

SMBv1 no está instalado de forma predeterminada en Windows Server 2019 y versiones posteriores. En versiones anteriores de Windows Server, puede usar el Administrador del servidor para quitar SMBv1:

  1. En el servidor del que desea quitar SMBv1, abra administrador del servidor.

  2. En el Panel del Administrador del servidor, en Configurar este servidor local, seleccione Agregar roles y características.

  3. 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.

  4. En la página Seleccionar servidor de destino , en Grupo de servidores, asegúrese de que el servidor del que desea quitar la característica está seleccionada y, a continuación, seleccione Siguiente.

  5. En la página Quitar roles de servidor, seleccione Siguiente.

  6. En la página Quitar características , desactive la casilla de compatibilidad con uso compartido de archivos SMB 1.0/CIFS y, a continuación, seleccione Siguiente.

    Captura de pantalla de la página Quitar características en el panel administrador del servidor. En la lista Características, SMBv1 está resaltado.

  7. En la página Confirmar selecciones de eliminación, confirme que aparece la característica y, a continuación, seleccione Quitar.

Usar la línea de comandos o el Editor del Registro para administrar protocolos SMB

A partir de Windows 10 Fall Creators Update y Windows Server 2019, SMBv1 ya no está instalado de forma predeterminada. Para obtener más información, consulta SMBv1 no está instalado de forma predeterminada en Windows 10 versión 1709, Windows Server versión 1709 y versiones posteriores.

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

Puede usar el cmdlet Set-SMBServerConfiguration para habilitar o deshabilitar los protocolos SMBv1, SMBv2 y SMBv3 en un componente de servidor. Puede usar el cmdlet Get-SmbServerConfiguration para recuperar la configuración del servidor SMB.

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

SMBv1

  • Detección:

    Get-SmbServerConfiguration | Select EnableSMB1Protocol
    
  • Deshabilite:

    Set-SmbServerConfiguration -EnableSMB1Protocol $false
    
  • Habilite:

    Set-SmbServerConfiguration -EnableSMB1Protocol $true
    

Para obtener más información, vea Detener el uso de SMB1.

SMBv2 y SMBv3

  • Detección:

    Get-SmbServerConfiguration | Select EnableSMB2Protocol
    
  • Deshabilite:

    Set-SmbServerConfiguration -EnableSMB2Protocol $false
    
  • Habilite:

    Set-SmbServerConfiguration -EnableSMB2Protocol $true
    

Habilitar o deshabilitar SMB en Windows 7, Windows Server 2008 R2, Windows Vista y Windows Server 2008

Para habilitar o deshabilitar protocolos SMB en un servidor SMB que ejecute Windows 7, Windows Server 2008 R2, Windows Vista o Windows Server 2008, use Windows PowerShell o el Editor del Registro, como se explica en las secciones siguientes.

Usar Windows PowerShell

Puede usar los cmdlets Get-Item, Get-ItemProperty y Set-ItemProperty para detectar, habilitar y deshabilitar protocolos SMB.

Nota:

Los comandos de las secciones siguientes requieren PowerShell 2.0 o posterior.

SMBv1 en un servidor SMB
  • Detección:

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

    La configuración predeterminada es Enabled. Como resultado, no se crea ningún valor con nombre del Registro, por lo que el comando no devuelve un SMB1 valor.

  • Deshabilite:

    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 Detener el uso de SMB1.

SMBv2 y SMBv3 en un servidor SMB
  • Detección:

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

    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.

Uso del 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 un servidor SMB, abra el Editor del Registro y vaya a la siguiente ruta de acceso de la clave del Registro:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters

Configure una entrada que tenga las siguientes propiedades:

  • Para el nombre, use SMB1.
  • Para el tipo, use REG_DWORD.
  • Para los datos, use 0 para Deshabilitado y 1 para Habilitado. El valor predeterminado es 1 o Habilitado. En este caso, no se crea ninguna clave del Registro.

Para habilitar o deshabilitar SMBv2 en un servidor SMB, abra el Editor del Registro y vaya a la siguiente ruta de acceso de la clave del Registro:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters

Configure una entrada que tenga las siguientes propiedades:

  • Para el nombre, use SMB2.
  • Para el tipo, use REG_DWORD.
  • Para los datos, use 0 para Deshabilitado y 1 para Habilitado. El valor predeterminado es 1 o Habilitado. En este caso, no se crea ninguna clave del Registro.

Nota:

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

Usar la directiva de grupo para deshabilitar SMBv1

En esta sección se muestra cómo usar la directiva de grupo para deshabilitar SMBv1. Puede usar este método en varias versiones de Windows.

SMBv1

Puede deshabilitar SMBv1 en un servidor SMB configurando el siguiente elemento nuevo en el Registro:

  • Ruta de acceso de la clave: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
  • Entrada del Registro: SMB1
  • Tipo de entrada: REG_DWORD
  • Datos de entrada: 0 para Deshabilitado

Para usar la directiva de grupo para configurar este elemento, siga estos pasos:

  1. Abra la Consola de administración de directivas de grupo. Haga clic con el botón derecho en el objeto de directiva de grupo (GPO) que debe contener el nuevo elemento de preferencia y, a continuación, seleccione 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, a continuación, seleccione Elemento del Registro.

    Captura de pantalla del árbol de consola en consola de administración de directivas de grupo. Los menús contextuales del Registro están visibles, con Nuevo resaltado en el primer menú.

  4. En el cuadro de diálogo Nuevas propiedades del Registro , seleccione o escriba los valores siguientes:

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

    Captura de pantalla del cuadro de diálogo Nuevas propiedades del Registro. Los valores son visibles en la acción, subárbol, ruta de acceso de clave, nombre, tipo y campos de datos.

Este procedimiento deshabilita los componentes del servidor SMBv1. Debe aplicar esta directiva a todas las estaciones de trabajo, servidores y controladores de dominio necesarios en el dominio.

Nota:

 Puede establecer filtros de Instrumental de administración de Windows (WMI) para excluir sistemas operativos específicos o para excluir sistemas operativos cliente o servidor. Para obtener más información, vea Filtrado de directivas de grupo y Creación de filtros WMI para el GPO.

Importante

Algunos sistemas requieren acceso a la carpeta SYSVOL u otros recursos compartidos de archivos, pero no admiten SMBv2 o SMBv3. Algunos ejemplos de estos sistemas incluyen sistemas Windows heredados y sistemas de asociados y Linux antiguos. Tenga cuidado al deshabilitar SMBv1 en controladores de dominio en estos sistemas.

Auditoría del uso de SMBv1

Para determinar qué clientes intentan conectarse a un servidor SMB mediante SMBv1, puede habilitar la auditoría en los clientes de Windows Server y Windows. Para habilitar o deshabilitar la auditoría, use el cmdlet Set-SmbServerConfiguration . Para comprobar el estado de auditoría, use el cmdlet Get-SmbServerConfiguration .

  • Habilite:

    Set-SmbServerConfiguration -AuditSmb1Access $true
    
  • Deshabilite:

    Set-SmbServerConfiguration -AuditSmb1Access $false
    
  • Detección:

    Get-SmbServerConfiguration | Select AuditSmb1Access
    

Después de habilitar la auditoría de SMBv1, puede comprobar el Microsoft-Windows-SMBServer\Audit registro de eventos para ver los eventos de acceso. Cada vez que un cliente intenta usar SMBv1 para conectarse a un servidor, aparece una entrada que tiene un identificador de evento de 3000 en el registro.

Comprobar la configuración de la directiva de grupo

Si todas las configuraciones están en el mismo GPO, la administración de directivas de grupo muestra la siguiente configuración:

Captura de pantalla del Registro del Editor de administración de directivas de grupo. Hay tres elementos visibles: DependOnService, SMB1 e Start.

Prueba y validación de la directiva

Después de completar los pasos de configuración de la Consola de administración de directivas de grupo, asigne tiempo a la directiva de grupo para aplicar las actualizaciones a su configuración. Si es necesario para realizar pruebas, ejecute gpupdate /force en una línea de comandos y revise los equipos de destino para asegurarse de que las configuraciones del registro se aplican correctamente. Asegúrese de que funcionen SMBv2 y SMBv3 en todos los demás sistemas del entorno.

Nota:

Después de probar la directiva, reinicie los sistemas de destino.