Buscar

Windows: Deshabilitar SMB 1.0

Antes de deshabilitar SMB 1.0:


En todas las versiones de Windows el protocolo SMB (Server Message Block) está habilitado por defecto.

Como ya sabemos, el protocolo SMB permite transferencias de datos entre cliente y servidor y existen varias versiones del protocolo.

La versión de SMB utilizada en la conexión dependerá de la versión de cliente y servidor y será autonegociada.

En un post anterior, vimos un ejemplo de ello:


A día de hoy, con Windows XP y Windows Server 2003 sin parches, ni soporte, son sistemas operativos que ya no deberíamos utilizar.

Windows XP y Windows Server 2003, utilizan exclusivamente la versión de SMB: 1.0.

Por otro lado, sistemas operativos como Windows Server 2016 o Windows 10 o versiones anteriores tienen la compatibilidad SMB 1.0 activada.

De forma que: Si por ejemplo, disponemos de un servidor de ficheros con Windows Server 2012 R2 y necesitamos realizar conexiones SMB desde Windows XP o Windows Server 2003, requeriremos de la compatibilidad con SMB 1.0 en el servidor Windows Server 2012 R2 (la compatibilidad con SMB 1.0, está activada por defecto).

Teniendo claro este aspecto, sería buena idea deshabilitar la compatibilidad con SMB 1.0 en servidores y clientes Windows.

El protocolo SMB 1.0, además de ser lento y pensado para transmitir ficheros pequeños, es más vulnerable que las versiones más actuales de este protocolo.

Un ejemplo de ello, es el ransomware: WannaCrypt, que se aprovecha de una vulnerabilidad en este protocolo para distribuirse en una red local.

Si repasamos el parche de Windows que evita que el ransomware WannaCrypt se distribuya por la red local, veremos que la vulnerabilidad que corrige se aprovecha de un bug de la versión 1 del protocolo SMB:


Security Update for Microsoft Windows SMB Server (4013389)

Windows: Deshabilitar SMB 1.0

Por lo tanto, con SMB 1.0 deshabilitado, el ransomware WannaCrypt, no puede distribuirse por SMB aunque no hayamos instalado el parche.

Resumen:

1) Por motivos de seguridad, es buena idea deshabilitar la compatibilidad del protocolo SMB 1.0 en los sistemas operativos Windows.

2) Al deshabilitar la compatibilidad del protocolo SMB 1.0 en un equipo, otros equipos con sistemas operativos Windows XP o Windows Server 2003 o sistemas operativos anteriores, no podrán conectar al equipo al que le hemos deshabilitado el protocolo SMB 1.0. 

3) Especial atención a dispositivos Linux, MacOSX, impresoras, etc que utilicen SMB 1.0 para funcionar.

4) Un buen candidato para deshabilitar SMB 1.0 sería un repositorio de backups accesible por SMB.

Deshabilitar SMB 1.0 (Desde GUI)


Solo es posible deshabilitar SMB 1.0 desde GUI, en los siguientes sistemas operativos:

- Windows 10
- Windows Server 2016
- Windows 8.1
- Windows Server 2012 R2

Versiones cliente (Windows 8.1, Windows 10):

Panel de control\Programas y características

o bien ejecutamos: appwiz.cpl

Activar o desactivar características de Windows

Desmarcamos la opción:

Compatibilidad con el protocolo para compartir archivos SMB 1.0/CIFS

Windows: Deshabilitar SMB 1.0

Versiones servidor (Windows Server 2012 R2, Windows Server 2016):

Administrador del servidor > Administrar

Quitar roles y funciones

En el apartado de características:

Desmarcamos la opción:

Compatibilidad con el protocolo para compartir archivos SMB 1.0/CIFS

Windows: Deshabilitar SMB 1.0

Deshabilitar SMB 1.0 (Desde PowerShell, como administrador)


Versiones cliente:

* Windows 8.1, Windows 10:

Disable-WindowsOptionalFeature -Online -FeatureName smb1protocol

* Windows 8

Deshabilita servidor SMB v.1.0:

Set-SmbServerConfiguration -EnableSMB1Protocol $false

Deshabilita cliente SMB v.1.0:

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

* Windows 7 / Windows Vista: 

Deshabilita servidor SMB v.1.0:

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

Deshabilita cliente SMB v.1.0:

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


Versiones servidor:

* Windows Server 2012 R2, Windows Server 2016:

Remove-WindowsFeature FS-SMB1

* Windows Server 2012:

Deshabilita servidor SMB v.1.0:

Set-SmbServerConfiguration -EnableSMB1Protocol $false

Deshabilita cliente SMB v.1.0:

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


* Windows Server 2008 / Windows Server 2008 R2:

Deshabilita servidor SMB v.1.0:

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

Deshabilita cliente SMB v.1.0:

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


Para que los cambios tengan efecto, deberemos reiniciar el equipo.

24 comentarios:

  1. Microsoft ha sacado parches para todas las versiones de windows incluidas las que no tienen soporte.

    ResponderEliminar
    Respuestas
    1. Efectivamente, así es. Gracias por tu comentario.

      ¡Un saludo!

      Xavi.

      Eliminar
  2. segun tu ezperiencia que es mas conveniente......aplicar el parche o este metodo que esta explicado

    ResponderEliminar
    Respuestas
    1. Hola Angel,

      Gracias por participar en el blog.

      Desde mi punto de vista:

      - Es necesario que todos los sistemas operativos estén parcheados y se encuentren dentro del life-cycle del fabricante. Por ejemplo, a día de hoy (mayo 2017), ya no deberíamos disponer de sistemas operativos con Windows XP, Windows Vista o Windows Server 2003.

      - Como norma general, es buena idea deshabilitar aquellas funciones que no vayamos a utilizar por motivos de seguridad y rendimiento. Por ejemplo, deshabilitar IPv6, si no lo vamos a utilizar:

      http://www.sysadmit.com/2015/08/windows-deshabilitar-ipv6.html

      http://www.sysadmit.com/2015/08/vmware-esxi-deshabilitar-ipv6.html

      En el caso concreto del SMB 1.0, es una versión de protocolo muy vulnerable.

      Dicho esto, según cada caso podremos hacer de más y de menos, existen entornos corporativos donde la aplicación de parches es retrasada o incluso en otros entornos, desgraciadamente no es posible parchear.

      Un saludo,

      Xavi.

      Eliminar
  3. Gracias por las instrucciones, claras y precisas.

    Me surge duda con las impresoras y su necesidad de usar SAMBA.

    Entiendo que es sólo a la hora de, por ejemplo, escanear una hoja y dejarla en un directorio compartido ¿No?

    Gracias.

    ResponderEliminar
    Respuestas
    1. Hola Nacho,

      Efectivamente, podría haber problemas en dispositivos que solo trabajan con SMB 1.0 o bien negocian de forma errónea a SMB 1.0.

      Un ejemplo de ello, es el que comentas.

      Piensa que la desactivación de SMB 1.0 es reversible, así que en caso de que fuera necesario, puedes volver a activarlo.

      ¡Un saludo!

      Xavi.

      Eliminar
  4. Ho do i disable SMB V1 in windows 2000 server?

    ResponderEliminar
    Respuestas
    1. As Windows 2000 or Windows XP/2003 only works with SMB version 1.0, you are going to disable SMB completely.

      Here's how to do it:

      sc stop lanmanserver
      sc config lanmanserver start=disabled

      and restart:

      shutdown -r -t 0

      Eliminar
  5. perfecta la explicación. gracias

    ResponderEliminar
    Respuestas
    1. ¡Muchas gracias! Me alegro que te haya ayudado.

      ¡Un saludo!

      Xavi.

      Eliminar
  6. buenas tardes. Como hago deshabilito smb en windows 2000. muchas gracias

    ResponderEliminar
    Respuestas
    1. Hola,

      Aquí tienes como hacerlo:

      sc stop lanmanserver
      sc config lanmanserver start=disabled

      Recuerda reiniciar el equipo para que el cambio tenga efecto.

      Además, ten en cuenta que Windows 2000 solo trabaja con el protocolo SMBv1, así que solo es posible desactivar el protocolo SMB por completo.

      ¡Un saludo!

      Xavi.

      Eliminar
  7. Según Kaspersky el ataque también afecto a SMB2.

    https://securelist.com/blog/incidents/78351/wannacry-ransomware-used-in-widespread-attacks-all-over-the-world/

    Esto hace que sólo W10 y W2016 con SMB 3 sean, por ahora, inmunes al ataque.

    ResponderEliminar
    Respuestas
    1. Hola Nacho,

      Gracias por participar en el blog.

      Según la web de Karpersky, parece que sí, pero en la web de Microsoft aparece SMBv1.

      De todas formas, ten en cuenta que las versiones que las versiones de Windows 8 y Windows Server 2012 trabajan también con SMB 3.0.

      También comentarte que en varios sandbox se ha probado de desactivar SMBv1 y el ransomware ya no podía saltar de una máquina a otra, eso sí habría que ver el detalle de la versión de ransomware utilizada, etc..

      Desde mi punto de vista, lo ideal es aplicar el parche, no solo este si no todos y deshabilitar SMBv1, versión de protocolo muy vulnerable y muy atacada.

      Si tenemos los sistemas operativos dentro del lyfe-cycle del producto, no deberíamos vernos afectados por el desactivación de SMBv1.

      ¡Un saludo!

      Xavi.

      Eliminar
  8. Hola gracias por la informacion,
    Les comparto mi experiencia con el ransomware zepto y spora: generamos una politica por dominio para bloquear los archivos cscript.exe y wscript.exe con esto bloqueamos la acción del ransmware (se evita la encriptación) si es que la máquina ha sido comprometida. Sldos.

    ResponderEliminar
    Respuestas
    1. Gracias, Héctor por participar en el blog.

      Muy buena idea la que comentas.

      Aquí tienes otra GPO que también te puede ayudar:

      http://www.sysadmit.com/2015/04/windows-gpo-para-prevenir-cryptolocker.html

      ¡Un saludo!

      Xavi.

      Eliminar
  9. Se puede deshabilitar desde GPO? saludos desde Ecuador

    ResponderEliminar
    Respuestas
    1. Hola Alan,

      Directamente no existe una GPO para deshabilitar SMBv1.

      Sin embargo, utilizando una preferencia (Group Policy Preference), puedes desplegar claves en el registro o bien puedes lanzar un script que lo desactive utilizando la directiva: Configuración de Windows\Scripts

      ¡Un saludo!

      Xavi.

      Eliminar
  10. Como puedo verificar si ya esta deshabilitado SMB1 ?

    ResponderEliminar
    Respuestas
    1. Simplemente conecta desde un cliente con Windows XP, Windows Server 2003 o versiones anteriores al equipo al que has deshabilitado SMB v.1.0, utilizando una ruta SMB: \\equipo\recurso-compartido

      No deberías poder conectar por SMB, ya que la versión negociada sería v.1.0.

      ¡Un saludo!

      Xavi.

      Eliminar
  11. Buenas tardes, en mi organizacion tenemos varios servidores con windows server 2003, es totalmente necesario deshabilitar SMB1 ????

    ResponderEliminar
    Respuestas
    1. Hola Óscar,

      Windows Server 2003 igual que Windows XP, solo es capaz de trabajar con SMB versión 1.0. No es hasta Windows Server 2008 y Windows Vista que se introduce SMBv2.

      Por lo tanto, en Windows Server 2003 si lo deshabilitas, deshabilitarás por completo el protocolo SMB.

      Te recomendaría dejar de usar Windows Server 2003 y migrar los servidores a versiones de Windows Server que dispongan de parches y soporte por parte de Microsoft.

      ¡Un saludo!

      Xavi.

      Eliminar
  12. Hola,

    En mi oganizacion tenemos un equipo WXP que salio de dominio y ya no podemos volverla agregar,
    tendra algo que ver el SMB1 para que nos niege agregarla a dominio?

    ResponderEliminar
    Respuestas
    1. Podría ser. Windows XP solo soporta SMBv1.

      Tendrías que verificar que los controladores de dominio (DC) soporten SMBv1.

      Un saludo,

      Xavi.

      Eliminar