Qué es SMB, CIFS y Samba, descubre las diferencias entre ellos
Para poder conectarnos a Internet, mandar o recibir archivos, es imprescindible que haya una serie de protocolos para que esto sea posible. En este artículo vamos a hablar de tres de ellos. Vamos a explicar qué es el protocolo SMB, CIFS y Samba. Veremos cuáles son sus principales diferencias y para qué se utiliza cada uno de ellos.
No todo el mundo conoce al detalle cada uno de los elementos que permiten a los usuarios disfrutar de Internet al completo, ya sea para enviar o recibir archivos, por ejemplo. Por esto mismo, en RedesZone vamos a hablar de tres protocolos en particular que cumplen una labor que puede que desconocías. Y no solo conocerás de qué se trata, sino también las principales diferencias que existen entre cada uno de estos protocolos.
Qué es el protocolo SMB
En primer lugar, vamos a explicar qué es el protocolo SMB. Es uno de los más antiguos y con el paso del tiempo ha permitido el acceso a archivos y directorios, además de recursos de red. Se encarga de intercambiar información entre procesos de un sistema. Fue creado por IBM.
SMB son las siglas de Server Message Block. Este protocolo cliente-servidor se encarga de gestionar el acceso a esos archivos o directorios. Concretamente fue desarrollado en el año 1983. Ha estado presente en los diferentes sistemas operativos de Windows.
Usos del SMB:
- Intercomunicación entre servidores
- Gestión de cambios para directorios y registros
- Posibilidad de compartir carpetas, impresoras y demás archivos.
- Acceso de edición y navegación a través de una red
- Soporte de enlaces simbólicos
- Bloqueo oportunista
- Bloqueo de archivos
- Conmutación por error transparente, que facilita el mantenimiento del hardware y software
- Uso compartido de clústeres mediante SMB escalables
Hoy en día este protocolo permite conectar a dispositivos más antiguos, con versiones anteriores del sistema operativo de Microsoft. Para poder intercambiar archivos, en primer lugar, los dos dispositivos deben establecer una conexión. A partir de aquí, el protocolo SMB permite que el cliente se conecte al servidor.
Comenzó con SMB 1, sin embargo, con Windows Server 2008 se comenzó a usar el nuevo estándar de forma masiva, conocido bajo el nombre de SMB 2.0. En este caso, se trataba de una versión que no solo era más segura, sino que también era más veloz y contaba con una menor latencia. Por lo que, en términos generales, se trataba de una versión superior en todos los sentidos. Algo que se mejoró posteriormente con el estreno de SMB 2.1 en Windows 7.
Ya para Windows 8 junto a Windows Server 2012 se instauró la versión SMB 3.0. En este caso se pudieron corregir diferentes fallos de la versión anterior, además de que se añadieron distintas características como SMB Multichannel, entre otras. Y antes de llegar a la última versión, se estrenó SMB 3.0.2 para Windows 8.1.
La versión más reciente, la que se utiliza en sistemas operativos como Windows 10 u 11 o Windows Server 2016, es SMB 3.1.1. Es importante tener actualizado este protocolo correctamente, ya que hemos visto en ocasiones vulnerabilidades que pueden ser explotadas. Un ejemplo fue el famoso exploit EternalBlue que fue usado para distribuir el ransomware WannaCry que tanto daño causó hace unos años.
Siguiendo el hilo de lo que mencionamos, Microsoft decidió quitar la compatibilidad con la primera versión SMB 1.0. Esto podría permitir, por ejemplo, llevar a cabo ataques DDoS en un equipo.
En resumen, las versiones e historia de este protocolo nos quedaría así:
- SMB 1.0: 1984
- CIFS: 1996
- SMB 2.0: 2006
- SMB 2.1: 2010
- SMB 3.0: 2012
- SMB 3.02: 2014
- SMB 3.1.1: 2015
Ventajas e inconvenientes
Este conocido protocolo, ya no solo conocido como SMB, sino también como Samba, es una opción para compartir archivos que es tanto rápido como muy sencillo de utilizar. Además, se convierte en una gran alternativa para que se puedan sincronizar carpetas entre dispositivos. Y justamente este punto es una de las primeras ventajas, sin dejar de lado que es compatible con un amplio número de dispositivos. Al igual que hay que tener en cuenta todos los usos qe permite. Sin embargo, por otra parte, también hay otra serie de aspectos que juegan en su contra.
Uno de los primeros inconvenientes que se deben mencionar es que puede resultar más complejo de configurar que otra serie de protocolos que se pueden usar ahora mismo. Además de este punto, hay otro que puede resultar clave: no es compatible con todos los clientes de sincronización. Por lo que es un aspecto que debes valorar en todo momento.
¿Es peligroso?
Está claro que es un protocolo simple, pero ¿es realmente seguro? De primeras, hay que tener claro que es peligroso. Es útil para compartir archivos entre dispositivos conectados a una red local, sin embargo, hay que tener en cuenta que el tráfico de este protocolo no está cifrado. Por lo que cualquiera con los conocimientos necesarios puede llegar a interceptar las comunicaciones si se usa este protocolo en particular.
Lo bueno es que las últimas versiones, a partir de Samba 3.0, lo cierto es que sí que cuentan con cifrado en la autenticación, por lo que es un aspecto que se debe tener en consideración a la hora de querer usar este protocolo. Sobre todo si se va a hacer uso de una versión anterior. Y, por otra parte, no se deben dejar de lado las posibles vulnerabilidades que puede tener este protocolo.
En qué consiste el protocolo CIFS
Después de explicar qué es el protocolo SMB, vamos a hablar de CIFS. Básicamente podemos decir que es un cambio de nombre. IBM creó SMB, pero Microsoft comenzó a utilizarlo rápidamente 15 años después, en el año 1998, Microsoft renombró la primera versión de Server Message Block por CIFS.
Pero claro, no quedó únicamente en un cambio de nombre. Lógicamente añadió diferentes características. Por ejemplo, añadieron soporte para enlaces simbólicos o enlaces duros, mayor tamaño de archivo.
CIFS significa Sistema de archivos de Internet común. Son las siglas de Common Internet File System. Forma parte del protocolo SMB y va a permitir conectar de forma remota múltiples plataformas, como pueden ser Windows, Linux o macOS.
Un punto positivo de CIFS es que funciona de forma universal. Es decir, Windows por ejemplo suele utilizar el sistema de archivos NTFS. Por su parte macOS puede usar HFS. Lo que hace es permitir que esos archivos puedan ser leídos y reconocidos. Esto va a permitir compartir archivos e impresoras entre equipos con Windows y UNIX.
Por tanto, podemos decir que CIFS es una implementación particular de SMB por parte de Microsoft. No obstante, hoy en día cuando una persona hable de uno u otro, básicamente podemos decir que están hablando de lo mismo. Aunque sí existen diferencias en la implementación.
Hoy en día CIFS es muy raro que se utilice. Los sistemas modernos van a utilizar SMB 2 o SMB 3. Principalmente el último, ya que está en las versiones más recientes desde Windows 8. Podemos decir que son actualizaciones de CIFS, que correspondería con la primera versión de SMB.
Cómo funciona Samba
Entonces, llegado a este punto nos preguntaremos qué es Samba. Hemos visto en qué consiste SMB y CIFS, pero queda por ver un término más. Samba es también una implementación del protocolo SMB, pero en este caso es libre.
Esta implementación fue para sistemas de tipo UNIX. Podemos usarlo en Linux, macOS o Unix y de esta forma que actúen como clientes en redes de Windows. En este caso su lanzamiento inicial fue en el año 1992, aunque ha tenido diferentes versiones a lo largo del tiempo.
Podemos decir que, como en el caso de CIFS, Samba implementa el protocolo SMB. Esto es lo que va a permitir a los clientes de Windows acceder a directorios, impresoras y archivos de Linux en un servidor Samba.
Por tanto, Samba es una implementación de código abierto de SMB. Es una forma más de interconectar redes de Microsoft con Linux o macOS. Vamos a poder acceder a los archivos o compartir impresoras.
Entre los servicios que ofrece este protocolo están la de compartir archivos, impresoras con instalación tanto en el servidor como en los clientes o hasta permitir realizar una verificación de clientes con un simple login contra un dominio Windows. Por lo tanto, son varias las funciones que se pueden llevar a cabo a través de este protocolo.
Diferencias entre SMB, CIFS y Samba
¿Cuáles son por tanto las diferencias entre SMB, CIFS y Samba? Podemos decir que SMB fue el protocolo original surgido en la década de 1980. Fue creado por IBM para poder intercambiar archivos y acceder a impresoras. Con el paso del tiempo ha tenido diferentes versiones. Era principalmente usado en Windows y DOS.
SMB es una mejora de CIFS. Se extendió a partir de principios de la década de los 90 con el uso de Windows 95. Desde ese momento CIFS dejó de ser tan utilizado.
Por su parte CIFS es como se conoció posteriormente la versión original de SMB una vez Microsoft comenzó a usarlo en sus sistemas. Tuvo ciertas implementaciones para permitir conectar múltiples plataformas, como Windows o Linux. Sin embargo, CIFS en la actualidad no es utilizado prácticamente. En cambio, sí podemos encontrar las últimas versiones de SMB, como SMB 2 o SMB 3.
Por último, Samba es la implementación de los anteriores en código abierto. Una implementación libre para poder usarlo en diferentes sistemas como Linux, macOS o Unix. En este caso fue lanzado a principios de la década de 1990.
Importancia de SMB, CIFS y Samba
Todos estos protocolos tienen mucha importancia dentro del panorama para los sistemas. Hoy en día, la interconexión para compartir recursos, es un punto muy importante tanto para usuarios, como para empresas. Y poder compartirlos de forma rápida y segura, es un gran añadido para todo el mundo. Pero, ¿qué hace importante a cada uno de ellos?
- Samba: Es muy importante para permitir a los sistemas operativos que están basados en Unis, compartir cosas como archivos e impresoras son diferentes sistemas operativos. Como puede ser Windows. Esto quiere decir, que los usuarios pueden acceder a los recursos que se comparten en la red. Y esto es algo similar a como se haría de forma convencional en una red Windows. Estas herramientas, facilitan mucho que las empresas tengan diferentes sistemas operativos para interconectarse, y poder compartir todos los recursos de una forma eficiente.
- CIF: De nuevo estamos ante un servicio que es altamente compatible con sistemas operativos diferentes. Lo cual es lo mejor para poder crear redes de equipos que sean mixtas.
- SMB: Es un protocolo muy importante para Microsoft, sin ir más lejos. Esto les permite compartir todos los recursos de sus equipos. Este es también compatible con muchos sistemas operativos, como hemos dicho Windows, pero también lo es MacOS o Linux. Por lo cual es algo que puede venir muy bien a muchas empresas.
Como puedes ver, todos estos sistemas son muy importantes en las comunicaciones de hoy en día. Estos hacen que todo el proceso sea más sencillo y eficiente, independientemente de cuál sea el sistema operativo que la empresa ha decidido utilizar. Por lo cual, se facilita mucho la interconexión, y que todos los recursos de puedan utilizar al máximo, y con todas las garantías posibles en la mayor cantidad de sistemas posibles.
Alternativas a SMB, CIFS y Samba
Como puedes ver estos protocolos para compartir archivos son muy habituales hoy en día. Pero por algún motivo es probable que no a todo el mundo se le adapten a su actividad. Es por ello que se pueden ver otras opciones, las cuales son alternativas diferentes, pero que nos pueden proporcionar la misma funcionalidad con algunas diferencias.
- NFS: Se trata de un protocolo que permite el acceso a archivos en una red. Este es muy popular en sistemas basados en Unix y Linux, pero también se implementa en algunas ocasiones en sistemas Windows. Este puede ser especialmente útil cuando se comparten contenidos entre diferentes equipos en una misma red local.
- AFP: Es el sistema para compartir archivos desarrollado por Apple. Este ofrece características más específicas para ordenadores Mac, como puede ser la copia de seguridad de Time Machine. O incluso las características de Spotlight. En cambio, su uso está decayendo a favor de SMB.
- WebDAV: Este protocolo nos da la opción de editar y gestionar archivos que se encuentran en servidores remotos. Su naturaleza de extensión de HTTP, hace que trabaje muy bien con firewalls y routers. Una de sus características diferenciadoras, es el bloqueo de archivos. Esto puede ser muy útil para poder prevenir conflictos cuando diferentes usuarios tratan de editar el mismo archivo.
- FTP: A pesar de que se trata de un protocolo más antiguo, sigue siendo una opción muy válida y utilizada para poder transferir archivos, especialmente cuando hay una salida a Internet. En el caso de SFTP, tendremos más capas de seguridad durante el proceso, como puede ser el encriptado de los datos.
- Nube: Hoy en día hay muchos servicios en la nube que nos permiten compartir archivos de forma rápida, segura y cómoda. Estos pueden ser Google Drive, One Drive, Dropbox, entre otros. Estos son muy útiles cuando el equipo que utiliza el contenido se encuentra muy disperso. Incluso, hay servicios de nube que son gratuitos, por lo que merece la pena apostar por este tipo de servicios que también te permiten conectar con otros usuarios en cualquier momento.
- NAS: Un sistema muy parecido a las nubes anteriores, pero que no dependerá de ninguna compañía, sino que seremos nosotros mismos los dueños del servidor. Solo necesitaremos el equipo, unos discos duros, y enchufarlo a nuestro router. Todos los datos que tengamos en ese almacenamiento, serán accesibles desde cualquier lugar del mundo a través de internet, al igual que iCloud, Drive, etc. Una buena forma de invertir en algo, pero no tener que pagar después por ello.
En definitiva, estos son los principales puntos a tener en cuenta cuando nos encontramos con los términos SMB, CIFS y Samba. Como vemos, son protocolos e implementaciones que permiten intercambiar archivos o acceder a impresoras. Han aparecido en diferentes épocas, aunque los tres son antiguos. La primera versión de SMB apareció en 1983, creado por IBM, mientras que Samba surgió en la década de 1990. Esto hace que, como hemos visto, debamos tomar precauciones de seguridad y no tener habilitados protocolos obsoletos que puedan servir para que los piratas informáticos exploten vulnerabilidades y robar información o tomar el control del equipo. Son sistemas con muchos años, y todos sabemos que a mayor antiguedad, mayor es el riesgo de que existan brechas de seguridad, y parches que nunca llegaron a solventarlas.