SlideShare a Scribd company logo
1 of 29
Download to read offline
Francisco José Ribadas Pena
ribadas@uvigo.es
Departamento de Informática   Gestión de usuarios y autenticación en
Universidade de Vigo                                     GNU/Linux.
                                       Módulos de autenticación PAM
                                         Ferramentas de seguridade en GNU/Linux
                                                      Curso de Extensión Universitaria




                                                      21 de xuño de 2010
Indice

Autenticación
Autenticación de usuarios en GNU/Linux
Pluggable Authentication Modules (PAM)
Funcionamiento de PAM
Configuración de PAM
Módulos PAM
Ejemplos de uso




                                                  2
Autenticación

Definición:
  Mecanismo/proceso que permita identificar a las entidades
  (elementos activos del sistema [usuarios]) que intentan acceder
  a los objetos (elementos pasivos [ficheros, equipos, datos].
  Objetivo:
     Autenticar = asegurar que una entidad[usuario] es quien dice ser
Mecanismos generales de autenticación:
  en base a algo que sabe el usuario
     Ej.: claves, passwords y similares
  en base a algo que posee el usuario
     Ej.: DNIe, tarjetas acceso, tarjetas inteligentes, ...
  en base a alguna característica física del usuario
     Ej.: medidas biométricas (huellas, iris, voz, etc)


                                                                        3
Autenticación de usuarios en GNU/Linux (I)

Esquema clásico
  Cada usuario se identifica por un UID (user id) al que se
  asocia un nombre (login) y una clave secreta (password)
  Asociaciones almacenadas en el fichero /etc/passwd
  Una línea por usuario con campos separados por “:”
   login:pass word:uid:gid:nombre:home:shell
  Claves almacenadas están cifradas con CRYPT
       A partir de: 8 bytes password claro + salt aletorio
       Varios cifrados DES en cascada [cifrado en único sentido]
       /etc/passwd almacena salt en claro + resultado CRYPT
  Proceso autenticación (login)
       Password introducido + salt se procesa con CRYPT
       Resultado obtenido es comparado con almacenado
            si coinciden -> acceso permitido
  Fichero /etc/passwd debe ser accesible en lectura para todas
  las aplicaciones que lo usen en la autenticación             4
Autenticación de usuarios en GNU/Linux (II)

Problemas esquema clásico
  Info. de usuarios en /etc/passwd (incluidos passwords
  cifrados) debe ser accesibles a todo el mundo
       => son posibles ataques de diccionario (fuerza bruta)
     Solución: shadow password
       Almacena la versión cifrada del password en el archivo
       /etc/shadow que sólo puede leer el administrador (root)
       Añade info. adicional: envejecimiento, caducidad, etc
  Passwords con CRYPT limitados a 8 caracteres
     Solución: usar hash MD5
       Hash criptográfica, genera “resúmenes únicos” de 128 bits para
       tamaños de entrada variables (ilimitado en teoría).
  Problema: estos cambios requerirían “modificar” y
  recompilar las aplicaciones que hacían uso del esquema de
  autenticación clásico.
                                                                        5
Pluggable Authentication Modules (I)

Propuesto por SUN en 1995 (RFC 86.9)
Proporciona un interfaz modular entre las aplicaciones de
usuario y los métodos de autenticación
  conjunto de librerías de carga dinámica
  independiza aplicaciones del método de autenticación sin
  necesidad de recompilar
  permite integrar aplicaciones Unix clásicas con nuevos
  esquemas de autenticación (biometría, tarjetas inteligentes,...)
Objetivos de diseño
  Dar mayor libertad al administrador para elegir el mecanismo de
  autenticación
  Configuración de la autenticación a nivel de aplicación
  Múltiples mecanismos de autentic. para cada aplicación
Premisa: las aplicaciones/servicios no deben cambiar cuando
se cambia el mecanismo de autenticación
                                                                     6
Pluggable Authentication Modules (II)

Idea base:
  Separar las acciones típicas de autenticación
  Delegarlas en el susbsistema PAM (libpam)
  Descomponer tareas de autenticación en “5 pasos”
     pam_autenticate()
     pam_acct_mgmt()
     pam_secrted()
     pam_open_ses sion()
     pam_close_sess ion()
     pam_chauthtok()
  Componentes software (librerías) intercambiables se
  encargan de implementar esas tareas
  Controlado por ficheros de configuración



                                                        7
Pluggable Authentication Modules (III)

Beneficios del uso de PAM:
 Políticas de configuración flexibles
     Autenticación para cada aplicación/servicio
     Posibilidad de definir un mecanismo de autenticación por
     defecto
     Posibilidad de requerir múltiples autorizaciones
  Facilidad de uso para el usuario final
     Evitar repetición de passwords en diferentes servicios
     Solicitar múltiples passwords sin lanzar múltiples comandos
     Posibilidad de parametrizar (pasar argumentos) a los
     componentes des sistema de autenticación
  Posibilidad de implementar políticas específicas de una
  máquina/sistema sin tener que cambiar los servicios


                                                                   8
Funcionamiento de PAM (I)

Idea de funcionamiento
  El API PAM descompone las tareas de autenticación en
  cuatro grupos independientes
    autenticación/obtención de credenciales
    gestión/verificación de cuentas de usuario
    gestión de sesiones
    actualización info. de autenticación (passwords)
  Para cada servicio/aplicación que haga uso de PAM se
  deberá configurar el modo en que funcionará cada etapa
  del proceso de autenticación
    especificando el módulo encargado de gestionarlo
  El servicio/aplicación concreta es ajeno a esos “pasos
  intermedios”
    simplemente recibe una respuesta final afirmativa o positiva
    (autoriza/desautoriza al usuario)
                                                                   9
Funcionamiento de PAM (II)

Arquitectura de PAM
  Componentes: aplicaciones + módulos autenticación




                                                        10
Funcionamiento de PAM (III)


Tipos de módulos
    de autenticación (auth): autentican al usuario mediante un
    determinado método (solicitud de clave, tarjeta aceso, control
    biométrico,...) y le asignan una serie de
    credenciales/privilegios
       invocados cuando la aplicación llama a la función
       pam_authenticate() ó pam_secretd()

    de verificación de cuentas (account): realizan
    comprobaciones relativas al servicio concreto
       una vez establecido que el usuario es quien dice ser ...
           ¿usuario tiene permiso para usar el servicio?
           ¿ha expirado su clave?
           ¿el servicio está permitido?
       invocados cuando la aplicación llama a la función
       pam_acct_mgmt()
                                                                     11
Funcionamiento de PAM (III)


Tipos de módulos
    de gestión de sesiones (session): determinan las acciones
    que se ejecutarán antes y/o después del acceso del usuario
      invocados cuando la aplicación llama a la función
      pam_open_session() ó pam_close_session()

    de actualización (password): empleandos para actualizar la
    información que usa el mecanismo de autenticación
      invocados cuando la aplicación llama a la función
      pam_chauthtok()




                                                                 12
Funcionamiento de PAM (IV)

Configuración
 Controlada por fichero/s: para cada servicio/aplicación se
 especifican los módulos encargados de cada tarea
 Esquema original: fichero / pam.conf
                            etc/
     Fichero único: asocia servicios con módulos
     Sintaxis: (1 o más líneas por servicio)
      servicio tipo control módulo argumentos

  Esquema actual: directorio / pam.d/
                              etc/   *
     Un fichero para cada servicio
     Sintaxis:
      tipo control módulo argumentos




                                                              13
Configuración PAM (I)


Idea básica: pila de módulos
  lista de acciones a realizar antes de que usuario llegue a
  acceder al servicio/aplicación
  el orden es muy importante
Elementos de los ficheros / pam.d
                           etc/
  tipo: especifica el tipo de módulo (auth, account, password,
  session)
  control: especifica la acción que se toma en base al
  resultado (éxito/fracaso) del módulo correspondiente
  modulo: path del módulo
     path absoluto (empieza por /)
     path relativo (módulos contenidos en /lib/security)
  argumentos: parámetros concretos que se pasarán al
  módulo (específicos de cada módulo)

                                                                 14
Configuración PAM (II)

Acciones (campo “control”)
 Sintaxis simplificada (4 acciones posibles)
     requisite: debe verificarse
       si falla, se envía fallo inmediatamente a la aplicación
       no se ejecuta resto de módulos del mismo tipo en la lista
     required: debe verificarse
       si falla, se enviará fallo una vez completada la pila
       se ejecutan el resto de módulos
     sufficient: debe verificarse
       si se verifica, se enviará correcto inmediatamente, salvo que
       exista un fallo previo (required fallido)
            la ejecución correcta del módulo satisface los requisitos de
            autenticación
       si falla, se ignora el fallo
     optional: puede verificarse o no
       su resultado sólo es tenido en consideración si es el único
       módulo en la lista                                                  15
Configuración PAM (II)

Acciones (campo “control”)
 Sintaxis extendida (mayor control)
    Cada “acción” es un conjunto de pares valor+acción
  [valor=accion, valor=accion, ..., valor=accion]
        acciones a realizar en función del valor devuelto por el módulo
        llamado
    Valores de retorno:
  success             open_err         symbol_err   service_err       system_err
  buf_err             perm_denied      auth_err     cred_insufficient
  authinfo_unavail    user_unknown     maxtries     new_authtok_reqd
  acct_expired        session_err      cred_unavail cred_expired      cred_err
  no_module_data      conv_err         authtok_err authtok_recover_err
  authtok_lock_busy   authtok_disable_aging         try_again         ignore
  abort                authtok_expired module_unknown bad_item        default




                                                                                   16
Configuración PAM (III)

Aciones:
   nº entero K: ignorar siguientes K módulos del mismo tipo
   ignore: valor de retorno se omite
   ok: si es correcto, devolver correcto después de ejecutar el resto de
   módulos de ese tipo
   done: si es correcto, devolver correcto inmediatamente
   bad: si es fallo, devolver fallo después de ejecutar el resto de módulos de
   ese tipo
   die: si es fallo, devolver fallo inmediatamente
   reset: desecha el estado actual y comienza de nuevo en el siguiente
   módulo
Equivalencias
Simple       Extendida
requisite    [success=ok, new_authtok_reqd=ok, ignore=ignore, default=die]
required     [success=ok, new_authtok_reqd=ok, ignore=ignore, default=bad]
sufficient   [success=done, new_authtok_reqd=done, default=ignore]
optional     [success=ok, new_authtok_reqd=ok, default=ignore]
                                                                                 17
Módulos PAM (I)


Módulo pam_unix.s o
 Tipo: auth, account, password, session
 Implementa el mecanismo de autenticación por passwords
 clásico de UNIX
    Consulta /etc/password + /etc/shadow
 Argumentos propios:
    auth: debug, audit, user_first_pass, try_first_pass, nullok,
    nodelay, noreap
    account: debug, audit,
    password: debug, audit, nullook, not_set_pass, use_authtok,
    try_fisrt_pass, use_first_pass, md5, bigcrypt, shadow, nis,
    remember=n


                                                                   18
Módulos PAM (II)


Módulo pam_cracklib.s o
 Tipo: password
 Comprueba la fortaleza de las nuevas contraseñas
 introducidas.
 Usa diccionario para evitar contraseñas débiles
    /etc/lib/cracklib_dict
  Argumentos propios:
    password: debug, type=XXX, retry=n, difok=n, minlen=n,
    dcredit=n, ucredit=n, lcredit=n, ocredit=n, use_authtok
  Módulo similar: pam-passwdqc.so




                                                              19
Módulos PAM (III)

Módulo pam_env.s o
 Tipo: auth
 Permite asignar valores a variables de entorno

Módulo pam_group.s o
 Tipo: auth
 Establece el grupo del usuario que accede al sistema

Módulo pam_lastlog.s o
 Tipo: session
 Anota en el fichero /var/log/lastlog el acceso del usuario
 y le informa de su último acceso (siempre se satisface)


                                                              20
Módulos PAM (IV)

Módulo pam_limits .s o
 Tipo: session
 Permite establecer límites a los recursos del sistema
 disponibles para un usuario
 Configurado en /etc/security/limits.conf
Módulo pam_mkhomedir.s o
 Tipo: session
 Crea el directorio home del usuario si no existía
 Argumentos propios:
    skel: directorio home base a copiar (/etc/skel)
    umask: máscara de permisos
Módulo pam_acces s .s o
 Tipo: account
 Comprueba si el usuario puede acceder desde una posición
 remota (/etc/security/access)                           21
Módulos PAM (IV)


Módulo pam_chroot.s o
 Tipo: auth, account, session
 Convierte el directorio del usuario en el directorio raíz (/)
 [entorno chroot]
     Útil para limitar las acciones de los usuarios (no “ven” los
     directorios del sistema)
Módulo pam_nologin.s o
 Tipo: auth, account
 Si existe el fichero /etc/nologin sólo permite acceso al
 administrador (root)
Módulo pam_rootok.s o
 Tipo: auth
 Permite acceso al administrador (root) sin tener que
 introducir su contraseña (comando su)
                                                                    22
Módulos PAM (V)

Módulo pam_wheel.s o
 Tipo: auth, account
 Solo permite acceso como administrador (root) a los
 miembros de un grupo concreto

Módulo pam_deny.s o
 Tipo: auth, account, session, password
 Devuelve siempre fallo.
 Util para organizar pila de módulos (acción por defecto)

Módulo pam_permit.s o
 Tipo: auth, account, session, password
 Devuelve siempre correcto
 Util para organizar pila de módulos (acción por defecto)
                                                            23
Módulos PAM (VI)


Módulo pam_mys ql.s o
 Tipo: auth, account, session, password
 Soporta la autenticación contra los datos almacenados en
 una BD mysql
 Configuración en /etc/pam_mysql.conf

Módulo pam_ldap.s o
 Tipo: auth, account, session, password
 Soporta la autenticación contra los datos almacenados en
 un directorio LDAP
 Configuración en /etc/pam_ldap.conf



                                                            24
Ejemplos de uso (I)


Nota: Estructura / pam.d en Debian/Ubuntu
                  etc/
 Se definen pilas por defecto para auth, account,
 password, session que son incluidas en los ficheros
 PAM de cada uno de los servicios.
        common-account, common-auth,common-password, common-
        session
   Ejemplo: / pam.d/
             etc/   common-auth
# /etc/pam.d/common-auth - authentication settings common to all services
#
# This file is included from other service-specific PAM config files,
# and should contain a list of the authentication modules that define
# the central authentication scheme for use on the system
# (e.g., /etc/shadow, LDAP, Kerberos, etc.). The default is to use the
# traditional Unix authentication mechanisms.
#
auth required         pam_unix.so nullok_secure


                                                                                25
Ejemplos de uso (II)

   Ejemplo: / pam.d/
             etc/   login
# The PAM configuration file for the Shadow `login' service
auth      requisite pam_securetty.so
auth      requisite pam_nologin.so
session   required pam_env.so readenv=1
session   required pam_env.so readenv=1 envfile=/etc/default/locale


# Standard Un*x authentication.
@include common-auth
auth      optional pam_group.so
session   required pam_limits.so
session   optional pam_motd.so
session   optional pam_mail.so standard


# Standard Un*x account and session
@include common-account
@include common-session
@include common-password                                                             26
Ejemplos de uso (III)

    Ejemplo: / pam.d/ sh
              etc/   s
# PAM configuration for the Secure Shell service
auth      required    pam_env.so # [1]
auth      required    pam_env.so envfile=/etc/default/locale


# Standard Un*x authentication.
@include common-auth
account    required    pam_nologin.so


# Standard Un*x authorization.
@include common-account


# Standard Un*x session setup and teardown.
@include common-session
session    optional   pam_motd.so # [1]
session    optional   pam_mail.so standard noenv # [1]
session    required    pam_limits.so


# Standard Un*x password updating.
@include common-password                                                               27
NSS: Name Service Switch

Servicio complemento a PAM
Unifica la gestión de la traducción/mapeo entre IDs numéricos
(uid, gid, dir. ip) y nombres (login, grupo, nombre dominio)
Unifica/reemplaza parte de la información gestionada por los
ficheros de configuración típicos de Unix (/etc/passwd,
/etc/group, /etc/hosts, ...)
Configuración: /etc/nsswitch.conf
passwd:      files db ldap
group:       files db ldap
shadow:      file db ldap


hosts:        files dns
networks:    files


protocols:   db files
services:    db files
ethers:      db files

                                                            28
netgroup:    nis
Enlaces y referencias

SEGURIDAD EN UNIX Y REDES Versión 2.1.
  http://www.rediris.es/cert/doc/unixsec/
Linux PAM
  http://www.kernel.org/pub/linux/libs/pam/
The Linux-PAM System Administrators' Guide
  http://www.kernel.org/pub/linux/libs/pam/Linux-PAM-
  html/Linux-PAM_SAG.html
(Lista de módulos+parametros en Sección 6)
Sun PAM
  http://www.sun.com/software/solaris/pam/




                                                           29

More Related Content

What's hot

Qualcomm SnapDragon 800 Mobile Device
Qualcomm SnapDragon 800 Mobile DeviceQualcomm SnapDragon 800 Mobile Device
Qualcomm SnapDragon 800 Mobile DeviceJJ Wu
 
Modelo para Construcción de Soluciones
Modelo para Construcción de SolucionesModelo para Construcción de Soluciones
Modelo para Construcción de SolucionesMario Solarte
 
Glosario terminos de la bios
Glosario terminos de la biosGlosario terminos de la bios
Glosario terminos de la biosJefri Berrio
 
Comparative Study of RISC AND CISC Architectures
Comparative Study of RISC AND CISC ArchitecturesComparative Study of RISC AND CISC Architectures
Comparative Study of RISC AND CISC ArchitecturesEditor IJCATR
 
Bus Quick Path Interconnect [QPI]
Bus Quick Path Interconnect [QPI]Bus Quick Path Interconnect [QPI]
Bus Quick Path Interconnect [QPI]Cloud Rodriguez
 
Evolución de los procesadores
Evolución de los procesadoresEvolución de los procesadores
Evolución de los procesadoresAngela Caicedo
 
Vespri per l'eucaristia
Vespri per l'eucaristia Vespri per l'eucaristia
Vespri per l'eucaristia anna_tinti_1967
 
Línea de tiempo procesadores
 Línea de tiempo procesadores Línea de tiempo procesadores
Línea de tiempo procesadoresOscar Bravo
 

What's hot (11)

Requisitos funcionales para la creación de repositorios consorciados de datos...
Requisitos funcionales para la creación de repositorios consorciados de datos...Requisitos funcionales para la creación de repositorios consorciados de datos...
Requisitos funcionales para la creación de repositorios consorciados de datos...
 
Tarjetas de expansion
Tarjetas de expansionTarjetas de expansion
Tarjetas de expansion
 
Qualcomm SnapDragon 800 Mobile Device
Qualcomm SnapDragon 800 Mobile DeviceQualcomm SnapDragon 800 Mobile Device
Qualcomm SnapDragon 800 Mobile Device
 
Modelo para Construcción de Soluciones
Modelo para Construcción de SolucionesModelo para Construcción de Soluciones
Modelo para Construcción de Soluciones
 
Glosario terminos de la bios
Glosario terminos de la biosGlosario terminos de la bios
Glosario terminos de la bios
 
Comparative Study of RISC AND CISC Architectures
Comparative Study of RISC AND CISC ArchitecturesComparative Study of RISC AND CISC Architectures
Comparative Study of RISC AND CISC Architectures
 
Bus Quick Path Interconnect [QPI]
Bus Quick Path Interconnect [QPI]Bus Quick Path Interconnect [QPI]
Bus Quick Path Interconnect [QPI]
 
Evolución de los procesadores
Evolución de los procesadoresEvolución de los procesadores
Evolución de los procesadores
 
Vespri per l'eucaristia
Vespri per l'eucaristia Vespri per l'eucaristia
Vespri per l'eucaristia
 
Línea de tiempo procesadores
 Línea de tiempo procesadores Línea de tiempo procesadores
Línea de tiempo procesadores
 
BUS PCI
BUS PCIBUS PCI
BUS PCI
 

Similar to Gestión de usuarios en GNU/Linux. Módulos de autenticación PAM

Curso Avanzado Seguridad Acceso
Curso Avanzado Seguridad AccesoCurso Avanzado Seguridad Acceso
Curso Avanzado Seguridad AccesoAntonio Durán
 
Gestión de usuarios y autenticación en GNU/Linux
Gestión de usuarios y autenticación en GNU/LinuxGestión de usuarios y autenticación en GNU/Linux
Gestión de usuarios y autenticación en GNU/Linuxseguridadelinux
 
Fortificación de MS SharePon
Fortificación de MS SharePonFortificación de MS SharePon
Fortificación de MS SharePonChema Alonso
 
MAQUINAS VIRTUALES Y PROTOCOLO DE AUTENTICACION.pptx
MAQUINAS VIRTUALES Y PROTOCOLO DE AUTENTICACION.pptxMAQUINAS VIRTUALES Y PROTOCOLO DE AUTENTICACION.pptx
MAQUINAS VIRTUALES Y PROTOCOLO DE AUTENTICACION.pptxalexanderramirez620370
 
Seguridad y proteccion
Seguridad y proteccionSeguridad y proteccion
Seguridad y proteccionvagusska
 
Diferenciar las-funciones-del-sistema-operativo
Diferenciar las-funciones-del-sistema-operativoDiferenciar las-funciones-del-sistema-operativo
Diferenciar las-funciones-del-sistema-operativoValdivia0312
 
Los 7 pecados del Desarrollo Web
Los 7 pecados del Desarrollo WebLos 7 pecados del Desarrollo Web
Los 7 pecados del Desarrollo Webacksec
 
Auditoria de la seguridad logica
Auditoria de la seguridad logicaAuditoria de la seguridad logica
Auditoria de la seguridad logica1416nb
 
Cuaderno electronico
Cuaderno electronicoCuaderno electronico
Cuaderno electronicoEder Abundis
 
Cuaderno electronico
Cuaderno electronicoCuaderno electronico
Cuaderno electronicoEder Abundis
 
Diferenciar las funciones del sistema operativo...
Diferenciar las funciones del sistema operativo...Diferenciar las funciones del sistema operativo...
Diferenciar las funciones del sistema operativo...Frezon0312
 
Iv arquitectura del computador. ppt. (fase ii)
Iv arquitectura del computador. ppt. (fase ii)Iv arquitectura del computador. ppt. (fase ii)
Iv arquitectura del computador. ppt. (fase ii)diomarmedina2
 

Similar to Gestión de usuarios en GNU/Linux. Módulos de autenticación PAM (20)

Curso Avanzado Seguridad Acceso
Curso Avanzado Seguridad AccesoCurso Avanzado Seguridad Acceso
Curso Avanzado Seguridad Acceso
 
Gestión de usuarios y autenticación en GNU/Linux
Gestión de usuarios y autenticación en GNU/LinuxGestión de usuarios y autenticación en GNU/Linux
Gestión de usuarios y autenticación en GNU/Linux
 
Curso Redes Linex 3
Curso Redes Linex 3Curso Redes Linex 3
Curso Redes Linex 3
 
Curso Redes Linex 3
Curso Redes Linex 3Curso Redes Linex 3
Curso Redes Linex 3
 
Fortificación de MS SharePon
Fortificación de MS SharePonFortificación de MS SharePon
Fortificación de MS SharePon
 
MAQUINAS VIRTUALES Y PROTOCOLO DE AUTENTICACION.pptx
MAQUINAS VIRTUALES Y PROTOCOLO DE AUTENTICACION.pptxMAQUINAS VIRTUALES Y PROTOCOLO DE AUTENTICACION.pptx
MAQUINAS VIRTUALES Y PROTOCOLO DE AUTENTICACION.pptx
 
SimpleSAMLphp
SimpleSAMLphpSimpleSAMLphp
SimpleSAMLphp
 
Seguridad y proteccion
Seguridad y proteccionSeguridad y proteccion
Seguridad y proteccion
 
Portada
PortadaPortada
Portada
 
Diferenciar las-funciones-del-sistema-operativo
Diferenciar las-funciones-del-sistema-operativoDiferenciar las-funciones-del-sistema-operativo
Diferenciar las-funciones-del-sistema-operativo
 
Los 7 pecados del Desarrollo Web
Los 7 pecados del Desarrollo WebLos 7 pecados del Desarrollo Web
Los 7 pecados del Desarrollo Web
 
Estructura so
Estructura soEstructura so
Estructura so
 
Auditoria de la seguridad logica
Auditoria de la seguridad logicaAuditoria de la seguridad logica
Auditoria de la seguridad logica
 
Sistemas Distribuidos
Sistemas DistribuidosSistemas Distribuidos
Sistemas Distribuidos
 
Cuaderno electronico
Cuaderno electronicoCuaderno electronico
Cuaderno electronico
 
Auditing SharePoint 2010
Auditing SharePoint 2010Auditing SharePoint 2010
Auditing SharePoint 2010
 
Cuaderno electronico
Cuaderno electronicoCuaderno electronico
Cuaderno electronico
 
Diferenciar las funciones del sistema operativo...
Diferenciar las funciones del sistema operativo...Diferenciar las funciones del sistema operativo...
Diferenciar las funciones del sistema operativo...
 
Iv arquitectura del computador. ppt. (fase ii)
Iv arquitectura del computador. ppt. (fase ii)Iv arquitectura del computador. ppt. (fase ii)
Iv arquitectura del computador. ppt. (fase ii)
 
S.o
S.oS.o
S.o
 

More from seguridadelinux

Amenazas en redes GNU/Linux. Herramientas de seguridad para redes.
Amenazas en redes GNU/Linux. Herramientas de seguridad para redes.Amenazas en redes GNU/Linux. Herramientas de seguridad para redes.
Amenazas en redes GNU/Linux. Herramientas de seguridad para redes.seguridadelinux
 
Autenticación remota y servicios de directorio LDAP
Autenticación remota y servicios de directorio LDAPAutenticación remota y servicios de directorio LDAP
Autenticación remota y servicios de directorio LDAPseguridadelinux
 
Protección perimetral. Fundamentos de firewalls y redes privadas virtuales
Protección perimetral. Fundamentos de firewalls y redes privadas virtualesProtección perimetral. Fundamentos de firewalls y redes privadas virtuales
Protección perimetral. Fundamentos de firewalls y redes privadas virtualesseguridadelinux
 
Tests de intrusión. Análisis de seguridad en GNU/Linux
Tests de intrusión. Análisis de seguridad en GNU/LinuxTests de intrusión. Análisis de seguridad en GNU/Linux
Tests de intrusión. Análisis de seguridad en GNU/Linuxseguridadelinux
 
Herramientas criptográficas en GNU/Linux
Herramientas criptográficas en GNU/LinuxHerramientas criptográficas en GNU/Linux
Herramientas criptográficas en GNU/Linuxseguridadelinux
 
Autenticación remota y servicios de directorio. LDAP y Kerberos
Autenticación remota y servicios de directorio. LDAP y KerberosAutenticación remota y servicios de directorio. LDAP y Kerberos
Autenticación remota y servicios de directorio. LDAP y Kerberosseguridadelinux
 
Ferramentas criptográficas en GNU/linux. gnuPG e sistemas de arquivos cifrados
Ferramentas criptográficas en GNU/linux. gnuPG e sistemas de arquivos cifradosFerramentas criptográficas en GNU/linux. gnuPG e sistemas de arquivos cifrados
Ferramentas criptográficas en GNU/linux. gnuPG e sistemas de arquivos cifradosseguridadelinux
 
Introduccion a GNU/Linux. Uso de QEMU
Introduccion a GNU/Linux. Uso de QEMUIntroduccion a GNU/Linux. Uso de QEMU
Introduccion a GNU/Linux. Uso de QEMUseguridadelinux
 
Sistemas de detección de intrusiones. SNORT
Sistemas de detección de intrusiones. SNORTSistemas de detección de intrusiones. SNORT
Sistemas de detección de intrusiones. SNORTseguridadelinux
 
Herramientas de seguridad en redes. WIRESHARK. NMAP
Herramientas de seguridad en redes. WIRESHARK. NMAPHerramientas de seguridad en redes. WIRESHARK. NMAP
Herramientas de seguridad en redes. WIRESHARK. NMAPseguridadelinux
 
Fundamentos de administración de sistemas GNU/Linux
Fundamentos de administración de sistemas GNU/LinuxFundamentos de administración de sistemas GNU/Linux
Fundamentos de administración de sistemas GNU/Linuxseguridadelinux
 
Herramientas de detección de vulnerabilidades-NESSUS
Herramientas de detección de vulnerabilidades-NESSUSHerramientas de detección de vulnerabilidades-NESSUS
Herramientas de detección de vulnerabilidades-NESSUSseguridadelinux
 
Seguridad en servidores WEB. Modulo mod_security
Seguridad en servidores WEB. Modulo mod_securitySeguridad en servidores WEB. Modulo mod_security
Seguridad en servidores WEB. Modulo mod_securityseguridadelinux
 
Fundamentos de firewalls. Netfilter/iptables
Fundamentos de firewalls. Netfilter/iptablesFundamentos de firewalls. Netfilter/iptables
Fundamentos de firewalls. Netfilter/iptablesseguridadelinux
 
Topologías avanzadas de firewalls
Topologías avanzadas de firewallsTopologías avanzadas de firewalls
Topologías avanzadas de firewallsseguridadelinux
 

More from seguridadelinux (15)

Amenazas en redes GNU/Linux. Herramientas de seguridad para redes.
Amenazas en redes GNU/Linux. Herramientas de seguridad para redes.Amenazas en redes GNU/Linux. Herramientas de seguridad para redes.
Amenazas en redes GNU/Linux. Herramientas de seguridad para redes.
 
Autenticación remota y servicios de directorio LDAP
Autenticación remota y servicios de directorio LDAPAutenticación remota y servicios de directorio LDAP
Autenticación remota y servicios de directorio LDAP
 
Protección perimetral. Fundamentos de firewalls y redes privadas virtuales
Protección perimetral. Fundamentos de firewalls y redes privadas virtualesProtección perimetral. Fundamentos de firewalls y redes privadas virtuales
Protección perimetral. Fundamentos de firewalls y redes privadas virtuales
 
Tests de intrusión. Análisis de seguridad en GNU/Linux
Tests de intrusión. Análisis de seguridad en GNU/LinuxTests de intrusión. Análisis de seguridad en GNU/Linux
Tests de intrusión. Análisis de seguridad en GNU/Linux
 
Herramientas criptográficas en GNU/Linux
Herramientas criptográficas en GNU/LinuxHerramientas criptográficas en GNU/Linux
Herramientas criptográficas en GNU/Linux
 
Autenticación remota y servicios de directorio. LDAP y Kerberos
Autenticación remota y servicios de directorio. LDAP y KerberosAutenticación remota y servicios de directorio. LDAP y Kerberos
Autenticación remota y servicios de directorio. LDAP y Kerberos
 
Ferramentas criptográficas en GNU/linux. gnuPG e sistemas de arquivos cifrados
Ferramentas criptográficas en GNU/linux. gnuPG e sistemas de arquivos cifradosFerramentas criptográficas en GNU/linux. gnuPG e sistemas de arquivos cifrados
Ferramentas criptográficas en GNU/linux. gnuPG e sistemas de arquivos cifrados
 
Introduccion a GNU/Linux. Uso de QEMU
Introduccion a GNU/Linux. Uso de QEMUIntroduccion a GNU/Linux. Uso de QEMU
Introduccion a GNU/Linux. Uso de QEMU
 
Sistemas de detección de intrusiones. SNORT
Sistemas de detección de intrusiones. SNORTSistemas de detección de intrusiones. SNORT
Sistemas de detección de intrusiones. SNORT
 
Herramientas de seguridad en redes. WIRESHARK. NMAP
Herramientas de seguridad en redes. WIRESHARK. NMAPHerramientas de seguridad en redes. WIRESHARK. NMAP
Herramientas de seguridad en redes. WIRESHARK. NMAP
 
Fundamentos de administración de sistemas GNU/Linux
Fundamentos de administración de sistemas GNU/LinuxFundamentos de administración de sistemas GNU/Linux
Fundamentos de administración de sistemas GNU/Linux
 
Herramientas de detección de vulnerabilidades-NESSUS
Herramientas de detección de vulnerabilidades-NESSUSHerramientas de detección de vulnerabilidades-NESSUS
Herramientas de detección de vulnerabilidades-NESSUS
 
Seguridad en servidores WEB. Modulo mod_security
Seguridad en servidores WEB. Modulo mod_securitySeguridad en servidores WEB. Modulo mod_security
Seguridad en servidores WEB. Modulo mod_security
 
Fundamentos de firewalls. Netfilter/iptables
Fundamentos de firewalls. Netfilter/iptablesFundamentos de firewalls. Netfilter/iptables
Fundamentos de firewalls. Netfilter/iptables
 
Topologías avanzadas de firewalls
Topologías avanzadas de firewallsTopologías avanzadas de firewalls
Topologías avanzadas de firewalls
 

Recently uploaded

05 Fenomenos fisicos y quimicos de la materia.pdf
05 Fenomenos fisicos y quimicos de la materia.pdf05 Fenomenos fisicos y quimicos de la materia.pdf
05 Fenomenos fisicos y quimicos de la materia.pdfRAMON EUSTAQUIO CARO BAYONA
 
Técnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesTécnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesRaquel Martín Contreras
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...fcastellanos3
 
4º SOY LECTOR PART2- MD EDUCATIVO.p df PARTE
4º SOY LECTOR PART2- MD  EDUCATIVO.p df PARTE4º SOY LECTOR PART2- MD  EDUCATIVO.p df PARTE
4º SOY LECTOR PART2- MD EDUCATIVO.p df PARTESaraNolasco4
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docxAgustinaNuez21
 
MODELO DE INFORME DE INDAGACION CIENTIFICA .docx
MODELO DE INFORME DE INDAGACION CIENTIFICA .docxMODELO DE INFORME DE INDAGACION CIENTIFICA .docx
MODELO DE INFORME DE INDAGACION CIENTIFICA .docxRAMON EUSTAQUIO CARO BAYONA
 
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptxMonitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptxJUANCARLOSAPARCANARE
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Angélica Soledad Vega Ramírez
 
sesión de aprendizaje 4 E1 Exposición oral.pdf
sesión de aprendizaje 4 E1 Exposición oral.pdfsesión de aprendizaje 4 E1 Exposición oral.pdf
sesión de aprendizaje 4 E1 Exposición oral.pdfpatriciavsquezbecerr
 
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdfFichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdfssuser50d1252
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdfOswaldoGonzalezCruz
 
PROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docxPROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docxEribertoPerezRamirez
 
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsxJuanpm27
 
DETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIORDETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIORGonella
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...YobanaZevallosSantil1
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfAlfredoRamirez953210
 

Recently uploaded (20)

05 Fenomenos fisicos y quimicos de la materia.pdf
05 Fenomenos fisicos y quimicos de la materia.pdf05 Fenomenos fisicos y quimicos de la materia.pdf
05 Fenomenos fisicos y quimicos de la materia.pdf
 
Técnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesTécnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materiales
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
 
4º SOY LECTOR PART2- MD EDUCATIVO.p df PARTE
4º SOY LECTOR PART2- MD  EDUCATIVO.p df PARTE4º SOY LECTOR PART2- MD  EDUCATIVO.p df PARTE
4º SOY LECTOR PART2- MD EDUCATIVO.p df PARTE
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docx
 
MODELO DE INFORME DE INDAGACION CIENTIFICA .docx
MODELO DE INFORME DE INDAGACION CIENTIFICA .docxMODELO DE INFORME DE INDAGACION CIENTIFICA .docx
MODELO DE INFORME DE INDAGACION CIENTIFICA .docx
 
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptxMonitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...
 
sesión de aprendizaje 4 E1 Exposición oral.pdf
sesión de aprendizaje 4 E1 Exposición oral.pdfsesión de aprendizaje 4 E1 Exposición oral.pdf
sesión de aprendizaje 4 E1 Exposición oral.pdf
 
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdfFichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdf
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
 
PROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docxPROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docx
 
VISITA À PROTEÇÃO CIVIL _
VISITA À PROTEÇÃO CIVIL                  _VISITA À PROTEÇÃO CIVIL                  _
VISITA À PROTEÇÃO CIVIL _
 
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
 
La luz brilla en la oscuridad. Necesitamos luz
La luz brilla en la oscuridad. Necesitamos luzLa luz brilla en la oscuridad. Necesitamos luz
La luz brilla en la oscuridad. Necesitamos luz
 
DETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIORDETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIOR
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
 
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdfTema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
 
Earth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversaryEarth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversary
 

Gestión de usuarios en GNU/Linux. Módulos de autenticación PAM

  • 1. Francisco José Ribadas Pena ribadas@uvigo.es Departamento de Informática Gestión de usuarios y autenticación en Universidade de Vigo GNU/Linux. Módulos de autenticación PAM Ferramentas de seguridade en GNU/Linux Curso de Extensión Universitaria 21 de xuño de 2010
  • 2. Indice Autenticación Autenticación de usuarios en GNU/Linux Pluggable Authentication Modules (PAM) Funcionamiento de PAM Configuración de PAM Módulos PAM Ejemplos de uso 2
  • 3. Autenticación Definición: Mecanismo/proceso que permita identificar a las entidades (elementos activos del sistema [usuarios]) que intentan acceder a los objetos (elementos pasivos [ficheros, equipos, datos]. Objetivo: Autenticar = asegurar que una entidad[usuario] es quien dice ser Mecanismos generales de autenticación: en base a algo que sabe el usuario Ej.: claves, passwords y similares en base a algo que posee el usuario Ej.: DNIe, tarjetas acceso, tarjetas inteligentes, ... en base a alguna característica física del usuario Ej.: medidas biométricas (huellas, iris, voz, etc) 3
  • 4. Autenticación de usuarios en GNU/Linux (I) Esquema clásico Cada usuario se identifica por un UID (user id) al que se asocia un nombre (login) y una clave secreta (password) Asociaciones almacenadas en el fichero /etc/passwd Una línea por usuario con campos separados por “:” login:pass word:uid:gid:nombre:home:shell Claves almacenadas están cifradas con CRYPT A partir de: 8 bytes password claro + salt aletorio Varios cifrados DES en cascada [cifrado en único sentido] /etc/passwd almacena salt en claro + resultado CRYPT Proceso autenticación (login) Password introducido + salt se procesa con CRYPT Resultado obtenido es comparado con almacenado si coinciden -> acceso permitido Fichero /etc/passwd debe ser accesible en lectura para todas las aplicaciones que lo usen en la autenticación 4
  • 5. Autenticación de usuarios en GNU/Linux (II) Problemas esquema clásico Info. de usuarios en /etc/passwd (incluidos passwords cifrados) debe ser accesibles a todo el mundo => son posibles ataques de diccionario (fuerza bruta) Solución: shadow password Almacena la versión cifrada del password en el archivo /etc/shadow que sólo puede leer el administrador (root) Añade info. adicional: envejecimiento, caducidad, etc Passwords con CRYPT limitados a 8 caracteres Solución: usar hash MD5 Hash criptográfica, genera “resúmenes únicos” de 128 bits para tamaños de entrada variables (ilimitado en teoría). Problema: estos cambios requerirían “modificar” y recompilar las aplicaciones que hacían uso del esquema de autenticación clásico. 5
  • 6. Pluggable Authentication Modules (I) Propuesto por SUN en 1995 (RFC 86.9) Proporciona un interfaz modular entre las aplicaciones de usuario y los métodos de autenticación conjunto de librerías de carga dinámica independiza aplicaciones del método de autenticación sin necesidad de recompilar permite integrar aplicaciones Unix clásicas con nuevos esquemas de autenticación (biometría, tarjetas inteligentes,...) Objetivos de diseño Dar mayor libertad al administrador para elegir el mecanismo de autenticación Configuración de la autenticación a nivel de aplicación Múltiples mecanismos de autentic. para cada aplicación Premisa: las aplicaciones/servicios no deben cambiar cuando se cambia el mecanismo de autenticación 6
  • 7. Pluggable Authentication Modules (II) Idea base: Separar las acciones típicas de autenticación Delegarlas en el susbsistema PAM (libpam) Descomponer tareas de autenticación en “5 pasos” pam_autenticate() pam_acct_mgmt() pam_secrted() pam_open_ses sion() pam_close_sess ion() pam_chauthtok() Componentes software (librerías) intercambiables se encargan de implementar esas tareas Controlado por ficheros de configuración 7
  • 8. Pluggable Authentication Modules (III) Beneficios del uso de PAM: Políticas de configuración flexibles Autenticación para cada aplicación/servicio Posibilidad de definir un mecanismo de autenticación por defecto Posibilidad de requerir múltiples autorizaciones Facilidad de uso para el usuario final Evitar repetición de passwords en diferentes servicios Solicitar múltiples passwords sin lanzar múltiples comandos Posibilidad de parametrizar (pasar argumentos) a los componentes des sistema de autenticación Posibilidad de implementar políticas específicas de una máquina/sistema sin tener que cambiar los servicios 8
  • 9. Funcionamiento de PAM (I) Idea de funcionamiento El API PAM descompone las tareas de autenticación en cuatro grupos independientes autenticación/obtención de credenciales gestión/verificación de cuentas de usuario gestión de sesiones actualización info. de autenticación (passwords) Para cada servicio/aplicación que haga uso de PAM se deberá configurar el modo en que funcionará cada etapa del proceso de autenticación especificando el módulo encargado de gestionarlo El servicio/aplicación concreta es ajeno a esos “pasos intermedios” simplemente recibe una respuesta final afirmativa o positiva (autoriza/desautoriza al usuario) 9
  • 10. Funcionamiento de PAM (II) Arquitectura de PAM Componentes: aplicaciones + módulos autenticación 10
  • 11. Funcionamiento de PAM (III) Tipos de módulos de autenticación (auth): autentican al usuario mediante un determinado método (solicitud de clave, tarjeta aceso, control biométrico,...) y le asignan una serie de credenciales/privilegios invocados cuando la aplicación llama a la función pam_authenticate() ó pam_secretd() de verificación de cuentas (account): realizan comprobaciones relativas al servicio concreto una vez establecido que el usuario es quien dice ser ... ¿usuario tiene permiso para usar el servicio? ¿ha expirado su clave? ¿el servicio está permitido? invocados cuando la aplicación llama a la función pam_acct_mgmt() 11
  • 12. Funcionamiento de PAM (III) Tipos de módulos de gestión de sesiones (session): determinan las acciones que se ejecutarán antes y/o después del acceso del usuario invocados cuando la aplicación llama a la función pam_open_session() ó pam_close_session() de actualización (password): empleandos para actualizar la información que usa el mecanismo de autenticación invocados cuando la aplicación llama a la función pam_chauthtok() 12
  • 13. Funcionamiento de PAM (IV) Configuración Controlada por fichero/s: para cada servicio/aplicación se especifican los módulos encargados de cada tarea Esquema original: fichero / pam.conf etc/ Fichero único: asocia servicios con módulos Sintaxis: (1 o más líneas por servicio) servicio tipo control módulo argumentos Esquema actual: directorio / pam.d/ etc/ * Un fichero para cada servicio Sintaxis: tipo control módulo argumentos 13
  • 14. Configuración PAM (I) Idea básica: pila de módulos lista de acciones a realizar antes de que usuario llegue a acceder al servicio/aplicación el orden es muy importante Elementos de los ficheros / pam.d etc/ tipo: especifica el tipo de módulo (auth, account, password, session) control: especifica la acción que se toma en base al resultado (éxito/fracaso) del módulo correspondiente modulo: path del módulo path absoluto (empieza por /) path relativo (módulos contenidos en /lib/security) argumentos: parámetros concretos que se pasarán al módulo (específicos de cada módulo) 14
  • 15. Configuración PAM (II) Acciones (campo “control”) Sintaxis simplificada (4 acciones posibles) requisite: debe verificarse si falla, se envía fallo inmediatamente a la aplicación no se ejecuta resto de módulos del mismo tipo en la lista required: debe verificarse si falla, se enviará fallo una vez completada la pila se ejecutan el resto de módulos sufficient: debe verificarse si se verifica, se enviará correcto inmediatamente, salvo que exista un fallo previo (required fallido) la ejecución correcta del módulo satisface los requisitos de autenticación si falla, se ignora el fallo optional: puede verificarse o no su resultado sólo es tenido en consideración si es el único módulo en la lista 15
  • 16. Configuración PAM (II) Acciones (campo “control”) Sintaxis extendida (mayor control) Cada “acción” es un conjunto de pares valor+acción [valor=accion, valor=accion, ..., valor=accion] acciones a realizar en función del valor devuelto por el módulo llamado Valores de retorno: success open_err symbol_err service_err system_err buf_err perm_denied auth_err cred_insufficient authinfo_unavail user_unknown maxtries new_authtok_reqd acct_expired session_err cred_unavail cred_expired cred_err no_module_data conv_err authtok_err authtok_recover_err authtok_lock_busy authtok_disable_aging try_again ignore abort authtok_expired module_unknown bad_item default 16
  • 17. Configuración PAM (III) Aciones: nº entero K: ignorar siguientes K módulos del mismo tipo ignore: valor de retorno se omite ok: si es correcto, devolver correcto después de ejecutar el resto de módulos de ese tipo done: si es correcto, devolver correcto inmediatamente bad: si es fallo, devolver fallo después de ejecutar el resto de módulos de ese tipo die: si es fallo, devolver fallo inmediatamente reset: desecha el estado actual y comienza de nuevo en el siguiente módulo Equivalencias Simple Extendida requisite [success=ok, new_authtok_reqd=ok, ignore=ignore, default=die] required [success=ok, new_authtok_reqd=ok, ignore=ignore, default=bad] sufficient [success=done, new_authtok_reqd=done, default=ignore] optional [success=ok, new_authtok_reqd=ok, default=ignore] 17
  • 18. Módulos PAM (I) Módulo pam_unix.s o Tipo: auth, account, password, session Implementa el mecanismo de autenticación por passwords clásico de UNIX Consulta /etc/password + /etc/shadow Argumentos propios: auth: debug, audit, user_first_pass, try_first_pass, nullok, nodelay, noreap account: debug, audit, password: debug, audit, nullook, not_set_pass, use_authtok, try_fisrt_pass, use_first_pass, md5, bigcrypt, shadow, nis, remember=n 18
  • 19. Módulos PAM (II) Módulo pam_cracklib.s o Tipo: password Comprueba la fortaleza de las nuevas contraseñas introducidas. Usa diccionario para evitar contraseñas débiles /etc/lib/cracklib_dict Argumentos propios: password: debug, type=XXX, retry=n, difok=n, minlen=n, dcredit=n, ucredit=n, lcredit=n, ocredit=n, use_authtok Módulo similar: pam-passwdqc.so 19
  • 20. Módulos PAM (III) Módulo pam_env.s o Tipo: auth Permite asignar valores a variables de entorno Módulo pam_group.s o Tipo: auth Establece el grupo del usuario que accede al sistema Módulo pam_lastlog.s o Tipo: session Anota en el fichero /var/log/lastlog el acceso del usuario y le informa de su último acceso (siempre se satisface) 20
  • 21. Módulos PAM (IV) Módulo pam_limits .s o Tipo: session Permite establecer límites a los recursos del sistema disponibles para un usuario Configurado en /etc/security/limits.conf Módulo pam_mkhomedir.s o Tipo: session Crea el directorio home del usuario si no existía Argumentos propios: skel: directorio home base a copiar (/etc/skel) umask: máscara de permisos Módulo pam_acces s .s o Tipo: account Comprueba si el usuario puede acceder desde una posición remota (/etc/security/access) 21
  • 22. Módulos PAM (IV) Módulo pam_chroot.s o Tipo: auth, account, session Convierte el directorio del usuario en el directorio raíz (/) [entorno chroot] Útil para limitar las acciones de los usuarios (no “ven” los directorios del sistema) Módulo pam_nologin.s o Tipo: auth, account Si existe el fichero /etc/nologin sólo permite acceso al administrador (root) Módulo pam_rootok.s o Tipo: auth Permite acceso al administrador (root) sin tener que introducir su contraseña (comando su) 22
  • 23. Módulos PAM (V) Módulo pam_wheel.s o Tipo: auth, account Solo permite acceso como administrador (root) a los miembros de un grupo concreto Módulo pam_deny.s o Tipo: auth, account, session, password Devuelve siempre fallo. Util para organizar pila de módulos (acción por defecto) Módulo pam_permit.s o Tipo: auth, account, session, password Devuelve siempre correcto Util para organizar pila de módulos (acción por defecto) 23
  • 24. Módulos PAM (VI) Módulo pam_mys ql.s o Tipo: auth, account, session, password Soporta la autenticación contra los datos almacenados en una BD mysql Configuración en /etc/pam_mysql.conf Módulo pam_ldap.s o Tipo: auth, account, session, password Soporta la autenticación contra los datos almacenados en un directorio LDAP Configuración en /etc/pam_ldap.conf 24
  • 25. Ejemplos de uso (I) Nota: Estructura / pam.d en Debian/Ubuntu etc/ Se definen pilas por defecto para auth, account, password, session que son incluidas en los ficheros PAM de cada uno de los servicios. common-account, common-auth,common-password, common- session Ejemplo: / pam.d/ etc/ common-auth # /etc/pam.d/common-auth - authentication settings common to all services # # This file is included from other service-specific PAM config files, # and should contain a list of the authentication modules that define # the central authentication scheme for use on the system # (e.g., /etc/shadow, LDAP, Kerberos, etc.). The default is to use the # traditional Unix authentication mechanisms. # auth required pam_unix.so nullok_secure 25
  • 26. Ejemplos de uso (II) Ejemplo: / pam.d/ etc/ login # The PAM configuration file for the Shadow `login' service auth requisite pam_securetty.so auth requisite pam_nologin.so session required pam_env.so readenv=1 session required pam_env.so readenv=1 envfile=/etc/default/locale # Standard Un*x authentication. @include common-auth auth optional pam_group.so session required pam_limits.so session optional pam_motd.so session optional pam_mail.so standard # Standard Un*x account and session @include common-account @include common-session @include common-password 26
  • 27. Ejemplos de uso (III) Ejemplo: / pam.d/ sh etc/ s # PAM configuration for the Secure Shell service auth required pam_env.so # [1] auth required pam_env.so envfile=/etc/default/locale # Standard Un*x authentication. @include common-auth account required pam_nologin.so # Standard Un*x authorization. @include common-account # Standard Un*x session setup and teardown. @include common-session session optional pam_motd.so # [1] session optional pam_mail.so standard noenv # [1] session required pam_limits.so # Standard Un*x password updating. @include common-password 27
  • 28. NSS: Name Service Switch Servicio complemento a PAM Unifica la gestión de la traducción/mapeo entre IDs numéricos (uid, gid, dir. ip) y nombres (login, grupo, nombre dominio) Unifica/reemplaza parte de la información gestionada por los ficheros de configuración típicos de Unix (/etc/passwd, /etc/group, /etc/hosts, ...) Configuración: /etc/nsswitch.conf passwd: files db ldap group: files db ldap shadow: file db ldap hosts: files dns networks: files protocols: db files services: db files ethers: db files 28 netgroup: nis
  • 29. Enlaces y referencias SEGURIDAD EN UNIX Y REDES Versión 2.1. http://www.rediris.es/cert/doc/unixsec/ Linux PAM http://www.kernel.org/pub/linux/libs/pam/ The Linux-PAM System Administrators' Guide http://www.kernel.org/pub/linux/libs/pam/Linux-PAM- html/Linux-PAM_SAG.html (Lista de módulos+parametros en Sección 6) Sun PAM http://www.sun.com/software/solaris/pam/ 29