Capitulos de este wiki
  1. 1 Aprendiendo Samba
  2. 2 ¿Qué es Samba?
  3. 3 ¿Qué puede hacer Samba por mí?
  4. 4 Familiarizandonos con una Red SMB/CIFS
  5. 5 Implementaciones de Microsoft
  6. 6 Un Vistazo a la Distribución Samba
  7. 7 ¿Cómo puedo Obtener Samba?
  8. 8 Instalando Samba en un Sistema Unix
  9. 9 Descargando la Distribución
  10. 10 Configurando Samba
  11. 11 Compillando e Instalando Samba
  12. 12 Un Fichero de Configuración Basico
  13. 13 Iniciando los Demonios de Samba
  14. 14 Testeando los Demonios Samba
  15. 15 Configurando los Clientes Windows
  16. 16 Configurando Computadoras Windows 95/98 (I)
  17. 17 Configurando Computadoras Windows 95/98 (II)
  18. 18 Una Introducción a SMB/CIFS (I)
  19. 19 Una Introducción a SMB/CIFS (II)
  20. 20 Compartición de Unidades de Disco
  21. 21 Aprendiendo a usar el Fichero de Configuración de Samba
  22. 22 Secciones Especiales
  23. 23 Opciones del Ficheros de Configuración
  24. 24 Configuración del Servidor
  25. 25 Configuración de la Compartición de Disco
  26. 26 Opciones de Red con Samba
  27. 27 Servidores Virtuales
  28. 28 Opciones de Ficheros de Registro
  29. 29 Visualización (Browsing) y Compartición Avanzada de Discos
  30. 30 Visualización, Navegación o 'Browsing'
  31. 31 Diferencias entre Sistemas de Ficheros
  32. 32 Permisos de Ficheros y Atributos en MS-DOS y Unix
  33. 33 Planchado de Nombres (Name Mangling) y Tipo
  34. 34 Bloqueos y Opciones de Bloqueos
  35. 35 Usuarios, Seguridad y Dominios
  36. 36 Usuarios y Grupos
  37. 37 Controlando el acceso a los recursos compartidos
  38. 38 Seguridad y autenticación
  39. 39 Contraseñas
  40. 40 Sincronización de las Contraseñas
  41. 41 Dominios Windows
  42. 42 Scripts de Entrada
  43. 43 Impresión y Resolución de Nombres
  44. 44 Enviando tareas de impresión a SAMBA
  45. 45 Impresión sobre Impresoras de Cliente Windows
  46. 46 Resolución de Nombres con Samba
  47. 47 Informacion adicional sobre Samba
  48. 48 Magic Scripts (Scripts Magicos)
  49. 49 Internationalización
  50. 50 Mensajes Emergentes
  51. 51 Opciones Añadidas Recientemente
  52. 52 Otras Opciones
  53. 53 Copias de Seguridad (Backups) con smbtar
  54. 54 Resolviendo Problemas con Samba
  55. 55 La Caja de Herramientas
  56. 56 El Arbol de Errores
  57. 57 Recursos Extra
  58. 58 Bibliography

Usando Samba - Contraseñas

39 - Contraseñas

[editar]
Tutorial creado por Robert Eckstein, David Collier-Brown, Peter Kelly. Extraido de: http://es.tldp.org/Manuales-LuCAS/USANDO-SAMBA/usando-samba-html/node1.html
20 de Febrero de 2006

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.


Table: Sistemas Operativos Windows con Contraseñas 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:

  1. El cliente intenta negociar un protocolo con el servidor.
  2. El servidor responde con un protocolo e indica que soporta contraseñas encriptadas. En este momento, devuelve una cadena de 8 bytes generada aleatoriamente.
  3. El cliente utiliza esta cadena como una llave para encriptar la ya encriptada contraseña usando un algoritmo predefinido por el protocolo negociado. Entonces envía el resultado al servidor.
  4. El servidor realiza el mismo proceso con la contraseña almacenada en su propia base de datos. Si los resultados coinciden, las contraseñas son equivalentes y el usuario es autenticado.
Ten en cuenta que, aunque las contraseñas originales no están involucradas en el proceso de autenticación, has de ser muy cuidadoso conque las contraseñas encriptadas almacenadas en el fichero smbpasswd estén a salvo de usuarios no autorizados. Si estas contraseñas están desprotegidas, un usuario no autorizado puede penetrar en el sistema reproduciendo los pasos del algoritmo del que hablamos antes. Las contraseñas encriptadas son tan delicadas como las contraseñas de texto plano -esto se conoce como equivalencia-texto plano en el mundo de la criptografía-. Desde luego, debes asegurarte que los clientes también protejan sus contraseñas.

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.

Deshabilitando contraseñas encriptadas en el cliente

Aunque la autenticación Unix ha estado en uso durante décadas, incluyendo el uso de telnet y rlogin para tener acceso a través de Internet, contienen riesgos de seguridad bien conocidos. Las contraseñas en texto plano son enviadas a través de Internet y pueden ser leídas desde los paquetes TCP por cualquier fisgón que probablemente no tenga buenas intenciones. Aun así, si crees que tu red es segura y quieres usar el estándar Unix de autenticación /etc/passwd para todos los clientes, puedes hacerlo, pero deberás desactivar las contraseñas encriptadas en aquellos sistemas que las usan por defecto.

Para conseguirlo, debes modificar el registro de Windows instalando dos ficheros en cada sistema. Dependiendo del que sea los ficheros son, respectivamente, NT4_PlainPassword.reg o Win95_PlainPassword.reg. Puedes realizar esta instalación copiando el fichero.reg adecuado desde el directorio /docs de la distribución de Samba a un disquete DOS, y ejecutandolo desde el comando Ejecutar en el menu Inicio de Windows. Además, el fichero.reg de Windows 95 también funciona para Windows 98. Una vez que reinicies el ordenador cliente, este no encriptará sus contraseñas antes de enviarlas al servidor. Esto significa que la contraseña con equivalencia-texto plano puede ser vista en los paquetes TCP que se están enviando a lo largo de la red. De nuevo, te recomendamos que no utilices esto a no ser que estés totalmente seguro de que tu red es segura.

Si las contraseñas no están encriptadas, puedes indicarlo en tu fichero de configuración de Samba:

[global]
   security = user
   encrypt passwords = no
 

El fichero smbpasswd

Samba almacena sus contraseñas encriptadas en un fichero llamado smbpasswd, que por defecto reside en /usr/local/samba/private. El fichero smbpasswd ha de ser guardado tan celosamente con el fichero passwd; debe ser colocado en un directorio donde solo el usuario root tenga derechos de lectura/escritura. Todos los demás usuarios no deberán ser capaces de leer el directorio. Además el fichero ha de tener todos los accesos cerrados a todo el mundo excepto a root.

Antes de que puedas usar contraseñas encriptadas, necesitas crear una entrada para cada usuario Unix en el fichero smbpasswd. La estructura de este fichero es similar a la del fichero passwd, pero tiene diferentes campos. La figura 6-3 ilustra el diseño del fichero smbpasswd; La entrada que se muestra es, de hecho, una sola línea del fichero.

 

Figure: Estructura una entrada en el fichero smbpasswd (actualmente es una sola linea).

\includegraphics[ width=0.80\textwidth]{img/sam-0603.ps}

Vamos a ver un poco cada uno de los campos:

Username (Nombre
de usuario). Este es el nombre de usuario de la cuenta. Se toma directamente del fichero de contraseñas del sistema.
UID.
Es el ID Unix del usuario. Como el nombre de usuario, se toma directamente del fichero de contraseñas del sistema y debe coincidir con el usuario que representa en este.
Información sobre la contraseña LAN Manager.
Es una secuencia hexadecimal de 32 bits que representa la contraseña que utilizaran los clientes Windows 95 y Windows 98. Se obtiene del resultado de encriptar la secuencia KGS!@#$% con un algoritmo DES de 56 bits usando la contraseña del usuario (reducida a 14 bytes y convertida a mayúsculas) repetida dos veces como clave. Si no hay contraseña para el usuario, los primeros 11 caracteres consistirán en la secuencia NO PASSWORD seguida por tantas X como sea necesario. Todo el mundo puede acceder a un recurso que no tenga establecida una contraseña. Por otro lado, si la contraseña ha sido desactivada, consistirá en 32 caracteres X. Samba no dará acceso a ningún usuario a menos que se establezca la opción null passwords.
Información sobre la contraseña NT.
Es una secuencia hexadecimal de 32 bits que representa la contraseña que utilizarán los clientes NT. Se obtiene del resultado de cifrar la contraseña del usuario (representada como una secuencia Unicode 'little-endian' de 16 bits) con una secuencia de cifrado MD4. La contraseña no se convierte primero a mayúsculas.
Datos de la cuenta.
Este campo consiste en 11 caracteres entre 2 corchetes ([]). Cualquiera de los siguientes caracteres puede aparecer en cualquier orden, el resto serán espacios:
U
Esta cuenta es una cuenta de usuario estándar de Unix.
D
Esta cuenta está desactivada y Samba no permitirá ningún acceso.
N
Esta cuenta no tiene contraseña asociada
W
Esta es una cuenta de confianza que puede ser utilizada para configurar Samba como Controlador Primario de Dominio (PDC) cuando se permita a equipos Windows NT unirse a su dominio.
Hora del ultimo cambio.
Este código consiste en los caracteres LCT seguido por la representación hexadecimal del numero de segundos transcurridos desde el inicio de los tiempos (medianoche del 1 de Enero de 1970 en tiempo Unix) hasta que se modificó el fichero por ultima vez.

Añadiendo entradas a smbpasswd

Hay varias maneras en que puedes añadir una entrada al fichero smbpasswd:

  1. Puedes usar programa smbpasswd con la opción -a para añadir automáticamente cualquier usuario que ya posea un cuenta estándar Unix en el sistema. Este programa esta en el directorio /usr/local/samba/bin.
  2. Puedes usar el programa addtosmbpass que esta en el directorio /usr/local/samba/bin. Es un script AWK que recorre un fichero de contraseñas del sistema y extrae el nombre de usuario y UID de cada entrada que quieras añadir al fichero de contraseñas SMB. Entonces añade campos con valores por defecto para el resto de las entradas de usuarios, que pueden ser actualizados mas tarde usando el programa smbpasswd. Para poder ejecutar este programa, probablemente deberás editar la primera línea para que apunte correctamente al awk de tu sistema.
  3. En el caso de que ninguna de estas dos opciones sea la correcta para ti, puedes crear una entrada por defecto a mano en el fichero smbpasswd. Esta entrada debe estar en una sola línea y cada campo debe ir separado por dos puntos (:):

dave:500:XXXXXXXXXXXXXXXXXXXXXXXXXXX:XXXXXXXXXXXXXXXXXXXXXXXXXXX:[U ]:LCT-00000000:
 

Como vemos esta formado por el nombre de usuario y el UID tal como se especifica en el fichero de contraseñas del sistema, seguido por dos conjuntos de, exactamente 32 caracteres X, seguido por los datos de la cuenta y el momento del ultimo cambio. Una vez que añadas esta entrada, debes usar el programa smbpasswd para cambiar la contraseña del usuario.

Cambiando la Contraseña Encriptada

Si necesitas cambiar las contraseñas encriptadas del fichero smbpasswd, puedes usar el programa smbpasswd. Ten en cuenta que comparten nombre, por lo que asegúrate de no confundir el fichero de contraseñas con el programa de cambio de contraseñas.

El programa smbpasswd es en su mayor parte, idéntico al programa passwd que se usa para cambiar las contraseñas de las cuentas Unix. Simplemente pide que entres tu antigua clave (a menos que seas el usuario root) y duplica la petición para la nueva. En la pantalla no se muestra ningún carácter.

# smbpasswd dave
 Old SMB password:
 New SMB password:
 Retype new SMB password:
 Password changed for user dave
 

Puedes mirar el fichero smbpasswd una vez que este comando termine su ejecución para comprobar que las hashes de las contraseñas de NT y Lan Manager se han grabado en sus respectivas posiciones. Una vez que los usuarios tienen contraseñas encriptadas en la base de datos, podrán conectar a los recursos compartidos usando contraseñas encriptadas.

[editar]

10 opiniones

Sergio

buenisimo
huevos

no mames
Muy muy bueno.

Excelente. Todos los aspectos que me presentaron problemas en la configuración del servidor fueron resueltos con la ayuda proporcionada por este documento. Muchas gracias a los autores y traductores por su aporte.
Samba en web.

Quisiera saber mas sobre lo que es la instalacion de samba en web.
Samba.

Exelente curso de samba, muy bien explicado.
1 2 | siguiente >

Tutoriales relacionados con 'Usando Samba'

Este documento describe la manera de usar el paquete Samba, que dota a Linux de... Más »
Cuando un entorno Windows precisa nuestros archivos, o puede servirnos para imprimir nuestros documentos, nada... Más »
Esta guía no es un documento general de seguridad. Esta guía está específicamente orientada a... Más »
Antes de continuar he de advertir que instalar una estación de trabajo NetBSD es un... Más »
Vamos a ver cómo funciona Snort en todas sus facetas, instalación y configuración (sistemas Windows),... Más »

Autor y licencia de 'Usando Samba'


Tutorial de Robert Eckstein, David Collier-Brown, Peter Kelly. Extraido de: http://es.tldp.org/Manuales-LuCAS/USANDO-SAMBA/usando-samba-html/node1.html CopyLeft
Licencia GNU Free Documentation License: http://www.es.gnu.org/licencias/fdles.html
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.