210.2 - Comandos clave: Autenticación PAM

Tipos de módulos PAM

TipoFunción
authVerificar identidad del usuario
accountVerificar permisos y restricciones de la cuenta
passwordGestionar cambios de contraseña
sessionConfigurar entorno de sesión

Flags de control

FlagÉxitoFallo
requiredContinúa evaluandoContinúa evaluando, pero resultado final = fallo
requisiteContinúa evaluandoDetiene inmediatamente y devuelve fallo
sufficientDetiene y devuelve éxito (si no hay required fallidos)Se ignora, continúa
optionalSe ignora (salvo si es el único módulo)Se ignora (salvo si es el único módulo)

Módulos PAM principales

MóduloFunción
pam_unix.soAutenticación estándar contra /etc/passwd y /etc/shadow
pam_ldap.soAutenticación contra servidor LDAP
pam_sss.soAutenticación mediante SSSD
pam_wheel.soRestringir su al grupo wheel
pam_limits.soAplicar límites de /etc/security/limits.conf
pam_deny.soDenegar siempre el acceso
pam_permit.soPermitir siempre el acceso
pam_cracklib.soVerificar calidad de contraseña (antiguo)
pam_pwquality.soVerificar calidad de contraseña (moderno)
pam_tally2.soBloqueo por intentos fallidos (antiguo)
pam_faillock.soBloqueo por intentos fallidos (moderno)
pam_nologin.soBloquear login si existe /etc/nologin
pam_time.soRestricciones horarias (/etc/security/time.conf)
pam_access.soControl de acceso (/etc/security/access.conf)

Archivos de configuración

ArchivoFunción
/etc/pam.d/Directorio con configuración PAM por servicio
/etc/pam.d/common-authReglas auth comunes (Debian)
/etc/pam.d/common-accountReglas account comunes (Debian)
/etc/pam.d/common-passwordReglas password comunes (Debian)
/etc/pam.d/common-sessionReglas session comunes (Debian)
/etc/pam.d/system-authReglas comunes (RHEL)
/etc/pam.d/password-authReglas de contraseña (RHEL)
/etc/security/limits.confLímites de recursos por usuario/grupo
/etc/security/time.confRestricciones horarias
/etc/security/access.confReglas de acceso por origen
/etc/nologinSi existe, bloquea login de no-root

Formato de limits.conf

CampoValores
Dominiousuario, @grupo, * (todos)
Tiposoft, hard, - (ambos)
Elementonproc, nofile, core, maxlogins, memlock, as

Comandos de gestión y depuración

ComandoDescripción
pam_tally2 --user=usuarioVer intentos fallidos de un usuario
pam_tally2 --user=usuario --resetResetear contador de fallos
faillock --user usuarioVer intentos fallidos (moderno)
faillock --user usuario --resetResetear contador (moderno)
ulimit -aVer límites actuales del shell

Ubicación de los módulos PAM

SistemaRuta
Debian/Ubuntu (64-bit)/lib/x86_64-linux-gnu/security/
RHEL/CentOS (64-bit)/lib64/security/