Las contraseñas son un asunto problemático con Samba. Tanto es así, que la mayoría de las veces son el principal problema que los usuarios se encuentran cuando instalan Samba, y generan la mayoría de las cuestiones enviadas a los grupos de soporte de Samba. En capítulos anteriores, evitamos la necesidad del uso de contraseñas a través de la opción guest ok en cada uno de nuestros ficheros de configuración, lo que nos permitía realizar conexiones sin tener que autentificar contraseñas. No obstante, ahora hemos de profundizar mas en Samba para saber que esta pasando en la red.
Las contraseñas enviadas desde clientes individuales pueden ser encriptadas o no encriptadas. Las contraseñas encriptadas son, desde luego, más seguras. Una contraseña no encriptada puede ser leída fácilmente con un programa de lectura de paquetes ('sniffer'), como el modificado tcpdump que hemos usado en el Capitulo 3, Configurando los clientes Windows. Que las contraseñas sean encriptadas depende del sistema operativo que el cliente este usando para conectar con Samba. La Tabla 6-5 muestra que sistemas operativos Windows encriptan sus contraseñas antes de enviarlas al Controlador Primario de Dominio para su autenticación. Si tu cliente no es Windows, comprueba la documentación del sistema para saber si las contraseñas SMB son encriptadas.
Sistema Operativo | Encriptado o No-Encriptado |
---|---|
Windows 95 | No-Encriptado |
Windows 95 con la Actualización SMB | Encriptado |
Windows 98 | Encriptado |
Windows NT 3.x | No-Encriptado |
Windows NT 4 anterior al SP3 | No-Encriptado |
Windows NT 4 despues del SP3 | Encriptado |
Actualmente se usan dos sistemas de encriptación: Uno para los clientes Windows 95 y 98 que sigue utilizando el estilo de Microsoft LAN Manager, y otro distinto para Windows NT clientes y servidores. Windows 95 y 98 utilizan un viejo sistema de encriptación derivado del programa de red LAN Manager, mientras que los sistemas Windows NT tanto clientes como servidores utilizan un sistema nuevo.
Si las contraseñas encriptadas están soportadas, Samba las almacena en un fichero llamado smbpasswd. Por defecto, este fichero esta situado en el directorio private de la distribución Samba (/usr/local/samba/private). Al mismo tiempo, los clientes almacenan una versión encriptada de la contraseña del usuario en su propio sistema. La contraseña sin encriptar (en texto plano) nunca se almacena en ningún sistema. Cada uno de ellos almacena la contraseña encriptada según un algoritmo conocido cuando esta se establece o cambia.
Cuando un cliente solicita una conexión a un servidor SMB que soporte contraseñas encriptadas (como Samba o Windows NT) los dos ordenadores llevan a cabo las siguientes negociaciones:
Puedes configurar Samba para aceptar contraseñas encriptadas añadiendo lo siguiente en la sección [global] del fichero smb.conf. Ten en cuenta que especificamos completa la ruta del fichero de contraseñas de Samba:
[global] security = user encrypt passwords = yes smb passwd file = /usr/local/samba/private/smbpasswd
Samba, de todas formas, no aceptara ningún usuario hasta que el fichero smbpasswd haya sido inicializado.