PAM - Pluggable Authentication Modules
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
PAM (Módulos de Autenticación Pluggable) actúa como un mecanismo de seguridad que verifica la identidad de los usuarios que intentan acceder a los servicios informáticos, controlando su acceso en función de varios criterios. Es similar a un portero digital, asegurando que solo los usuarios autorizados puedan interactuar con servicios específicos mientras limita potencialmente su uso para prevenir sobrecargas del sistema.
Los sistemas Solaris y basados en UNIX suelen utilizar un archivo de configuración central ubicado en /etc/pam.conf
.
Los sistemas Linux prefieren un enfoque de directorio, almacenando configuraciones específicas de servicios dentro de /etc/pam.d
. Por ejemplo, el archivo de configuración para el servicio de inicio de sesión se encuentra en /etc/pam.d/login
.
Un ejemplo de una configuración de PAM para el servicio de inicio de sesión podría verse así:
Estos reinos, o grupos de gestión, incluyen auth, account, password y session, cada uno responsable de diferentes aspectos del proceso de autenticación y gestión de sesiones:
Auth: Valida la identidad del usuario, a menudo solicitando una contraseña.
Account: Maneja la verificación de cuentas, comprobando condiciones como la membresía en grupos o restricciones de horario.
Password: Gestiona las actualizaciones de contraseñas, incluyendo verificaciones de complejidad o prevención de ataques de diccionario.
Session: Gestiona acciones durante el inicio o final de una sesión de servicio, como montar directorios o establecer límites de recursos.
Los controles dictan la respuesta del módulo ante el éxito o el fracaso, influyendo en el proceso de autenticación general. Estos incluyen:
Required: El fallo de un módulo requerido resulta en un eventual fracaso, pero solo después de que se verifiquen todos los módulos subsiguientes.
Requisite: Terminación inmediata del proceso al fallar.
Sufficient: El éxito omite el resto de las verificaciones del mismo reino a menos que un módulo subsiguiente falle.
Optional: Solo causa un fallo si es el único módulo en la pila.
En una configuración con múltiples módulos de auth, el proceso sigue un orden estricto. Si el módulo pam_securetty
encuentra el terminal de inicio de sesión no autorizado, los inicios de sesión de root son bloqueados, sin embargo, todos los módulos aún se procesan debido a su estado de "required". El pam_env
establece variables de entorno, potencialmente ayudando en la experiencia del usuario. Los módulos pam_ldap
y pam_unix
trabajan juntos para autenticar al usuario, con pam_unix
intentando usar una contraseña previamente suministrada, mejorando la eficiencia y flexibilidad en los métodos de autenticación.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)