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 - Seguridad y autenticación

38 - Seguridad y autenticación

[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

En este capítulo trataremos como Samba autentifica a los usuarios. Cada usuario que intente conectar a un recurso que no permita acceso de invitado deberá suministrar una contraseña para efectuar la conexión. Lo que Samba hace con esa contraseña - y en consecuencia la estrategia que utiliza para autentificar al usuario -es trabajo de la opción de configuración security-. Actualmente hay cuatro niveles de seguridad utilizados por Samba en sus redes: share, user, server y domain. Ingresa en http://juanpablo.netne.net/index.php/en/inicio/item/53 ahi veras como autenticar samba con mysql, lo probe yo y funciono, deja tus comentarios si podes y si te sirvio la pagina.

Seguridad a nivel de recurso (share).
Cada recurso en el grupo de trabajo tiene una o más contraseñas asociadas con él. Cualquiera que conozca una contraseña valida puede acceder al recurso.
Seguridad a nivel de usuario (user).
Cada recurso en el grupo de trabajo se configura para permitir acceso a determinados usuarios. Con cada conexión inicial, el servidor Samba verifica los usuarios y sus contraseñas para permitirles el acceso al recurso.
Seguridad a nivel de servidor (server).
Es la misma que a nivel de usuario (user), pero en esta el servidor Samba utiliza otro servidor SMB para validar los usuarios y sus contraseñas antes de conceder el acceso.
Seguridad a nivel de dominio (domain).
Samba se convierte en un miembro de un dominio Windows y utiliza al Controlador Primario del Dominio (PDC) para llevar a cabo la autenticación. Una vez autenticado, al usuario se le da un atributo especial que le permite acceso a todos los recursos a los que tenga derechos de acceso. Con este atributo, el PDC no tendrá que volver a validar al usuario cada vez que intente conectarse a otro recurso dentro del dominio.
Cada una de estas políticas de seguridad puede ser implementada a través de la opción global security, como se muestra en la tabla 6.3.


Table: Opciones de seguridad
Opción Parámetros Función Defecto Ámbito
security domain, server, share o user Indica el tipo de seguridad que usará el servidor Samba user (Samba 2.0) o share (Samba 1.9) Global

Seguridad a nivel de recurso (share)

En este caso cada recurso tiene una o más contraseñas asociadas con él. Se diferencia de los demás modos de seguridad en que aquí no hay restricciones como quién puede acceder al recurso, siempre que los usuarios conozcan la contraseña correcta. Los recursos pueden tener distintas contraseñas. Por ejemplo, una contraseña puede conceder sólo derechos de lectura, otra puede conceder derechos de lectura-escritura, etc. La seguridad se mantiene mientras usuarios no autorizados no descubran las contraseñas para un recurso al que no deberían poder acceder.

OS/2 y Windows 95/98 soportan seguridad a nivel de recurso. En Windows 95/98 puedes establecerla usando la pestaña de Control de Acceso en la opción Red del Panel de Control. Una vez aquí marcas Control de acceso a los recursos (que desmarca la opción de Control de acceso de los usuarios) como se muestra en la figura 6-1 y pulsas el botón de Aceptar.

Figure: Control de Acceso.

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

Ahora, haces clic en un recurso -como un disco duro o un CD-ROM- y eliges el menú Propiedades. Se abrirá el cuadro de diálogo de propiedades del recurso. Elige la pestaña Compartir y activa el recurso como Compartido Como. Desde aquí, puedes configurar como se presentará el recurso a los usuarios individuales, así como asignar si el recurso será de solo-lectura, de lectura-escritura o una mezcla, dependiendo de la contraseña que se utilice.

Puedes estar pensando que este modelo de seguridad no es el más correcto para Samba - y tendrás razón. De hecho, si activas la opción security=share en el fichero de configuración de Samba, seguirá utilizando las combinaciones de nombre de usuario/contraseña de los ficheros de contraseñas del sistema para autentificar al usuario. Mas concretamente, Samba seguirá los siguientes pasos cuando un cliente solicite una conexión usando una política de seguridad a nivel de recurso:

  1. Cuando se solicita la conexión, Samba aceptará la contraseña y (si se envía) el nombre de usuario del cliente.
  2. Si el recurso es guest only, al usuario se le concede acceso inmediatamente al recurso, pero con los derechos del usuario especificado por el parámetro guest account; no se realiza ninguna comprobación sobre la contraseña.
  3. Para otros recursos, Samba añade el nombre de usuario a una lista de usuarios que tienen permitido el acceso a ese recurso. Entonces intenta validar la contraseña recibida como complemento a ese nombre de usuario. Si tiene éxito, Samba concede el acceso los derechos asignados a ese usuario y este no necesitara autenticarse de nuevo a no ser que se establezca una opción revalidate=yes dentro de la configuración del recurso.
  4. Si la autenticación no tiene éxito, Samba intentará validar la contraseña frente a una lista de usuarios que ha sido creada previamente utilizando los intentos de conexión, así como cualquiera especificada en la configuración del recurso. Si la contraseña no coincide con ningún nombre de usuario (como se establece en el fichero de contraseñas del sistema, normalmente /etc/password), no se le concederá acceso bajo ese nombre.
  5. De cualquier forma, si el recurso tiene una opción guest ok o public, el usuario por defecto accederá con los derechos del usuario que se especifique en la opción guest account.

Con la opción de configuración username puedes establecer inicialmente, los usuarios de seguridad a nivel de recurso, tal como se muestra:

[global] 
   security = share
 
 [accounting1]
   path = /home/samba/accounting1
   guest ok = no
   writable = yes
   username = davecb, pkelly, andyo
 

Así, cuando un usuario intenta conectar con el recurso, Samba comprobará la contraseña enviada por este contra cada uno de los usuarios de su lista, además de las contraseñas de los usuarios davecb, pkelly y andyo. Si cualquiera de ellas coincide, se realizará la conexión, en otro caso, ésta fallará.

Opciones de seguridad a nivel de recurso

La Tabla 6.4 muestra las opciones más comunes asociadas con este nivel de seguridad:


Table: Opciones de seguridad a nivel de recurso.
Opción Parámetros Función Valor por defecto Ámbito
only user Booleano Indica cuando los nombres de usuario especificados por username serán los únicos permitidos. no Recurso
username Cadena (lista de usuarios) Especifica una lista de usuarios contra los que se comprobará la validez de la contraseña.

Only user

Esta opción lógica indica cuando Samba permitirá conexiones usando este nivel de seguridad basándose solamente en los usuarios especificados en la opción username, en lugar de aquellos establecidos en la lista interna de Samba. El valor por defecto para esta opción es no. Pero puedes saltártela para un recurso determinado de la forma siguiente:

[global]
   security = share
 
 [data]
   username = andy, peter, valerie
   only user = yes
 

Username

Esta opción establece una lista de usuarios contra los que Samba testeará una contraseña para permitir la conexión. Se usa normalmente con clientes que tienen seguridad a nivel de recurso basada exclusivamente en una contraseña -en este caso, una que coincide con la contraseña de determinado usuario:

[global]
 security = share
 
 [data]
 username = andy, peter, terry
 

Te recomendamos que no la utilices a menos que estés instalando un servidor con seguridad a nivel de recurso.

Seguridad a nivel de usuario

Es el modo más aconsejable de seguridad para trabajar con Samba. Con él, cada recurso tiene asignados determinados usuarios que pueden acceder a él. Cuando un usuario solicita una conexión a un recurso, Samba lo autentifica validando el nombre de usuario y la contraseña frente a los usuarios autorizados en el fichero de configuración y las contraseñas almacenadas en la base de datos del servidor Samba. Como mencionamos antes en este mismo capitulo, una manera de establecer que usuarios tienen acceso a un recurso especifico es usando la opción valid users para ese recurso:

[global]
   security = user
 
 [accounting1]
   writable = yes
   valid users = bob, joe, sandy
 

A cada uno de los usuarios en la lista se le permitirá el acceso al recurso si la contraseña proporcionada coincide con la establecida en la base de datos de sistema en el servidor. Si esta autenticación inicial tiene éxito, el usuario no necesita volver a escribir la contraseña para acceder a este recurso a no ser que se haya activado la opción revalidate=yes.

Las contraseñas pueden ser enviadas al servidor Samba de forma encriptada o no. Si tienes ambos tipos de sistemas en tu red, debes asegurarte que las contraseñas de cada usuario están grabadas tanto en la base de datos de cuentas tradicional como en la base de datos de contraseñas encriptadas. De esta forma, los usuarios autorizados tendrán acceso al recurso desde cualquier tipo de cliente. De todas formas, te recomendamos que si la seguridad es una prioridad utilices contraseñas encriptadas y abandones las no encriptadas. La sección contraseñas de este capitulo explica como utilizar contraseñas tanto encriptadas como no.

Seguridad a nivel de servidor

La seguridad a nivel de servidor es parecida a la de usuario. Sin embargo, con la seguridad a nivel de servidor, Samba delega la autenticación de la contraseña a otro servidor de contraseñas SMB, normalmente otro servidor Samba o un Windows NT Server actuando como PDC en la red. Fíjate en que Samba todavía mantiene una lista de recursos y configuraciones en su fichero smb.conf. Cuando un cliente intenta hacer una conexión a un recurso determinado, Samba comprueba que el usuario está autorizado a conectar a ese recurso, entonces intenta validar la contraseña conectando con el servidor SMB a través de un protocolo conocido y presentándole el nombre y la contraseña. Si la contraseña es aceptada, se establecerá la conexión con el cliente. Este proceso queda reflejado en la Figura 6.2.

Figure: Una configuración típica usando seguridad a nivel de servidor

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

Puedes configurar Samba para usar un servidor de contraseñas distinto con el uso de la opción global password server:

[global]
   security = server
   password server = PHOENIX120 HYDRA134
 

Fíjate en que puedes especificar mas de un servidor como valor de la opción password server; Samba ira recorriendo la lista en el caso de que no sea posible contactar con el primer servidor. Ten en cuenta que los nombres de estos servidores son nombres NetBIOS, no nombres DNS o sus IP equivalentes. Asimismo, si uno de los servidores rechaza la contraseña, la conexión fallara automáticamente, Samba no intentara probar en otro servidor.

Un aviso: Cuando uses esta opción seguirás necesitando una cuenta que represente al usuario en el servidor Samba general. Esto se debe a que el sistema operativo Unix necesita un nombre de usuario para realizar determinadas operaciones de entrada/salida (I/O). El método aconsejable es dar al usuario una cuenta en el servidor Samba pero desactivar su contraseña reemplazándola en el fichero de contraseñas del sistema (por ejemplo /etc/passwd) por un asterisco (*).

Seguridad a nivel de dominio

La seguridad a nivel de dominio es parecida a la de nivel de servidor. Sin embargo, con la seguridad a nivel de dominio, el servidor Samba está actuando como miembro de un dominio Windows. Recuerda del capítulo 1 que cada dominio tiene un Controlador de Dominio, que es normalmente un Windows NT Server que ofrece la autenticación de las contraseñas. Incluir estos controladores proporciona al grupo un servidor de contraseñas definitivo. Los controladores de dominio mantienen los usuarios y contraseñas en sus propios módulos de autenticación de seguridad (SAM), y autentifican a cada usuario cuando este conecta por primera vez y cuando desea acceder a un recurso en otra maquina.

Como mencionamos antes en este capitulo, Samba tiene una prestación similar al ofrecer seguridad a nivel de usuario, pero esta opción está centralizada en Unix y asume que la autenticación se produce a través de los ficheros de contraseñas de Unix. Si la maquina Unix es parte de un dominio NIS o NIS+ Samba autenticará a los usuarios de forma transparente contra un fichero de contraseñas compartido, como es típico en Unix. Hecho esto, Samba ofrecerá acceso al dominio NIS o NIS+ desde Windows. Desde luego, no existe relación alguna entre el concepto de dominio NIS o NIS+ y el concepto de dominio de Windows.

Con la seguridad a nivel de dominio, tenemos la opción de usar el mecanismo nativo de NT. Esto tiene una serie de ventajas:

  • Proporciona una mejor integración con NT: hay menos 'arreglos' en las opciones del smb.conf referidas a los dominios que con la mayoría de las posibilidades de Windows. Esto va a permitir utilizar de forma extensiva las opciones de administración de NT, como el Administrador de Usuarios para Dominios que permitirá a los usuarios individuales de los PC tratar los servidores Samba como si fueran grandes máquinas NT.
  • Con la mejor integración vienen depuraciones del protocolo y del código, lo que permite al equipo Samba seguir con la evolución de la implementación NT. NT Service Pack 4 soluciona determinados problemas en el protocolo, y la mejor integración de Samba hace más fácil identificar y adaptarse a estos cambios.
  • Hay una menor carga sobre el PDC porque hay una conexión permanente menos entre el y el servidor Samba. Independientemente del protocolo usado por la opción security=server, el servidor Samba puede hacer un Procedimiento de Llamada Remota (RPC) solo cuando necesita información de autenticación. No necesita mantener una conexión permanente para esto.
  • Finalmente, el procedimiento de autenticación de dominio en NT devuelve todos los atributos del usuario, no solo si ha tenido o no éxito. Los atributos incluyen una lista larga y orientada a la red de los identificadores Unix, grupos NT, y mucha más información. Esto incluye:

    • Nombre de usuario
    • Nombre completo
    • Descripción
    • Identificador de seguridad (una extensión del identificador Unix orientada al dominio)
    • Pertenencia a grupos NT
    • Horas de entrada, y en su caso si hay que forzar al usuario a salir inmediatamente.
    • Puestos de red que el usuario esta autorizado a utilizar
    • Fecha de expiración de la cuenta
    • Directorio personal
    • Secuencia de entrada
    • Perfil
    • Tipo de cuenta

Los desarrolladores de Samba utilizaron seguridad a nivel de dominio en Samba versión 2.0.4 para permitirle añadir y eliminar usuarios del dominio de forma semiautomática. Además, añadió soporte para otras prestaciones al estilo NT, como soportar listas de control de acceso y cambiar los permisos de los ficheros desde el cliente.

La ventaja de esta aproximación es una menor administración; hay una sola base de datos de autenticación que mantener sincronizada. La única administración local en el servidor Samba será la creación de directorios para los usuarios y el mantenimiento del fichero /etc/passwd para tener sus identificadores y grupos al día.

Añadiendo un servidor Samba a un dominio Windows

Si ya tienes un dominio NT, puedes fácilmente añadir un servidor Samba a este. Primero, necesitaras parar los demonios Samba. Entonces, añades el servidor Samba al dominio NT en el PDC usando el 'Administrador Windows NT Server para Dominios'. Cuando te pregunte por el tipo de servidor, eliges 'Windows NT Workstation o Server', y le das el nombre NetBIOS del servidor Samba. Esto crea la cuenta de la maquina en el servidor NT. Después, generas una contraseña tipo Microsoft usando la utilidad smbpasswd, esto se explica en la siguiente sección. Por ejemplo, si nuestro dominio es SIMPLE y el PDC de Windows NT es beowulf, podemos usar el siguiente comando en el servidor Samba:

smbpasswd -j SIMPLE -r beowulf
 

Finalmente, añade las siguientes opciones a la sección [global] del fichero smb.conf y reinicia los demonios Samba:

[global]
   security = domain
   domain logons = yes
   workgroup = SIMPLE
   password server = beowulf
 

Samba ahora estará configurado para usar la seguridad a nivel de dominio. La opción domain logins se explica mas adelante en este capitulo.

[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.