Curso avanzado de administración de sistemas Linux

Rafael Varela Pet

Unidad de Sistemas

Área de Tecnologías de la Información y Comunicaciones

Universidad de Santiago de Compostela

Versión 0.1

Curso avanzado de administración de sistemas Linux

Autentificación

PAM

Pluggable Authentication Modules

Conjunto de funciones que permiten a las aplicaciones solicitar que un usuario se autentifique

“De serie” en cualquier distribución Linux moderna

PAM

4 tareas:

autentificación: se establece que el usuario es quién dice ser.

account: gestión de tareas no asociadas a la autentificación (restricciones de acceso en función de la hora, carga del sistema, etc.).

sesión: tareas a ejecutar antes o después de que se le conceda al usuario el acceso a un determinado servicio

password: gestión del cambio del testigo del usuario

PAM

Configuración en /etc/pam.conf o /etc/pam.d/

Preferiblemente en /etc/pam.d

Formato de los ficheros en pam.d:
tipo control camino_modulo param_modulo
...

Tipo:

auth	- session

account	- password

PAM

Control: determina como se va a reaccionar ante el fallo o éxito del módulo:

required; indica que es necesario que este módulo tenga éxito, pero el fallo no será visible por el usuario hasta que se ejecuten los restantes módulos

requisite: igual que required, pero en este caso, si se produce un fallo, el control se devuelve inmediatamente.

PAM

sufficient: Si ningún módulo anterior requerido ha fallado, no se llama a ningún módulo más.

optional: En general este módulo será ignorado, salvo que no haya una respuesta definitiva en el resto de los módulos.

include: incluye el contenido de otro fichero de configuración

PAM

/etc/pam.d/other
Configuración aplicada a las aplicaciones que no tienen su propio fichero

Asegurar configuración:
auth	required	pam_deny.so
auth	required	pam_warn.so
account	required	pam_deny.so
account	required	pam_warn.so
password	required	pam_deny.so
password	required	pam_warn.so
session	required	pam_deny.so
session	required	pam_warn.so

PAM

Autentificación clásica UNIX:
auth required pam_unix.so nullok_secure

Permitir la entrada sin contraseña:
Poner al principio de /etc/pam.d/login:
auth sufficient pam_permit.so

PAM

Ejemplo con usuarios en base de datos tipo .db:

Crear fichero .db:
db3_load -T -t hash usuarios.db < usuarios.txt

Editar /etc/pam.d/login:
auth sufficient pam_userdb.so db=/tmp/usuarios

PAM

Otros módulos interesantes:

libpam-mount

libpam-ssh

pam-ssh

Sencillo sistema de single sign-on

Configuración:
auth sufficient /lib/security/pam_ssh.so
...
session sufficient /lib/security/pam_ssh.so

El paquete Debian genera un par de ficheros para incluir en la configuración:
@include pam-ssh-auth
@include pam-ssh-session

pam-mount

Monta sistemas de archivos bajo demanda

El paquete Debian genera un fichero para incluir en la configuración:
@include common-pammount

Config en /etc/security/pam_mount.conf

Se pueden especificar montajes generales a nivel de sistema o por usuario

pam-mount (2)

Activando luserconf cada usuario define sus puntos de montaje en $HOME/.pam_mount.conf

De definen en la forma:
volume <user> [smb|ncp|nfs|local] <server> <volume> <mount point> <mount options>

Ejemplo:
volume * local - /home/&.img /tmp/& loop,user,exec - -

Autentificación

Curso avanzado de administración de sistemas Linux

Autor:
Rafael Varela Pet
Area de Tecnologías de la Información y Comunicaciones
Universidad de Santiago de Compostela

2006-02-13T17:54:30