Este documento trata sobre la gestión de usuarios en sistemas Linux. Explica conceptos clave como cuentas de usuario, grupos, PAM y LDAP. PAM permite establecer políticas de autenticación de forma flexible mediante módulos. LDAP proporciona un directorio ligero para almacenar información de usuarios de forma jerárquica. El usuario root tiene privilegios totales sobre el sistema aunque existen buenas prácticas para limitar su uso directo.
3. Conceptos
PAM
Ser root
ldap
Autenticación
Integración
Contenido
Gestión de Usuarios
Cuenta de usuario: Información que define, para el sistema, al
usuario. 3 tipos de usuario: root, especiales y normales.
Grupos: Conjunto de usuarios que comparten permisos o
derechos.
Acciones sobre usuarios: Añadir, eliminar, activar, desactivar y
modificar.
Acciones sobre grupos: Crear, eliminar, añadir y eliminar
usuarios.
Buenas prácticas para contraseñas seguras a los usuarios
Contraseñas compuestas por mínimo de 8 caracteres ASCII que
incluyan: signos de puntuación y caracteres alfanuméricos. No es
bueno que sean palabras que formen parte del diccionario.
No repetir contraseñas para un mismo usuario a lo largo de su vida
Vigencia mínima y máxima
Directiva de bloqueo de contraseña ante un umbral de intentos
General
Conceptos
4. Conceptos
PAM
Ser root
ldap
Autenticación
Integración
Contenido
servicios de directorio
Usuarios normales:
Información relevante sobre los
usuarios: shell de trabajo, directorio
home, UID y GID.
Suele almacenarse en /etc/passwd
nombre:clave:UID:GID:info:home_dir:shell
/etc/shadow
Sólo visible por root
Guarda contraseñas de usuario
nombre:clave:dias_cambio:min_cambio:max_cambio:dias_aviso:dias_inhabilitar:tiempo_inhabilitar:reser.
General
Conceptos
5. Conceptos
PAM
Ser root
ldap
Autenticación
Integración
Contenido
Gestión de usuarios
Conjunto de librerías que permiten establecer una
política, método y funcionamiento de la
autentificación (del sistema operativo y de
aplicaciones) sin necesidad de recompilar los
programas de autentificación
Se definen 4 tipos de módulos
Auth: autenticación del usuario mediante un método y le
proporciona privilegios.
Account: comprueba que el usuario tiene permisos para
usar el servicio o si éste está permitido (por control
horario, pe.).
Passwd: para actualizar el mecanismo de autenticación.
Session: para indicar acciones que se deben ejecutar
antes o después del acceso del usuario.
PAM
PAM
7. Conceptos
PAM
Ser root
ldap
Autenticación
Integración
Contenido
Gestión de usuarios
Los módulos pueden apilarse.
Servicio: nombre del programa utilizado para
acceder al servicio
Configuración
/etc/pam.d
Cada servicio tiene su propio fichero en
/etc/pam.d
La sintaxis es:
• Tipo de módulo flag de control path del módulo argumentos
PAM
PAM
8. Conceptos
PAM
Ser root
ldap
Autenticación
Integración
Contenido
Gestión de usuarios
Flag de control: Indica cómo se comporta PAM ante un fallo en las condiciones
del módulo. El mecanismo simple:
• Required: éxito obligatorio, aunque se consultarán otros módulos si hay fallo.
• Requisite: se devuelve fallo sin consultar otros módulos.
• Suffcient: éxito es suficiente para el éxito de la autentificación, sino existe un fallo anterior.
• Optional: módulos opcionales.
Ejemplo ssh:
• auth sufficient pam_pwdb.so debug likeauth nullok shadow
• auth sufficient pam_ldap.so use_first_pass
• auth required pam_deny.so
• auth requisite pam_securetty.so
• password sufficient pam_pwdb.so use_authtok nullok md5 shadow
• password sufficient pam_ldap.so use_authtok
• account sufficient pam_pwdb.so
• account sufficient pam_ldap.so
• account required pam_deny.so
• account required pam_access.so
password sufficient pam_pwdb.so use_authtok nullok md5 shadow
• password sufficient pam_ldap.so use_authtok
• password required pam_deny.so
• session optional pam_mkhomedir.so skel=/etc/skel umask=0077
• session required pam_pwdb.so
session optional pam_ldap.so
PAM
PAM
10. Conceptos
PAM
Ser root
ldap
Autenticación
Integración
Contenido
Gestión de usuarios
Necesidad de control administrativo del sistema.
Modelo de propiedad de Unix: basados en permisos
que se cumplen salvo para root.
Propiedad de ficheros
• Se dispone de usuarios y grupos propietarios. El propietario de
un fichero tiene la facultad, que no comparte con nadie, de
modificar los permisos del fichero (salvo root) Para ello se
dispone, en todos los Unix, del comando chmod.
• El propietario de un fichero sólo puede ser un usuario, mientras
que muchos usuarios pueden ser propietarios de grupo de un
mismo fichero.
• Sólo root puede cambiar el propietario y grupo de un fichero.
Para ello dispone de los comandos chown y chgrp.
• La propiedad de un fichero se consulta con el comando ls y
algunas opciones, dependientes del SO:
– ls –l para sistemas ATT (Linux, Iris, Solaris)
– ls –lg para sistemas BSD
Ser root
Ser root
11. Conceptos
PAM
Ser root
ldap
Autenticación
Integración
Contenido
Gestión de usuarios
Propiedad de procesos
• UID real y efectivo
• GID real y efectivo.
Los número reales son la identidad verdadera y coinciden con el
UID del usuario que lanza el proceso. Los números reales se
usan para la contabilidad y los efectivos para proponer
determinados permisos de acceso.
Normalmente los números reales y efectivos son los mismos. (tipo
especial de permiso setuid o setgid)
• La mayoría de las versiones de Unix (y Solaris, Iris y Linux, la
tienen) tienen identificadores de sesión, de procesos de grupo y
de auditoría asociados a un terminal.
– Un identificador de sesión se asocia con los procesos conectados
a un terminal y se pueden generar que indican “sesión abierta”
– Un identificador de grupo designa a un grupo de procesos que
estarán en primer o segundo plano en los sistemas que permiten
control de flujo de procesos.
– Un identificador de auditoría indica un hilo de actividad que debe
usarse en el proceso de auditoría.
Ser root
Ser root
12. Conceptos
PAM
Ser root
ldap
Autenticación
Integración
Contenido
Gestión de usuarios
Root UID=0
Funciones
Puede ejecutar cualquier operación sobre fichero o proceso y
cualquier llamada al sistema.
Inicia y termina sesiones de usuarios
Registra información contable
Administra los dispositivos de E/S
Puede cambiar las credenciales de un proceso, su prioridad,
ejecución,...
… Controla todo el sistema operativo
Ser root
Ser root
13. Conceptos
PAM
Ser root
ldap
Autenticación
Integración
Contenido
Gestión de usuarios
Lo que NO puede hacer root:
Cambios en un sistema de archivos de sólo lectura
Desmontar un sistema de archivos con ficheros abiertos
Descifrar contraseñas del /etc/passwd
Parar un proceso que entre en modo de espera en el núcleo
Ser root
Ser root
Aunque …:
•Puede hacer cambios directamente sobre los dispositivos o
desmontar el F.S. y volver a montarlo en L/E.
•Averiguar los procesos que tienen ficheros abiertos y pararlos,
liberando el fichero
•Cambiar las contraseñas de todos los usuarios, además de
capturar el teclado
•Parar todo el sistema
14. Conceptos
PAM
Ser root
ldap
Autenticación
Integración
Contenido
Gestión de usuarios
Cómo llegar a ser root
Login
su (registro en /var/log/sulog) grupo wheel
sudo
# sudoers file.
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the man page for details on how to write a sudoers file.
#
# Host alias specification
# User alias specification
# Cmnd alias specification
# User privilege specification
root ALL=(ALL) ALL
www-data origin = NOPASSWD: /bin/mount, /bin/umount
#wwwadm2 origin = NOPASSWD: /usr/sbin/apache, /bin/mv,
/bin/ln, /bin/rm, /bin/kill, /usr/sbin/named
wwwadm4 origin = NOPASSWD: /bin/chmod, /usr/sbin/named
Ser root
Ser root
15. Conceptos
PAM
Ser root
ldap
Autenticación
Integración
Contenido
Gestión de usuarios
El uso de sudo tiene las siguientes ventajas:
Alta contabilidad
Se limita el conocimiento del passwd de root
Es más rápido que usar su
Los privilegios pueden ser revocados sin cambiar la contraseña de
root
Tenemos una lista de todos los usuarios con privilegios de root
Las restricciones de acceso son dependientes del host, un fichero
simple puede ser usado para el control de acceso a una entidad de
red
Los operadores pueden realizar una labor sin la limitación de los
privilegios de usuario.
Existen varias desventajas:
Una brecha en la seguridad de la cuenta de usuarios es equivalente
a una brecha en la de root.
Además, la entrada a comandos de sudo puede ser desconocida,
engañándole con ejecuciones del shell como si fuera un programa
permitido. Uso sin path absolutos.
Ser root
Ser root
17. Conceptos
PAM
Ser root
ldap
Autenticación
Integración
Contenido
lightweight directory access protocol
Definido por un conjunto de especificaciones (RFC´s)
Esp. Originales RFCs 2251-2256
Métodos de autorización RFC 2829
Extensión en la seguridad en la capa de transporte RFC 2830
Especificaciones técnicas RFC 3377
Nace como alternativa “ligera” a X.500
Sobre TCP/IP
Conjunto de operaciones reducidas
Servicio de directorio diferencias con DB y FS
Optimizado para lectura vs bloqueo y transacciones
Independencia del dispositivo de almacenamiento backend
Protocolo de acceso diferente a Servidor LDAP y Árbol LDAP
Protocolo cliente/servidor basado en mensajes
Comunicación asíncrona
definición
ldap
18. Conceptos
PAM
Ser root
ldap
Autenticación
Integración
Contenido
lightweight directory access protocol
Definido por un conjunto de especificaciones (RFC´s)
Esp. Originales RFCs 2251-2256
Métodos de autorización RFC 2829
Extensión en la seguridad en la capa de transporte RFC 2830
Especificaciones técnicas RFC 3377
Nace como alternativa “ligera” a X.500
Sobre TCP/IP
Conjunto de operaciones reducidas
Servicio de directorio diferencias con DB y FS
Optimizado para lectura vs bloqueo y transacciones
Independencia del dispositivo de almacenamiento backend
Protocolo de acceso diferente a Servidor LDAP y Árbol LDAP
Protocolo cliente/servidor basado en mensajes
Comunicación asíncrona
definición
Red de Comunicación
Aplicación (DAP)
Presentación
Sesión
Transporte
Red
Enlace
Física
Servidor X.500
Cliente LDAP
Medio Físico
Aplicación (LDAP)
TCP UDP
IP
ldap
19. Conceptos
PAM
Ser root
ldap
Autenticación
Integración
Contenido
lightweight directory access protocol
Definido por un conjunto de especificaciones (RFC´s)
Esp. Originales RFCs 2251-2256
Métodos de autorización RFC 2829
Extensión en la seguridad en la capa de transporte RFC 2830
Especificaciones técnicas RFC 3377
Nace como alternativa “ligera” a X.500
Sobre TCP/IP
Conjunto de operaciones reducidas
Servicio de directorio diferencias con DB y FS
Optimizado para lectura vs bloqueo y transacciones
Independencia del dispositivo de almacenamiento backend
Protocolo de acceso diferente a Servidor LDAP y Árbol LDAP
Protocolo cliente/servidor basado en mensajes
Comunicación asíncrona
definición
Cliente
LDAP
Servicio
LDAP
Petición 1
Petición 2
Petición 3
Respuesta 1
Respuesta 3
Respuesta 2
Datos
TCP/IP
Servidor LDAPCliente
ldap
20. Conceptos
PAM
Ser root
ldap
Autenticación
Integración
Contenido
lightweight directory access protocol
Representa los servicios que proporciona un Servidor LDAP
vistos por el cliente
Se pueden distinguir cuatro modelos:
Modelo de información
• Establece la estructura y tipos de datos (esquemas, entradas,
atributos)
• Directorio formado por entradas estructuradas en forma de árbol.
Cada entrada está definida por un conjunto de atributos (par
nombre y valor) que se define en el esquema
Modelo de asignación de nombres
• Define cómo referenciar de forma única las entradas y los datos
en el árbol de directorios RDN y DN
Modelo funcional
• El protocolo LDAP operaciones para acceder al árbol de
directorio: autenticación, solicitudes y actualizaciones.
Modelo de seguridad
• Para el cliente, cómo probar su identidad (autenticación)
• Para el servidor, cómo controlar el acceso (autorización)
modelos ldap
ldap
21. Conceptos
PAM
Ser root
ldap
Autenticación
Integración
Contenido
lightweight directory access protocol
Entrada
Unidad básica de LDAP equivalente a un nodo del árbol
Refleja conceptos del mundo real (usuarios, organizaciones, hosts...)
Definición relativa al nodo padre
Formada por pares atributo:valor
Atributos
Cada atributo posee unas reglas de sintaxis
Concepto similar a las variables de programación
Son multivaluados
Dos tipos:
Atributos atómicos (cn, dc, ou, sn)
Atributos que indican conjunto de atributos (ObjectClass)
Esquemas
Plantillas que definen atributos y configuraciones prototítipicas
(ObjectClass)
elementos del modelo de información
ldap
22. Conceptos
PAM
Ser root
ldap
Autenticación
Integración
Contenido
lightweight directory access protocol
Entrada
Refleja conceptos del mundo real (usuarios, organizaciones, hosts...)
Definición relativa al nodo padre
Formada por pares atributo:valor
Atributos
» Cada atributo posee unas reglas de sintaxis
Concepto similar a las variables de programación
Son multivaluados
Dos tipos:
Atributos atómicos (cn, dc, ou, sn)
Atributos que indican conjunto de atributos (ObjectClass)
• Esquemas
» Plantillas que definen atributos y configuraciones prototítipicas (ObjectClass)
elementos del modelo de información
ldap
sn:García Pérez
ou=alumnos ou=administrativos
cn:Alex García Pérez telephoneNumber:965903400
dc=dtic,
dc=ua,
dc=es
ou:profesores
#Ejemplo de archivo LDIF para la entrada de un usuario
dn: cn=Alex García Pérez, ou=profesores, dc=dtic,
dc=ua,dc=es
objectclass: top
objectclass: person
cn: Alex García Pérez
sn: García Pérez
telephoneNumber: 96 590 3400
23. Conceptos
PAM
Ser root
ldap
Autenticación
Integración
Contenido
lightweight directory access protocol
ObjectClass
Debe aparecer como
mínimo una vez en cada
entrada
Define los atributos
optativos y obligatorios
que tendrá dicha entrada
Se pueden conjugar varios en función de las
necesidades
Poseen un identificador único (OID)
elementos del modelo de información
ldap
sn:García Pérez
ou=alumnos ou=administrativos
cn:Alex García Pérez telephoneNumber:965903400
dc=dtic,
dc=ua,
dc=es
ou:profesores
#Ejemplo de archivo LDIF para la entrada de un usuario
dn: cn=Alex García Pérez, ou=profesores, dc=dtic, dc=ua,dc=es
objectclass: top
objectclass: person
cn: Alex García Pérez
sn: García Pérez
telephoneNumber: 96 590 3400
objectClass::person
cn:
sn:
userPassword:
telephoneNumber:
seeAlso:
description:
24. Conceptos
PAM
Ser root
ldap
Autenticación
Integración
Contenido
lightweight directory access protocol
Protocolo orientado a la conexión y basado
en intercambio de mensajes
Peligro en el trasiego de información
Todas las operaciones se controlan mediante
el nivel de autorización del usuario
autenticado
Autenticación mediante login y password
(encriptación: CRYPT, MD5, SHA, SSHA)
objectClass::person
seguridad
ldap
sn:García Pérez
ou=alumnos ou=administrativos
cn:Alex García Pérez telephoneNumber:965903400
dc=dtic,
dc=ua,
dc=es
ou:profesores
#Ejemplo de archivo LDIF para la entrada de un usuario
dn: cn=Alex García Pérez, ou=profesores, dc=dtic, dc=ua,dc=es
objectclass: top
objectclass: person
cn: Alex García Pérez
sn: García Pérez
telephoneNumber: 96 590 3400
objectClass::person
cn:
sn:
userPassword:
telephoneNumber:
seeAlso:
description:
userPassword: {MD5}Xr3j2zPw45eeQbdaaQxx
userPassword: {MD5}Xr3j2zPw45eeQbdaaQxx
25. Conceptos
PAM
Ser root
ldap
Autenticación
Integración
Contenido
lightweight directory access protocol
Anónima: dn vacío + password
Acceso a información pública
Simple: dn + password
La información viaja sin codificar (no recomendada)
Simple sobre SSL/TLS: Se negocia una capa de
transporte seguro
La información viaja de forma segura
Simple y Capa de Seguridad (SASL)
Módulo configurable que permite negociar previamente el
mecanismo de autenticación y la capa de transporte seguro
(kerberos, GSSAPI, S/Key, EXTERNAL)
mecanismos de autenticación
ldap
26. Conceptos
PAM
Ser root
ldap
Autenticación
Integración
Contenido
Gestión de usuarios
Clásica: base de datos compuesta por los
ficheros /etc/passwd, /etc/group y /etc/shadow
/etc/passwd
• Login:contraseña:UID:GID:GECOS:home:shell
/etc/shadow
• Login:contraseña:ult. Cambio:min días cambio:max días cambio:nº días aviso expiración:nº
días inactivo:fecha expiración:flags
/etc/group
• Nombre:contraseña:GID:lista usuarios miembro
Utilidades:
Adduser/useradd
Userdel
Groupadd
Groupdel
passwd
Autenticación en SSOO
Autenticación
27. Conceptos
PAM
Ser root
ldap
Autenticación
Integración
Contenido
Gestión de usuarios
LDAP: protocolo ligero del X500 que se estructura
en árbol con una base a partir de la cual se define
los objetos.
PAM + nsswitch (como todos)
Lógica necesaria:
PAM LDAP (libpam-ldap)
Nss_ldap (libnss-ldap)
/etc/nsswitch.conf
Passwd:files ldap
Group:files ldap
Shadow:files ldap
Autenticación en SSOO
Autenticación
31. Conceptos
PAM
Ser root
ldap
Autenticación
Integración
Contenido
Principales características de LDAP:
Autenticación
Capacidad de almacenamiento de datos
Carácter distribuido
Ideal como servidor de autenticación y autorización para
otras aplicaciones y mecanismos de Autenticación del tipo
AAA (Authentication, Authorization and Accounting).
Ejemplos de este tipo de aplicaciones son:
Sistemas Operativos: Linux (PAM), Windows (pgina),..
Correo electrónico
Kerberos
Radius
HTTP, FTP, SAMBA, …
integración
Integración
introducción
32. Conceptos
PAM
Ser root
ldap
Autenticación
Integración
Contenido
integración
Evitar el envío de contraseñas por la red
Cliente y Servidor comparten un secreto con el cual
encriptan la información (Password) para autenticarse
Utilizado en ISP y redes inalámbricas
Permite el acceso a recursos de otras redes
Atributos:Valores
Utiliza LDAP de dos formas
Para autenticar
Para autenticar y almacenar información de
autorización => Se mapean los atributos de Radius
con los de LDAP => Se encarga el administrador
radius
Integración
33. Conceptos
PAM
Ser root
ldap
Autenticación
Integración
Contenido
integración de LDAP
Una de las principales características de LDAP es la
autenticación que junto con la capacidad de almacenamiento de
datos y sus características distribuibles le hace ideal como
servidor de autenticación y autorización para otras aplicaciones
(correo, servidor de archivos...) y mecanismos de Autenticación
del tipo AAA (authentication,authorization and Accounting).
Ejemplos de estos mecanismos AAA son:
• Kerberos
• Radius
Integración
Lightweight Directory Access Protocol
Kerberos
JPEGJPEG
Navegador
Web
Servicio
Kerberos Servicio
LDAP
Servidor KDC
BD
TGT
JPEGJPEG
Servidor LDAP
Cliente
LDAP
Servicio
De Red
JPEGJPEGTicket
JPEGJPEGTicket
Servicio
Radius
Servicio
Radius
Cliente
LDAP
Datos de
autenticación
Respuesta de
aceptación +
datos de usuario
y servicio
Datos a autenticar
Solicitud de
autenticación
Datos de
autenticación
Aceptación +
Datos de acceso
Cliente
Servicio
LDAP
Servicio
De Red
Acceso al
recurso
Punto de
acceso / NAS
Servidor Radius Servidor LDAP ServidorRadius
Petición de
acceso