Common Internet File System (CIFS) es un protocolo que ofrece acceso a archivos, impresoras y puertos serie entre varias máquinas de una determinada red.

A través de este acceso, los clientes pueden abrir, leer y editar los documentos compartidos, que se guardan automáticamente en las máquinas locales.

Los usuarios también pueden acceder a los servicios de comunicación entre procesos y a las colas de impresión.

CIFS se desarrolló a principios de los años 80 en IBM.

Cómo funciona CIFS

CIFS sigue un modelo cliente-servidor. Intervienen tres entidades: un cliente, una aplicación y el servidor.

  • El cliente implementa el protocolo donde se originan la mayoría de los mensajes.
  • El servidor implementa el protocolo y proporciona la mayor parte de la funcionalidad (servicio).
  • La aplicación puede ser una pieza de software que realiza funciones como la interfaz gráfica de usuario, la gestión de archivos o el procesamiento de textos.

Así funciona CIFS

  • Entre el cliente y el servidor se establece una sesión NetBIOS para acceder a los recursos compartidos.
  • En el proceso de negociación, el cliente y el servidor determinan el dialecto que se utilizará.
  • El cliente envía las credenciales de autenticación, principalmente un nombre de usuario y una contraseña, al servidor a través de un identificador único.
  • Active Directory se encarga principalmente del proceso de autenticación. Sin embargo, CIFS no maneja la autenticación directamente.
  • El servidor devuelve el identificador único si la autenticación tiene éxito.
  • El servidor comprueba si el cliente tiene los permisos necesarios y si el nombre del recurso compartido es válido. Si todos estos datos son válidos, se concede al cliente acceso a los recursos compartidos, como archivos y carpetas.

Características del protocolo CIFS

CIFS-Protocol-Features

Independencia del transporte

El protocolo CIFS no impone ningún requisito al protocolo de transporte que envía los mensajes SMB entre el servidor y el cliente. CIFS se transporta simplemente a través de un protocolo orientado a la conexión.

Acceso a los archivos

Un cliente/usuario puede abrir, leer, modificar y cerrar varios archivos en un servidor de destino. El servidor se encarga de compartir archivos, lo que significa que varios clientes pueden abrir y leer el mismo archivo simultáneamente y en diferentes dispositivos.

Tiene atributos de archivo, directorio y volumen

El protocolo CIFS puede consultar y también, con capacidad limitada, establecer atributos de directorio, archivo y volumen. Las listas de control de acceso (ACL) también son compatibles con CIFS.

Subprotocolos ampliados

El protocolo CIFS admite varios subprotocolos que ofrecen acceso directo a funciones adicionales del servidor.

Soporta la comunicación interproceso named pipe

El cliente puede abrir, escribir, leer y cerrar tuberías con nombre en el servidor específico. Los named pipes ofrecen una vía de comunicación entre los servicios del servidor y del cliente.

Conectividad flexible

Un cliente puede conectarse a varios servidores. Dicho cliente también puede establecer una o varias conexiones con un servidor.

Soporta la negociación de características

El conjunto de características y el dialecto soportados por un protocolo se negocian por conexión.

Bloqueo de archivos y registros y almacenamiento seguro en caché

El protocolo CIFS admite el bloqueo de archivos y registros. El mismo protocolo permite el bloqueo oportunista de archivos, concediendo a los clientes la oportunidad de almacenar datos en caché para mejorar el rendimiento.

Notificaciones de cambios de directorio y archivo

Los clientes del protocolo CIFS pueden enviar una solicitud para que se les notifique cada vez que se produzca un cambio en un recurso, como un archivo dentro de un directorio o un directorio en un servidor específico.

Compatible con el sistema de archivos distribuidos (DFS)

DFS crea un espacio de nombres global que contiene recursos en varios servidores.

Admite múltiples contextos de seguridad

Un cliente puede utilizar y crear uno o varios contextos de seguridad en una determinada conexión.

Condiciones previas para utilizar CIFS

CIFS necesita un transporte de red subyacente (generalmente orientado a la conexión). Sin embargo, en algunos casos, los mensajes CIFS pueden transmitirse a través de un transporte sin conexión con algunas modificaciones menores.

Antes de poder intercambiar mensajes CIFS a través de un transporte orientado a conexiones, es necesario establecer una conexión.

Para que los mensajes se intercambien a través de una red de este tipo, CIFS asumirá que uno o más de los siguientes recursos están disponibles;

  • Una cola de impresión local que envíe trabajos de impresión a una impresora para ofrecer servicios de impresión.
  • Un sistema de archivos local o una base de datos que se presenta como un sistema de archivos para permitir el intercambio de archivos. El recurso, en este caso, se conoce como almacén de objetos.
  • Se necesita una emulación adecuada integrada en el servidor CIFS o un sistema de archivos que admita tuberías con nombre para las comunicaciones entre procesos que utilicen la abstracción de tuberías con nombre.

El servidor también debe tener o proporcionar acceso a una base de datos de contraseñas para la autenticación.

La base de datos de contraseñas almacena los hashes de contraseñas de NT LAN Manager (NTLM) y LAN Manager (LM) para soportar la autenticación por desafío o respuesta.

Configurar CIFS para Windows

La mayoría de los usuarios nunca utilizarán CIFS, lo que explica por qué la función está desactivada por defecto en Windows 10 y 11.

Siga estos pasos para ponerla en funcionamiento;

  • Vaya al Panel de control y haga clic en Programa y características. En la parte izquierda, haga clic en Activar o desactivar características de Windows.
1
  • Desplácese hacia abajo hasta que vea Compatibilidad para compartir archivos SMB 1.0/CIFS y marque esa casilla. Haga clic en el icono para ver todas las opciones marcadas
2-1

Los pasos anteriores activarán CIFS. Sin embargo, necesita configurar la red a la que está conectado para CIFS. Este es el proceso

  1. Vaya a la página principal del Panel de controly haga clic en Red e Internet.
3

2. Haga clic en Centro de redes y recursos compartidos. A la izquierda, haga clic en Cambiar configuración de uso compartido avanzado.

4

3. Haga clic en Cambiar configuración de uso compartido avanzado . Ahora puede seguir adelante y Activar la detección de redes y Activar el uso compartido de archivos e impresoras. Haga clic en «Guardar cambios».

network-discovery

Configurar CIFS en una carpeta

Para los fines de esta demostración, configuraremos una carpeta llamada «Carpeta de muestra» en el disco E.

  1. Haga clic con el botón derecho del ratón en Carpeta de muestra, haga clic en Propiedades y seleccione Compartir.
6

2. Haga clic en Compartir.

7

Sin embargo, debe tener en cuenta que los usuarios de la lista son sólo los que están configurados actualmente en su máquina Windows.

Los destinatarios también deberán configurarlo todo por su parte si desean acceder a los documentos enviados.

CIFS frente a SMB: diferencias

Antes de comprobar las diferencias, merece la pena saber qué es el bloque de mensajes de servidor (SMB).

Server Message Block fue diseñado para permitir a un cliente leer, escribir y editar un archivo en un servidor. El servidor, en este caso, es una red de área local (LAN).

SMB a lo largo de los años

  • SMB1.0. La primera versión de SMB se equipara a CIFS. Esta primera variante se creó para Windows NT 4.0 y la comunicación se realizaba a través de la interfaz NetBIOS.
  • SMB 2.0. Esta versión fue introducida por Microsoft en 2006 a través de su sistema operativo Windows Vista. Algunas de las características introducidas fueron una mejor escalabilidad, soporte de enlaces simbólicos y una firma de mensajes mejorada.
  • SMB2.1. Esta versión se introdujo al mismo tiempo que Windows 7, en 2007. La versión 2.1 ofrecía optimizaciones de rendimiento mejoradas y nuevos mecanismos de bloqueo.
  • SMB3.0. Esta versión se introdujo al mismo tiempo que Windows 8 en 2012. SMB 3.0 se denominaba originalmente SMB 2.2, pero se le cambió el nombre posteriormente. Esta versión creó la posibilidad de acceso remoto al almacenamiento a través del Acceso Remoto Directo a Memoria (RDMA).
  • SMB 3.1.1. Esta es la última versión en el momento de escribir este documento. SMB 3.1.1 se creó para Windows 10 en 2015 e introdujo comprobaciones de integridad antes de la autenticación. Esta versión también utiliza el cifrado con Modo Galois/Contador (GCM).

Muchas personas confunden CIFS y SMB. Cabe señalar que SMB se introdujo antes que CIFS.

Microsoft mejoró SMB para crear CIFS en la década de 1990, lo que convierte a CIFS en un dialecto de SMB. Sin embargo, Microsoft ha seguido mejorando CIFS, y la versión actual es SMB 3.1.1.

Estas son las principales diferencias entre CIFS y SMB 3.1.1

SMB 3.1.1CIFS
Año de creación Creado por IBM a principios de los 80Creado como una versión mejorada de SMB por Microsoft a principios de los noventa
Rendimiento SMB 3.1.1 se creó para resolver la mayoría de los problemas de CIFS y las versiones anteriores de SMB. Existen comprobaciones previas a la autenticación que ayudan a asegurar los archivos en un servidorCuando se creó CIFS, había muchos problemas con la transmisión de archivos, la seguridad, etc.
AutenticaciónSMB 3.1.1 utiliza la autenticación AES para proporcionar seguridad sobre los archivos compartidos en un servidor. El usuario tiene que proporcionar un nombre de usuario y una contraseña para acceder a un archivoCIFS carece de autenticación. Por lo tanto, los archivos no están protegidos a través de la red.
Almacenamiento de datosSMB 3.1.1 utiliza campos de almacenamiento de datos de 32 o 64 bits, lo que permite almacenar archivos de gran tamaño. Utiliza protocolos IP/TCP similares a los protocolos HTTP y FTP.
Funcionamiento Un protocolo de comunicación cliente-servidor para compartir el acceso a los recursos de una red. El cliente/usuario solicita un archivo a un servidor situado en otro sistema informático de la misma red.

¿Cuáles son los inconvenientes de CIFS?

  • Carece de autenticación. Uno de los mayores inconvenientes de CIFS es que carece de autenticación, a diferencia de las últimas versiones de SMB.
  • Maneja archivos de tamaño limitado. CIFS puede no ser ideal para archivos supergrandes, ya que provoca retrasos e incluso puede causar roturas durante la transferencia.

Conclusión

Aunque los servicios de acceso y compartición de archivos en la nube parecen estar tomando el relevo, los protocolos tradicionales como CIFS siguen teniendo su espacio. La compatibilidad con conexiones directas a través del puerto TCP 445 fue uno de los mayores argumentos de venta de CIFS. Aunque Microsoft se centre ahora en hacer progresar SMB, no puede olvidarse de CIFS, ya que es uno de los dialectos de SMB.

También puede explorar cómo ejecutar el comprobador de archivos de sistema en Windows 11/10.