Domina SMB, el protocolo de Windows para compartir archivos en red

SMB, o Server Message Block, es un protocolo de red de Microsoft pensado para compartir fácilmente archivos,
 impresoras y otros muchos recursos dentro de una red local. Es posible 
conectar ordenadores con Windows sin apenas configuraciones, e incluso 
con otros sistemas operativos (como Linux y Android) a través de Samba, la implementación libre de SMB.
Aunque SMB es un protocolo, la primera 
versión del mismo tiene más de 35 años, y hasta estaba diseñada pensando
 en DOS. Por ello, cabe destacar las distintas versiones de este 
protocolo, qué aporta cada una de ellas y cuáles debemos usar o evitar a
 toda costa.
Versiones de SMB
SMB 1
Esta es la versión más antigua de este protocolo, y data de 1983. A 
pesar de ello, por motivos de compatibilidad, es una de las versiones 
del protocolo más utilizadas, ya que los clientes más nuevos pueden 
conectarse a este protocolo, pero los clientes antiguos no funcionan con
 los protocolos más modernos. En 1998, Microsoft cambió el nombre de SMB
 a Common Internet File System (CIFS) y le introdujo nuevas 
características.
No se recomienda usar, ni siquiera tener activada, esta versión del 
protocolo. El exploit EternalBlue de la NSA era capaz de poner en 
peligro cualquier PC a través de SMB1, y es un exploit muy utilizado por
 piratas informáticos y ransomware como WannaCry.
Las últimas versiones de Windows 10 desactivan automáticamente esta versión. Por seguridad.
SMB 2
Esta nueva versión de SMB llegó a los usuarios con Windows Vista. Una
 versión más segura, mucho más simple y, por supuesto, mucho más rápida y
 con menos latencia. Se introducen algunas características, como los 
enlaces simbólicos, mejoras en el cifrado y las sumas de verificación y 
muchos otros beneficios.
Windows 7 estrenó la versión 2.1, con mejoras en el rendimiento.
SMB 3
Esta versión se estrenó con Windows 8 e introdujo importantes cambios
 en la funcionalidad, además de servir para corregir fallos en SMB 2. 
Las posteriores versiones de este protocolo, hasta la actual 3.1.1, se 
estrenaron las con otras versiones de Windows (hasta Windows 10) y se 
centraban en mejorar el cifrado y la integridad.
Comprobar la versión de SMB activada en Windows 10
Hay varias formas de comprobar la versión de SMB que tenemos 
habilitada en nuestro sistema operativo. Una de las más rápidas y 
sencillas es hacerlo desde PowerShell, ya que con un sencillo comando 
podremos saber si cada versión está, o no, habilitada.
El siguiente comando nos permitirá saber si tenemos activado el protocolo SMB1 o CIFS en Windows 10; debemos fijarnos en el apartado «State»:
Get-WindowsOptionalFeature –Online –FeatureName SMB1Protocol
El siguiente nos permite comprobar si tenemos SMB2 y SMB3 activados en Windows 10:
Get-SmbServerConfiguration | Select EnableSMB2Protocol

No hay un comando específico para SMB3. El comando de SMB2 nos 
muestra el estado de la versión 2x en Windows 8 y la 3.x en Windows 10.
Activar o desactivar este protocolo
Todas las versiones de este protocolo se pueden activar o desactivar 
según nuestras necesidades desde un simple comando que podemos ejecutar 
desde PowerShell.
Desactivar SMB1
Si tenemos una de las últimas versiones de Windows 10 en nuestro 
ordenador, este protocolo ya estará deshabilitado por defecto. Sin 
embargo, si lo tenemos habilitado, podemos desactivarlo fácilmente con 
el siguiente comando de PowerShell:
Disable-WindowsOptionalFeature -Online -FeatureName smb1protocol
No se recomienda activar este protocolo salvo que no quede otra 
alternativa. Con solo activarlo estaremos poniendo en peligro nuestro 
ordenador y todos los demás equipos conectados a la red local. Pero en 
caso de tener que hacerlo, el comando es:
Enable-WindowsOptionalFeature -Online -FeatureName smb1protocol
Se recomienda reiniciar el ordenador después de cada comando (tanto 
para activar como para desactivar) para asegurarnos de que SMB1 funciona
 correctamente.
Activar o desactivar SMB2 / SMB3
Por defecto, esta versión vendrá habilitada en todas las versiones de
 Windows, por lo que no tendremos que hacer nada para usarla. Sin 
embargo, si tenemos problemas al conectarnos a otros dispositivos a 
través de la red local, o la hemos deshabilitado en el pasado, para 
habilitarla simplemente ejecutaremos el siguiente comando:
Set-SmbServerConfiguration -EnableSMB2Protocol $true
No se recomienda deshabilitar estas versiones del protocolo, ya que 
muchas características de Windows dependen de él. Estas son seguras y no
 implican ningún riesgo para los usuarios. Solo se recomienda 
deshabilitarlo temporalmente si tenemos problemas.
Pero si tenemos que deshabilitarlo por alguna razón, el comando que debemos ejecutar será:4
Set-SmbServerConfiguration -EnableSMB2Protocol $false
Aunque no es obligatorio, se recomienda reiniciar el ordenador 
después de cada uno de estos comandos para que, al volver a iniciar, 
esté el protocolo habilitado.
Posibles problemas de compatibilidad con SMB
Si estamos intentando conectar dos o más ordenadores relativamente 
nuevos (de Windows 7 en adelante) dentro de la red local, no tendremos 
ningún problema, ya que la conexión se debería hacer a través de SMB2 o SMB3.
 Incluso si intentamos conectar un equipo con Windows 10 con uno de 
Windows 7, tampoco debería haber problemas. Siempre y cuando Windows 7 
utilice algo más moderno que SMB1.
Si intentamos conectarnos a ordenadores más antiguos (como Windows 
XP) desde un equipo con Windows 10, entonces sí tendremos problemas, ya 
que SMB1 (usado en XP) no funciona en Windows 10. Y 
como no se recomienda activarlo, es mejor dejarlo tal cual. En caso de 
estar en esta situación, se recomienda a los usuarios buscar otras 
alternativas (por ejemplo, un servidor FTP) para compartir archivos.
A la hora de conectar equipos Windows con Linux, Windows utiliza SMB, pero Linux se conecta a través de Samba.
 Si usamos una versión relativamente moderna de Samba no debería haber 
problema. Pero si nuestra versión es vieja, puede que intente usar SMB1,
 y, por lo tanto, además de poner en peligro el PC, no podremos 
conectarnos a las últimas versiones de Windows 10.
Por último, otro problema bastante común lo encontramos a la hora de 
conectarnos desde smartphones Android a ordenadores con Windows. Sobre 
todo con la última versión de Windows 10. Esto se debe a que la mayoría 
de las apps para SMB utilizan SMB1. En ese caso os 
recomendamos, o bien buscar otras aplicaciones compatibles con SMB2 o 
SMB3, o buscar otras formas de pasar los datos.
Si tenemos más problemas, podemos consultar la guía de resolución avanzada de problemas de SMB que nos proporciona Microsoft en el siguiente enlace.
Comentarios
Publicar un comentario