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