Versiones de SMB en Windows y Samba

03 de mayo de 2020

Server Message Block (SMB) es un protocolo que permite compartir recursos en una red. Fue desarrollado por IBM y modificado y renombrado, por Microsoft, como CIFS (Common Internet File system).

Como cualquier protocolo, o software, ha ido evolucionando, añadiendo seguridad y nuevas funcionalidades en cada nueva versión. Actualmente hay tres versiones del protocolo SMB, con sus respectivas subversiones.

Windows 10 tiene deshabilitado SMBv1 por defecto

Como el protocolo ha ido evolucionando para, entre otras cosas, solucionar vulnerabilidades. Los nuevos sistemas intentan disuadirnos de usar las versiones vulnerables. Así, en Windows 10 el procolo SMBv1 se encuentra deshabilitado por defecto, e incluso, en ocasiones, no instalado.

Esto, podría ocasionar que Windows 10 no se hable con otros Windows más antiguos, o con algún samba, desactualizado o mal configurado.

¿Qué es samba?

Samba es una implementación libre del protocolo SMB/CIFS que se usa en sistemas GNU/Linux y Unix en general.

Consta de dos partes diferenciadas: el cliente, con el que se accede a máquinas que están compartiendo recursos; y el servidor que se ocupa de poner recursos de la máquina a disposición de otros.

Samba usa un fichero de configuración que en los sistemas Linux estándar, debería estar en /etc/samba/smb.conf. En este fichero, entre todas las opciones que podemos configurar, podemos definir las versiones mínimas y máximas del protocolo SMB que se usará en las conexiones, tanto para el cliente, como para el servidor. Por ejemplo:

[Global] min protocol = SMB2 client min protocol = SMB2 max protocol = SMB3 client max protocol = SMB3
Lenguaje del código: texto plano (plaintext)

Escenarios

Supongamos que queremos compartir cositas entre máquinas Windows y Linux con diferentes versiones. Aquí vamos a encontrar diferentes escenarios

En la red hay solamente equipos modernos como Windows 10, samba 4 o superiores (pensando en el futuro):
Configura smb.conf para que samba use solo protocolos SMBv2 y SMBv3 para evitare uso de la versión menos segura.

Si en la red hay equipos Windows o Linux antiguos, que no soportan versiones modernas de SMB, entonces:

Habilitar el protocolo SMBv1 en Windows 10

Puedes habilitar el uso de SMBv1 en Windows 10, como se indica en la documentación de Microsoft.

Abre PowerShell como Administrador y ejecuta

Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
Lenguaje del código: PowerShell (powershell)

Reinicia el equipo.

Otra opción:

Si tienes recursos suficientes usa un servidor para compartir ficheros independiente. La idea es que este servidor acepte todas las versiones de SMB y cada equipo se conectará a él con el protocolo que necesite. Con esto, cada sistema puede usar el protocolo más seguro posible.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.