Búsqueda de sitios web

¿Cómo deshabilitar/habilitar SMB v 1.0 en Windows 10/Server 2016?


En Windows Server 2016/2019 y Windows 10 (a partir de la compilación 1709), el protocolo de red Server Message Block 1.0 (SMBv1) que se usa para acceder a las carpetas compartidas está deshabilitado de manera predeterminada. En la mayoría de los casos, este protocolo es necesario para acceder a carpetas compartidas alojadas en sistemas heredados, como Windows XP, Windows Server 2003 y sistemas operativos anteriores que ya no son compatibles. En este artículo, veremos cómo habilitar o deshabilitar la compatibilidad con el servidor y el cliente SMBv1 en Windows 10 y Windows Server 2016/2019.

Si no quedan clientes SMB 1.x en su red, debe deshabilitar completamente SMBv1 en todos los dispositivos Windows. Al deshabilitar SMB 1.0, puede proteger las computadoras con Windows de una amplia gama de vulnerabilidades en este protocolo heredado (el exploit público más famoso para SMBv1 es EternalBlue). Como resultado, sus dispositivos utilizarán versiones nuevas, más eficientes, seguras y funcionales del protocolo SMB cuando accedan a recursos compartidos de red.

En uno de los artículos anteriores, mostramos la tabla de compatibilidad de versiones SMB del lado del cliente y del servidor. Según la tabla, las versiones antiguas de los clientes (XP, Server 2003 y algunos clientes *nix) pueden acceder a las carpetas compartidas de la red solo mediante el protocolo SMB v1.0. Si no hay tales clientes en la red, puede deshabilitar completamente SMB 1.0 en el lado de los servidores de archivos (incluidos los controladores de dominio AD) y los escritorios de los clientes.

En Windows 10 y Windows Server 2016, el protocolo SMBv1 se divide en dos componentes separados: cliente SMB y servidor SMB, que se pueden habilitar/deshabilitar de forma independiente.

Auditoría del acceso a carpetas compartidas a través de SMB v1.0

Antes de deshabilitar o eliminar por completo el controlador SMB 1.0 del lado del servidor de archivos SMB, vale la pena asegurarse de que no haya clientes heredados que lo usen en su red. Para ello, habilite la auditoría del acceso al servidor de archivos a través de SMB v1.0 mediante el siguiente comando de PowerShell:

Set-SmbServerConfiguration -AuditSmb1Access $true

Después de un par de días, abra el Visor de eventos en el servidor, verifique el registro Aplicaciones y servicios -> Microsoft -> Windows -> SMBServer -> Audit y vea si cualquier cliente accedió al servidor de archivos a través de SMB1.

Consejo. Puede mostrar la lista de eventos de este registro de eventos con el siguiente comando de PowerShell:

Get-WinEvent -LogName Microsoft-Windows-SMBServer/Audit

En nuestro ejemplo, se encontró en el registro un evento con EventID 3000 de la fuente SMBServer. El evento indica que el cliente 192.168.1.10 está intentando acceder al servidor utilizando el protocolo SMB1.

SMB1 access
Client Address: 192.168.1.10
Guidance:
This event indicates that a client attempted to access the server using SMB1. To stop auditing SMB1 access, use the Windows PowerShell cmdlet Set-SmbServerConfiguration.

Debe encontrar esta computadora o dispositivo en la red y actualizar el sistema operativo o el firmware a una versión que admita las versiones más recientes del protocolo SMB: SMBv2 o SMBv3.

En nuestro caso, ignoraremos esta información, pero debe tener en cuenta que más adelante este cliente no podrá acceder a las carpetas compartidas en este servidor SMB.

Habilitar/deshabilitar SMB 1.0 en Windows Server 2016/2019

En Windows Server 2016 a partir de la compilación 1709 y Windows Server 2019, SMBv1 está deshabilitado de forma predeterminada. Para habilitar la compatibilidad con el protocolo de cliente SMBv1 en las versiones más recientes de Windows Server, debe instalar la función independiente Compatibilidad con el uso compartido de archivos SMB 1.0/CIFS.

Puede instalar la función SMBv1 mediante el Administrador del servidor o a través de PowerShell.

Puede verificar que SMBv1 esté habilitado con el comando de PowerShell:

Get-WindowsFeature | Where-Object {$_.name -eq "FS-SMB1"} | ft Name,Installstate

Para instalar la función FS-SMB1, ejecute:

Install-WindowsFeature FS-SMB1

Para desinstalar la función de cliente SMBv1 (requiere reiniciar), ejecute el comando:

Uninstall-WindowsFeature -Name FS-SMB1 -Remove

Otro comando de PowerShell que también elimina la función SMB1Protocol:

Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol -Remove

Para que su servidor gestione el acceso de clientes SMBv1.0, debe habilitar la compatibilidad con SMBv1 en el nivel del servidor de archivos SMB además del componente FS-SMB1. Para verificar si el acceso SMBv1 está habilitado para recursos compartidos de red en su servidor, ejecute:

Get-SmbServerConfiguration

La línea "

EnableSMB1Protocol: True

” significa que puede acceder a carpetas compartidas en este servidor mediante el protocolo SMBv1. Para deshabilitar la compatibilidad con el servidor SMBv1 en Windows Server, ejecute el comando de PowerShell:

Set-SmbServerConfiguration -EnableSMB1Protocol $false -Force

Ahora usa el

Get-SmbServerConfiguration

cmdlet para asegurarse de que el servidor SMB1 esté deshabilitado.

Para habilitar la compatibilidad con SMBv1 en el servidor, ejecute el comando:

Set-SmbServerConfiguration -EnableSMB1Protocol $True -Force

En Windows 7/8 y Windows Server 2008 R2/2012, para deshabilitar el cliente SMB 1.0, debe deshabilitar el servicio y el controlador de acceso SMBv1 con los comandos:

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

¿Cómo habilitar/deshabilitar SMBv1 en Windows 10?

Como ya dijimos, en todas las versiones nuevas de Windows 10 (a partir de 1709) la compatibilidad con el protocolo SMB1 está deshabilitada (el acceso de invitados a través del protocolo SMBv2 también está deshabilitado).

En Windows 10, puede verificar el estado de los componentes del protocolo SMBv1 con el comando DISM:

Dism /online /Get-Features /format:table | find "SMB1Protocol"

En nuestro ejemplo, puede ver que todas las funciones de SMBv1 están deshabilitadas:

SMB1Protocol                                | Disabled
SMB1Protocol-Client                         | Disabled
SMB1Protocol-Server                         | Disabled
SMB1Protocol-Deprecation                    | Disabled

En Windows 10, también puede administrar las funciones de SMB 1 desde el Panel de control (

optionalfeatures.exe

). Expanda la opción Soporte para uso compartido de archivos SMB 1.0/CIFS. Como puede ver, 3 componentes SMBv1 también están disponibles aquí:

  • Eliminación automática de SMB 1.0/CIFS

  • Cliente SMB 1.0/CIFS

  • Servidor SMB 1.0/CIFS

Puede habilitar el cliente y servidor SMBv1 en Windows 10 desde la ventana de administración de características o usando los comandos:

Dism /online /Enable-Feature /FeatureName:"SMB1Protocol"
Dism /online /Enable-Feature /FeatureName:"SMB1Protocol-Client"
Dism /online /Enable-Feature /FeatureName:"SMB1Protocol-Server"

También puede habilitar el servidor y el cliente SMBv1 en Windows 10 mediante PowerShell:

Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol-Server
Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol-Client

Si después de habilitar el cliente SMBv1, no se usa durante más de 15 días, se deshabilita automáticamente.

La eliminación automática del cliente SMBv1 es una operación única. Si el administrador habilita manualmente SMBv1 nuevamente, no se deshabilitará automáticamente.

Para deshabilitar la compatibilidad con el servidor y el cliente SMB1 en Windows 10, ejecute los siguientes comandos DISM:

Dism /online /Disable-Feature /FeatureName:"SMB1Protocol"
Dism /online /Disable-Feature /FeatureName:"SMB1Protocol-Client"
Dism /online /Disable-Feature /FeatureName:"SMB1Protocol-Server"

Si deshabilitó el cliente SMBv1 en Windows 10, cuando acceda a una carpeta atrapada en un servidor de archivos que solo admita SMBv1 (los protocolos SMBv2 y v3 están deshabilitados o no son compatibles), puede recibir los siguientes errores:

  • 0x80070035 The network path was not found;
  • Unable to connect to file shares because it is not secure. This share requires the obsolete SMB1 protocol, which is not secure and could expose your system to attacks;
  • You can’t connect to the file share because it’s not secure. This share requires the obsolete SMB1 protocol, which is unsafe and could expose your system to attack. Your system requires SMB2 or higher.

    Obtenga más información al respecto en el artículo No se puede acceder a la carpeta compartida en Windows 10.

Además, si deshabilita el cliente SMBv1, el servicio Computer Browser, que utiliza el protocolo NetBIOS heredado para detectar dispositivos en la red, deja de funcionar en la computadora. Para mostrar correctamente los equipos vecinos en la red de Windows 10, debe configurar el servicio Feature Discovery Provider Host (consulte este artículo).

Deshabilitar el cliente y el servidor SMBv1 a través de la política de grupo

En un entorno de dominio de Active Directory, puede deshabilitar SMBv1 en todos los servidores y equipos mediante políticas de grupo (GPO). Dado que no existe una política de configuración de SMB independiente en las Políticas de grupo estándar de Windows, deberá deshabilitarla a través de la política de registro.

  1. Abra la consola de administración de directivas de grupo (

    gpmc.msc

    ), cree un nuevo GPO (disableSMBv1) y vincúlelo a la OU que contiene las computadoras en las que desea deshabilitar SMB1;

  2. Cambie al modo de edición de políticas. Expanda la sección GPO Configuración del equipo -> Preferencias -> Configuración de Windows -> Registro;

  3. Cree un nuevo elemento de registro con la siguiente configuración:
    Acción:

    Update

    Colmena:

    HKEY_LOCAL_MACHINE

    Ruta clave:

    SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters

    Nombre del valor:

    SMB1

    Tipo de valor:

    REG_DWORD

    Datos de valor:

    0

    Esta política deshabilitará la compatibilidad con el componente de servidor SMBv1 a través del registro en todas las computadoras.

    Puede excluir alguna versión de Windows de esta política utilizando el filtro WMI.

Si desea deshabilitar el cliente SMB en las computadoras del dominio a través de GPO, cree dos parámetros de registro adicionales:

  • El parámetro Inicio (tipo REG_DWORD) con valor 4 en la clave de registro HKLM\SYSTEM\CurrentControlSet\services\mrxsmb10;

  • El parámetro DependOnService (tipo REG_MULTI_SZ) con el valor Bowser, MRxSmb20, NSI (cada valor en una nueva línea) en la clave de registro HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation.

Queda por actualizar la configuración de la directiva de grupo en los clientes (

gpupdate /force

) después del reinicio, asegúrese de que los componentes SMBv1 estén completamente deshabilitados.

Los GPO de referencia de seguridad del kit de herramientas de cumplimiento de seguridad de Microsoft tienen una plantilla administrativa independiente Guía de seguridad de MS(

SecGuide.adml

y

SecGuide.admx

archivos) que tienen opciones separadas para deshabilitar el servidor SMB y el cliente:

  • Configurar servidor SMB v1;

  • Configurar el controlador de cliente SMB v1.

Artículos relacionados