301.1 Conceptos y Arquitectura

Objetivos del subtema

Este subtema cubre los fundamentos del protocolo SMB/CIFS, la arquitectura de Samba, los servicios que lo componen y los conceptos de red necesarios para integrar sistemas Linux en entornos Windows.

Protocolo SMB/CIFS

Historia y evolución

  • SMB (Server Message Block): Protocolo desarrollado originalmente por IBM en 1983 y adoptado por Microsoft para compartir archivos, impresoras y comunicación entre procesos (IPC)
  • CIFS (Common Internet File System): Renombramiento y extensión del protocolo SMB por Microsoft en los años 90
  • SMB1/CIFS: Versión original, considerada insegura y obsoleta (deshabilitada por defecto en Windows 10+)
  • SMB2: Introducido en Windows Vista, reduce la complejidad del protocolo y mejora el rendimiento
  • SMB3: Introducido en Windows 8/Server 2012, añade cifrado, multicanal y mejoras de rendimiento
  • SMB3.1.1: Versión más reciente, con integridad de preautenticación y cifrado AES-128-GCM

Características principales del protocolo

  • Protocolo cliente-servidor para compartir recursos en red
  • Funciona sobre TCP/IP (puerto 445 directo) o sobre NetBIOS (puertos 137-139)
  • Soporta autenticación, bloqueo de archivos oportunista (oplocks) y notificaciones de cambio
  • Modelo de seguridad basado en usuario o en recurso compartido

Para el examen: Es fundamental conocer las diferencias entre SMB1, SMB2 y SMB3. SMB1 es inseguro y no debe usarse en producción. Samba 4 soporta SMB2 y SMB3.

Arquitectura de Samba

Demonios principales

Samba se compone de tres demonios fundamentales:

DemonioFunciónPuerto(s)
smbdServicio de archivos e impresoras, autenticaciónTCP 139, 445
nmbdResolución de nombres NetBIOS, WINSUDP 137, 138
winbinddIntegración con dominios Windows, mapeo de usuariosN/A (socket local)

smbd - Demonio de archivos e impresoras

  • Proceso principal de Samba para compartir recursos
  • Maneja la autenticación de usuarios (NTLM, Kerberos)
  • Gestiona el acceso a archivos e impresoras compartidos
  • Crea un proceso hijo por cada conexión de cliente
  • Escucha en los puertos TCP 139 y 445

nmbd - Demonio de nombres NetBIOS

  • Proporciona resolución de nombres NetBIOS sobre TCP/IP
  • Puede actuar como servidor WINS (Windows Internet Name Service)
  • Participa en la elección de navegador maestro (master browser)
  • Responde a peticiones de broadcast para descubrimiento de red
  • Utiliza los puertos UDP 137 (servicio de nombres) y 138 (datagramas)

winbindd - Demonio de integración Windows

  • Mapea usuarios y grupos de Windows a UIDs/GIDs de Linux
  • Permite que usuarios de dominio Windows accedan a recursos Samba
  • Se comunica con controladores de dominio AD mediante LDAP y RPC
  • Utiliza NSS (Name Service Switch) y PAM para integración del sistema
  • Se comunica a través de un socket UNIX local (/var/run/winbindd/pipe)

Para el examen: Recuerda que smbd y nmbd son necesarios para un servidor de archivos básico, mientras que winbindd solo se necesita cuando se integra con un dominio Windows/AD.

Samba 4 como controlador de dominio

Cuando Samba 4 actúa como controlador de dominio Active Directory, ejecuta un demonio unificado samba que incluye:

  • Servidor LDAP interno
  • Servidor DNS interno (o integración con BIND9)
  • Servidor Kerberos (Heimdal KDC)
  • Servidor de archivos (smbd integrado)
  • Servidor RPC para administración de dominio
# En modo AD DC, se usa el demonio unificado:
systemctl start samba-ad-dc

# En modo servidor de archivos, se usan los demonios individuales:
systemctl start smbd nmbd winbindd

NetBIOS y resolución de nombres

Nombres NetBIOS

  • Limitados a 15 caracteres más 1 byte de tipo de servicio (16º carácter)
  • No son jerárquicos (espacio de nombres plano)
  • Se registran y resuelven mediante broadcast o WINS
  • Cada tipo de servicio tiene un sufijo hexadecimal diferente
SufijoTipoDescripción
<00>ÚnicoEstación de trabajo
<03>ÚnicoServicio de mensajería
<20>ÚnicoServidor de archivos
<1B>ÚnicoDomain Master Browser
<1C>GrupoControlador de dominio
<1D>ÚnicoMaster Browser
<1E>GrupoElecciones de navegación

WINS (Windows Internet Name Service)

  • Servicio centralizado de resolución de nombres NetBIOS
  • Elimina la necesidad de broadcast para resolución de nombres
  • Samba puede actuar como servidor WINS (wins support = yes en smb.conf)
  • Los clientes registran sus nombres al iniciar y los liberan al apagar
  • Permite resolución de nombres entre subredes

Para el examen: WINS resuelve nombres NetBIOS, NO nombres DNS. En entornos modernos con AD, DNS ha reemplazado en gran medida a WINS.

Workgroups vs. Dominios

Workgroups (Grupos de trabajo)

  • Modelo peer-to-peer sin administración centralizada
  • Cada equipo mantiene su propia base de datos de usuarios
  • No hay autenticación centralizada
  • Útil para redes pequeñas (menos de 10 equipos)
  • Configurado con workgroup = NOMBRE en smb.conf

Dominios NT4

  • Modelo cliente-servidor con un PDC (Primary Domain Controller)
  • Uno o más BDCs (Backup Domain Controllers) para redundancia
  • Base de datos SAM centralizada
  • Samba 3 podía actuar como PDC/BDC de dominio NT4
  • Relaciones de confianza limitadas (unidireccionales)

Dominios Active Directory

  • Modelo jerárquico basado en LDAP, DNS y Kerberos
  • Múltiples controladores de dominio con replicación multimaestro
  • Bosques (forests) y árboles (trees) de dominios
  • Políticas de grupo (GPO) para gestión centralizada
  • Samba 4 puede actuar como controlador de dominio AD completo

Puertos de red utilizados

PuertoProtocoloServicio
137UDPNetBIOS Name Service (nmbd)
138UDPNetBIOS Datagram Service (nmbd)
139TCPNetBIOS Session Service (smbd)
445TCPSMB directo sobre TCP (smbd)
389TCP/UDPLDAP (Samba AD DC)
636TCPLDAPS (Samba AD DC)
88TCP/UDPKerberos (Samba AD DC)
464TCP/UDPKerberos kpasswd (Samba AD DC)
53TCP/UDPDNS (Samba AD DC)
3268TCPGlobal Catalog (Samba AD DC)
3269TCPGlobal Catalog SSL (Samba AD DC)

Para el examen: Los puertos 137/UDP, 138/UDP, 139/TCP y 445/TCP son los más preguntados. Recuerda que el puerto 445 permite SMB sin NetBIOS.

Diferencias clave entre Samba 3 y Samba 4

CaracterísticaSamba 3Samba 4
Dominio AD DCNo
Dominio NT4 PDCSí (compatibilidad)
Protocolo SMBSMB1SMB1, SMB2, SMB3
KDC KerberosNo (externo)Sí (Heimdal integrado)
Servidor LDAPNo (externo)Sí (integrado)
Servidor DNSNoSí (interno o BIND9_DLZ)
GPOLimitadoSoporte básico

Archivos de configuración principales

  • /etc/samba/smb.conf - Configuración principal de Samba
  • /etc/samba/lmhosts - Resolución estática de nombres NetBIOS
  • /var/lib/samba/ - Bases de datos TDB y estado de Samba
  • /var/log/samba/ - Archivos de log de los demonios
  • /var/cache/samba/ - Caché de winbind y otros datos temporales

Resumen de conceptos clave

  • SMB/CIFS es el protocolo; Samba es la implementación libre
  • Tres demonios: smbd (archivos), nmbd (nombres), winbindd (dominio)
  • Puerto 445 para SMB directo; puertos 137-139 para SMB sobre NetBIOS
  • Samba 4 introdujo soporte completo para Active Directory
  • WINS resuelve nombres NetBIOS; DNS resuelve nombres de host
  • El modo AD DC usa un demonio unificado samba en lugar de smbd/nmbd separados

Trampas del examen

Errores comunes y distinciones criticas que LPI suele evaluar en este subtema:

  • smbd vs nmbd vs winbindd — Confundir que demonio hace que es trampa clasica. smbd=archivos/impresoras/autenticacion (TCP 139,445), nmbd=nombres NetBIOS/WINS (UDP 137,138), winbindd=mapeo usuarios dominio Windows (socket local). winbindd solo se necesita al integrar con AD.
  • Puerto 445 vs puertos 137-139 — El puerto 445 es SMB directo sobre TCP (sin NetBIOS). Los puertos 137-139 son SMB sobre NetBIOS. Preguntas frecuentes mezclan ambos; recordar que SMB moderno usa 445 exclusivamente.
  • SMB1 vs SMB2 vs SMB3 — SMB1/CIFS es inseguro y obsoleto (deshabilitado en Windows 10+). Samba 4 soporta SMB2 y SMB3. No confundir CIFS (nombre antiguo de SMB1) con el protocolo SMB moderno.
  • Demonio unificado samba vs demonios separados — En modo AD DC se ejecuta samba-ad-dc (demonio unificado), NO smbd/nmbd/winbindd por separado. Ejecutar ambos simultaneamente causa conflictos.
  • WINS resuelve nombres NetBIOS, NO nombres DNS — Es trampa clasica preguntar si WINS resuelve nombres de host DNS. WINS solo resuelve nombres NetBIOS (maximo 15 caracteres, espacio plano). DNS es para AD moderno.
  • Sufijos NetBIOS — El 16o caracter define el tipo de servicio: <00>=estacion de trabajo, <20>=servidor de archivos, <1B>=Domain Master Browser, <1C>=controlador de dominio. Las preguntas suelen pedir identificar el sufijo correcto.
  • Samba 3 vs Samba 4 — Samba 3 podia ser PDC de dominio NT4 pero NO controlador AD. Samba 4 es AD DC completo con KDC Heimdal, LDAP y DNS integrados. No confundir las capacidades de cada version.
  • Workgroup vs Dominio NT4 vs Dominio AD — Workgroup=peer-to-peer sin autenticacion centralizada. NT4=PDC/BDC con SAM centralizada. AD=LDAP+Kerberos+DNS con replicacion multimaestro. Las preguntas suelen pedir identificar la arquitectura correcta.