Comparte archivos en red local fácilmente con SMB

Comparte archivos en red local fácilmente con SMB

Rubén Velasco

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.

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

Comprobar SMB Windows 10

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.

Compartir con SMB - 1

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.

Compartir con SMB - 2

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.

Compartir con SMB - 3

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.

Ventana compartir carpeta Windows 11

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.

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.

Añadir FTP a Windows 10 - 5

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.

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.

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.

¡Sé el primero en comentar!