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.
Cierto es que los usuarios más avanzados del sistema operativo de Microsoft seguro que conocen otros muchos protocolos para sacar el máximo partido a las redes aquí. Sin embargo, SMB también conocido como Server Message Block, intenta facilitarnos mucho las cosas en este sistema operativo a la hora de compartir todo tipo de dispositivos en red. Precisamente por todo ello es importante que conozcamos bien su uso en el caso de que tengamos montada alguna red local basada en Windows. Esto es precisamente de lo que os hablaremos a continuación y que probablemente muchos agradeceréis a la hora de compartir archivos o impresoras en una red local con SMB.
Eso sí, aunque SMB es un protocolo, la primera versión de este 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. Esto nos ayudará a gestionar de la mejor manera los elementos aquí compartidos además de mantener la seguridad en la red que estemos creando. Son muchos los factores que aquí entran en juegos y que debemos tener en consideración para sacar el máximo partido a todo el conjunto.
Versiones de SMB
El protocolo SMB ha tenido varias versiones a lo largo de su vida, que como os comentamos antes, no es precisamente corta. Vamos a verlas todas ellas para que así podamos tomar la decisión más adecuada en cada caso.
SMB 1 / CIFS / SMB
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.
Una de las principales razones por las que a pesar de su antigüedad se sigue usando esta versión del protocolo, es para evitar problemas de compatibilidad. Y es que debemos tener en consideración que las versiones posteriores son compatibles con esta primera, aunque al mismo tiempo presenta algunos serios inconvenientes.
Con todo y con ello 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. Y es más que probable que muchos de vosotros ya hayáis escuchado acerca de los peligros de estas vulnerabilidades, por lo que la versión primera del protocolo no es en absoluto recomendable.
Esta ha sido la versión de SMB que se ha ejecutado en todos los sistemas operativos hasta Windows XP. En algunos SOs incluso necesitaba una capa de compatibilidad por encima para funcionar. Las últimas versiones de Windows 10, y Windows 11, desactivan automáticamente esta versión. Por seguridad.
SMB 2.0
Windows Server 2008 fue quien empezó a utilizar este nuevo estándar de forma masiva, aunque ya venía incluido para los usuarios con Windows Vista. SMB 2.0 era 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.
Linux es compatible con este protocolo desde la versión 3.7 del mismo. Y Apple, por su parte, también empezó a dejar de lado su propio protocolo de transferencia de archivos en red (Apple Filing Protocol) a favor de este SMB 2.0.
Con la llegada de Windows 7, Microsoft estrenaba una nueva versión de este protocolo, la 2.1, con mejoras en el rendimiento. Eso sí, manteniendo la compatibilidad
SMB 3
Esta versión se estrenó con Windows 8 y Windows Server 2012 e introdujo importantes cambios en la funcionalidad, además de servir para corregir fallos en SMB 2. Algunas de sus características son:
- SMB Multichannel.
- SMB Transparent Failover.
- Protocolo SMB Direct.
La versión 3.0.2 de este protocolo llegó a los usuarios con Windows 8.1. Y las posteriores versiones de este protocolo, hasta la actual 3.1.1, se estrenaron las con otras versiones de Windows (hasta Windows 11) y se centraban en mejorar el cifrado y la integridad. Una vez conocemos todos estos datos y las diferencias entre las versiones del protocolo de red, vamos a ver cuál tenemos instalado y estamos usando en nuestro equipo con Windows. Esto es algo que se puede convertir en especialmente importante en determinados casos donde deseemos mantener la seguridad del conjunto.
Qué es el protocolo CIFS
Una vez que ya tenemos más claro qué es el protocolo SMB, veamos realmente lo que es CIFS. Hay que decir que IBM creó SMB y Microsoft comenzó a utilizarlo. 15 años después el gigante del software renombró la primera versión Server Message Block a CIFS. Al mismo tiempo es importante saber que, además del mencionado cambio de nombre también añadió algunas nuevas características.
Entre estas podemos destacar que ese añadió soporte para usar enlaces simbólicos o enlaces duros, además de un mayor tamaño de archivo. Corresponde a las siglas de Common Internet File System y forma parte del protocolo SMB. Por tanto, podemos afirmar que también nos permitirá conectar de forma remota múltiples plataformas como Windows, Linux o macOS. Además, CIFS funciona de forma universal, lo que se traduce en que Lo pueden utilizar múltiples plataformas y sistemas operativos.
En resumidas cuentas, este es un protocolo muy similar al SMB hoy que estamos tratando en estas mismas líneas, pero con diversas particularidades implementadas por la propia Microsoft. Con todo y con ello en los tiempos que corren el uso del protocolo CIFS ha caído mucho y es raro encontrarlo hoy día de forma activa.
Comprobar la versión de SMB activada en Windows
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; debemos fijarnos en el apartado «State»:
Get-WindowsOptionalFeature –Online –FeatureName SMB1Protocol
El siguiente nos permite comprobar si tenemos SMB2 y SMB3 activados en Windows:
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/11.
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 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.
Compartir archivos con SMB
Una vez que tenemos activado el protocolo en nuestro Windows, el equipo ya estará disponible cuando usemos las funciones de redes de Microsoft. Es posible que, al abrirlo por primera vez, veamos un mensaje que nos pregunte si queremos convertir nuestra red en una red privada o permitir que nuestro ordenador sea visible en redes públicas. Debemos elegir siempre la primera opción, por seguridad.
Una vez hecho esto, SMB estará listo para empezar a funcionar. Automáticamente, el protocolo buscará todos los ordenadores que estén haciendo uso de este protocolo en la red local, y nos aparecerán cada uno de ellos.
Para conectarnos a cualquier ordenador a través de este protocolo, simplemente debemos hacer doble clic sobre él. Nos pedirá, eso sí, el usuario y la contraseña de un usuario (que tenga permisos para usar este protocolo) para conectarnos remotamente a él.
Una vez autenticados, podremos ver todas las carpetas que haya compartido el ordenador al que nos hemos conectado. Y, en función de los permisos, podremos ver todos los archivos, o copiar nuevos archivos al ordenador desde el nuestro.
En caso de que queramos nosotros compartir un archivo con los demás ordenadores conectados a la red, lo que tendremos que hacer, después de habilitar el protocolo, es compartir la carpeta. Para ello, hacemos clic derecho sobre la carpeta en cuestión, y abrimos la ventana de propiedades. Dentro de ella, seleccionamos la pestaña «Compartir», y hacemos clic sobre el botón de compartir. Automáticamente la carpeta ya aparecerá en SMB y en SAMBA para que los usuarios puedan acceder a ella.
Si queremos, podemos aprovechar para configurar el uso compartido avanzado y establecer, por ejemplo, permisos de quién puede o no puede acceder a esta carpeta remota.
Montar SMB como una unidad
Si lo preferimos, Windows nos permite también montar una unidad SMB que tengamos compartida en la red como si se tratase de un disco duro, o pendrive, conectado al ordenador. De esta forma podríamos verlo dentro de «Este equipo», y tendría incluso una letra asignada.
Para ello, lo que tenemos que hacer es pulsar con el botón derecho del ratón sobre el icono de «Este equipo», y seleccionaremos la opción de «Conectar a unidad de red».
Automáticamente nos aparecerá un asistente, a través del cual podremos conectarnos al servidor SMB en cuestión. Si nos conocemos la ruta directa al servidor podemos indicársela en el cuadro que nos aparece bajo el nombre «Carpeta». De lo contrario, podemos hacer clic en el botón «Examinar» para abrir un explorador y buscar el directorio al que queremos entrar.
Una vez introducida la dirección de red, nos pedirá (si procede) el usuario y la contraseña para poder conectarnos. Y, también, podemos configurarle para que se conecte automáticamente siempre que iniciemos sesión en el PC. De esta forma, lo tendremos siempre a mano desde el momento en el que encendemos el PC.
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/11 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/11, entonces sí tendremos problemas, ya que SMB1 (usado en XP) no funciona en Windows 10 y posteriores. 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.
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 o con Windows 11. 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.
Adiós a SMB 1 en Windows 11
Aunque hasta ahora era posible (aunque no recomendable) usar este protocolo por motivos de compatibilidad, a partir de la actualización de 2022 de Windows 11, este protocolo pasa a estar desactivado y bloqueado para evitar posibles brechas de seguridad. Eso sí, solo a los usuarios que instalen la edición Home del sistema operativo.
Por tanto, si hemos instalado ya esta actualización, y nos encontramos con problemas para conectarnos, por ejemplo, a un ordenador antiguo para compartir archivos, se debe a este motivo. En cuanto a la solución, no hay mucho que hacer. Tarde o temprano, el protocolo desaparecerá de todas las ediciones de Windows, por lo que llegará un momento en el que ya no podremos usarlo. Pero, si tenemos necesidad, siempre podemos actualizar a la edición Pro de Windows 11 que, aunque lo tiene deshabilitado, podemos habilitarlo rápidamente.
Usar SMB de forma segura
Al ser un protocolo tan popular, es muy común ver a los piratas informáticos aprovecharse de él para llevar a cabo sus ataques informáticos. Si no vamos a compartir archivos con ningún otro dispositivo en la red, nosotros recomendaríamos desactivarlo, ya que de esta forma nos asegurarnos de que nada salga mal. Sin embargo, si no podemos quitar este protocolo, siempre podemos llevar a cabo algunas tareas básicas gracias a las cuales podremos blindar nuestra seguridad. Veamos cuales.
- Usar siempre la última versión disponible. De esta forma evitamos que nos ataques a través de vulnerabilidades pasadas.
- Tener nuestro Windows siempre actualizado para no tener vulnerabilidades.
- Conectarnos solo a ordenadores que tengan la última versión de Windows, con soporte, y lo tengan también actualizado.
- Utilizar un antivirus actualizado y seguro que sea capaz de detectar y bloquear tanto posibles ataques informáticos como malware que pueda llegar a nuestro ordenador.
- Usar SMB solo en redes privadas, dentro de casa, indicando a Windows cuando nos conectamos desde redes públicas para bloquear los intentos de conexión no autorizados.
Por supuesto, esto no nos garantiza al 100% que vayamos a estar blindados frente a todo tipo de ataques informáticos. Pero sí nos ayudará a reducir al mínimo las probabilidades de caer en las garras de los piratas.
Mejor alternativa a SMB
SMB es muy útil, ya que es un protocolo muy sencillo tanto de usar como de configurar. Pero no es precisamente lo más seguro, especialmente si usamos las versiones más antiguas del mismo. Por ello, si lo que queremos hacer es solo compartir archivos en red, puede que nos interese hacerlo a través de un servidor FTP.
Windows tiene un servidor FTP incluido que podemos activar como una característica opcional. Este servidor vamos a poder configurarlo para ofrecer los archivos y carpetas que le indiquemos tanto dentro de la red local como fuera de ella. Además, podremos usar versiones seguras de este protocolo (FTPS, SFTP) y configurar un usuario y contraseña para acceder a los datos.
Además, Windows nos permite montar servidores FTP como si fueran unidades de red, por lo que podríamos tener este servidor de archivos como un disco duro más conectado al PC, siendo muy cómodo tanto descargar como subir archivos desde el explorador de archivos. El problema del FTP incluido en Windows es que, a pesar de que el FTP es algo muy sencillo y básico, es demasiado sencillo de configurar. Por lo tanto, no muchos recurren a él como alternativa a SMB. En ese caso, lo mejor que podemos hacer es buscar otro servidor que sea más sencillo de utilizar.
FileZilla Server
FileZilla Server, por ejemplo, es uno de los mejores servidores FTP para Windows que podemos usar. Este nos permite montar nuestro propio servidor, configurarlo y controlarlo a través de una interfaz muy sencilla.
Entre sus principales características podemos destacar su soporte para TLS, igual que el cifrado del navegador, para proteger nuestros datos cifrándolos de extremo a extremo. También es capaz de comprimir los datos sobre la marcha, mejorando la tasa de transferencia y haciendo que copiar un archivo tarde bastante menos.
Por desgracia, no cuenta con soporte para SFTP (FTP sobre SSH), por lo que, si queremos usar este protocolo de seguridad tendremos que buscar otras alternativas.
Lo mejor y lo peor
Nos encontramos con una de las soluciones de estas características más usadas desde hace muchos años. Aquí merece la pena destacar que nos presenta soportes nativos para TLS, igual que para el cifrado del navegador.
Por desgracia, uno de los principales inconvenientes que presenta esta solución software es que no cuenta con soporte para SFTP, es decir, FTP sobre SSH.
ProFTPD
ProFTPD es otra de las alternativas más completas al SMB de Windows. Esta, igualmente, hace uso del protocolo FTP para permitirnos transferir los datos entre dos ordenadores de forma segura. Este servidor es de código abierto (y totalmente gratuito) y podemos encontrarlo para prácticamente cualquier sistema operativo. Destaca por contar con un archivo de configuración único para todas sus funcionalidades, así como la posibilidad de configurar por directorios independientes.
Como inconveniente, ProFTPD solo está disponible para macOS y Linux, dejando a Windows fuera del soporte oficial. Aunque, por supuesto, podemos usarlo a través del Subsistema de Windows para Linux.
Pros y contras
Es una de las alternativas más importantes y efectivas que podemos encontrar en este instante para realizar este tipo de conexiones de las que os hemos hablado.
Como hándicap, aquí nos encontramos con una importante limitación para la mayoría de los usuarios ya que no nos encontramos con una versión para que podamos instalar en nuestro PC con Windows.
Titan FTP Server
Otra alternativa muy interesante, pero de pago, es Titan FTP Server. Este servidor FTP está desarrollado teniendo en mente las necesidades profesionales de los usuarios. Cuenta con soporte para todo tipo de protocolos, es multiplataforma y ofrece a los usuarios una configuración y uso muy sencilla, a la vez que seguro. Eso sí, su precio lo deja fuera del alcance de la gran mayoría.
A favor y en contra
Aquí nos encontramos con uno de los programas más completos de este tipo que cumplirá perfectamente con las necesidades de los usuarios profesionales.
Por otro lado, para sacar provecho a todas las funciones que nos propone este software, es importante saber que antes tendremos que pasar por caja.
Xlight FTP Server
Otra interesante alternativa a SMB la encontramos en Xlight FTP Server. Xlight FTP Server permite crear un servidor FTP y SFTP en Windows para transferir archivos de forma segura y, a diferencia de otras soluciones, es muy fácil de utilizar y configurar. Además, se trata de una aplicación portable, por lo que no es necesario instalarla y podemos utilizarla en cualquier PC.
Al tratarse de una aplicación portable, el consumo de recursos tanto de CPU como de RAM es muy reducido, por lo que funciona en prácticamente cualquier equipo, por antiguo que sea. De hecho, la aplicación es compatible a partir de Windows XP en adelante, lo que ya nos permite hacernos una idea de los pocos recursos que necesita para funcionar.
La aplicación genera un archivo con todos los datos que se han transferido, junto con el nombre de usuario que ha realizado la transferencia. Podemos configurar la aplicación para que se envíe un correo electrónico cuando se ha realizado una transferencia de archivos, hemos iniciado o cerrado sesión, se han descargado archivos entre otros.
Podemos crear cuentas de usuario privadas estableciendo limitaciones de uso además de claves de uso públicas que puede utilizar cualquier persona. Es compatible con IPv6, se ejecuta como un servicio del sistema de Windows, y aunque se trata de una versión de pago, también existe una versión gratuita más que suficiente para la mayoría de los usuarios. podemos descargar la aplicación desde aquí.
Si buscas una aplicación completa para crear un servidor local para compartir datos y SMB de Windows no es la solución que estás buscando, Xlight FTP Server es uno de los programas más completos que podemos encontrar.
Pros y contras
La versión gratuita es más que suficiente para la mayoría de los usuarios domésticos, no así para las necesidades de una empresa. Al ser una aplicación portable, supone una serie de ventajas e inconvenientes que debemos analizar antes de utilizarla, ya que no siempre es la mejor opción.
A diferencia de muchas otras opciones, desde la web de este desarrollador, podemos acceder a todo tipo de tutoriales para configurar la aplicación acorde a nuestras necesidades y así poder sacarle todo el partido.