PAM (Español)

Esta traducción de
PAM
fue revisada el
2020-12-11
. Si existen
cambios
puede
actualizarla
o avisar al
equipo de traducción
.
Artículos relacionados
Security (Español)
pam_mount
pam_usb
pam_abl
pam_oath
Universal 2nd Factor
Los
módulos de autenticación conectables de Linux
(Linux Pluggable Authentication Modules, o simplemente PAM) proporcionan un marco para la autenticación de usuarios en todo el sistema. Para citar el
proyecto
:
PAM proporciona una manera de desarrollar programas que son independientes del esquema de autenticación. Estos programas necesitan "módulos de autenticación" que se deben adjuntar en tiempo de ejecución para que funcionen. El módulo de autenticación que se adjuntará depende de la configuración del sistema local y queda a discreción del administrador del sistema local.
Este artículo explica los valores predeterminados de configuración base de Arch Linux para PAM para autenticar usuarios locales y remotos. La aplicación de cambios a los valores predeterminados está sujeta a artículos especializados reticulados por tema.
Instalación
El paquete
pam
es una dependencia del
meta paquete
base
y, por lo tanto, instalado normalmente en un sistema Arch. Los módulos PAM están instalados exclusivamente en
/usr/lib/security
.
Los repositorios contienen una serie de paquetes PAM opcionales, en
#Configuración guiada
se muestran unos ejemplos.
Configuración
Un número de rutas en
/etc
son relevantes para PAM, ejecute
pacman --query --list pam | grep /etc
para ver los archivos de configuración por defecto creados. Se relacionan con los
#Parámetros de seguridad
para los módulos, o la configuración
#Apilado base de PAM
.
Parámetros de seguridad
La ruta
/etc/security
contiene la configuración específica del sistema para las variables que ofrecen los métodos de autenticación. La instalación básica instala los archivos de configuración predeterminados.
Note que Arch Linux no proporciona una configuración específica de distribución para estos archivos. Por ejemplo, el archivo
/etc/security/pwquality.conf
se puede utilizar para definir los valores predeterminados de todo el sistema para la calidad de la contraseña. Sin embargo, para activarlo, el módulo
pam_pwquality.so
debe añadirse al
#Apilado base de PAM
de los módulos, que no es el caso por defecto.
Véase
#Configuración de los parámetros de seguridad
para algunas de las posibilidades.
Apilado base de PAM
La ruta
/etc/pam.d/
es exclusiva de la configuración de PAM para vincular las aplicaciones a los esquemas individuales de autenticación de los sistemas. Durante la instalación de la base del sistema se genera:
el paquete
pambase
, que contiene la pila base de la configuración PAM específica de Arch Linux para ser utilizada por las aplicaciones, y
otros paquetes base. Por ejemplo,
util-linux
añade la configuración para el
inicio de sesión
central y otros programas, el paquete
shadow
añade los valores predeterminados de Arch Linux para proteger y modificar la base de datos del usuario (véase
Usuarios y grupos
).
Los diferentes archivos de configuración de la instalación base se enlazan y apilan durante el tiempo de ejecución. Por ejemplo, en el inicio de sesión de un usuario local, la aplicación
login
carga la política
system-local-login
, que a su vez carga otros:
/etc/pam.d/
login -> system-local-login -> system-login -> system-auth
Para una aplicación diferente, se puede aplicar una ruta diferente. Por ejemplo,
openssh
instala su política de PAM
sshd
:
/etc/pam.d/
sshd -> system-remote-login -> system-login -> system-auth
En consecuencia, la elección del archivo de configuración en la pila es importante. Para el ejemplo anterior, se podría requerir un método de autenticación especial solo para
sshd
o para todos los inicios de sesión remotos cambiando
system-remote-login
; ambos cambios no afectarían los inicios de sesión locales. Aplicar el cambio a
system-login
o
system-auth
en cambio afectaría los inicios de sesión locales y remotos.
Al igual que en el ejemplo de
sshd
, se requiere que cualquier aplicación
consciente de PAM
instale su política en
/etc/pam.d
para integrar y confiar en la pila de PAM apropiadamente. Si una aplicación no lo hace, se aplica la política predeterminada para denegar de
/etc/pam.d/other
y se registra una advertencia.
Sugerencia
PAM está enlazado dinámicamente en tiempo de ejecución. Por ejemplo:
$ ldd /usr/bin/login | grep pam
libpam.so.0 => /usr/lib/libpam.so.0 (0x000003d8c32d6000)
libpam_misc.so.0 => /usr/lib/libpam_misc.so.0 (0x000003d8c30d2000)
la aplicación
login
es consciente de PAM y
debe
, por lo tanto, tener una política.
Las páginas del manual del paquete PAM
pam(8)
y
pam.d(5)
describen el contenido estandarizado de los archivos de configuración. En particular, explican los cuatro grupos de PAM: gestión de cuentas, autenticación, contraseña y sesión, así como los valores de control que pueden utilizarse para configurar el apilamiento y el comportamiento de los módulos.
Además, se ha instalado una extensa documentación en
/usr/share/doc/Linux-PAM/index.html
que, entre varias guías, contiene páginas de manual navegables para cada uno de los módulos estándar.
Advertencia
Los cambios en la configuración de PAM afectan fundamentalmente a la autenticación del usuario. Los cambios erróneos pueden dar como resultado que
ningún usuario
pueda iniciar sesión, o
todos los usuarios
pueden iniciar sesión.
Sugerencia
Los cambios no son efectivos para los usuarios ya autenticados, una forma de trabajar con PAM es iniciar sesión preferiblemente local en la máquina de prueba y desarrollar, manteniendo la sesión en constante ejecución, mientras verifica los resultados con otro usuario en otra consola.
Ejemplos
Dos ejemplos breves para ilustrar la advertencia anterior.
Primero, tomamos las siguientes dos líneas:
/etc/pam.d/system-auth
auth      required  pam_unix.so     try_first_pass nullok
auth      optional  pam_permit.so
De
pam_unix(8)
: "El componente de autenticación
pam_unix.so
realiza la tarea de verificar las credenciales (contraseña) de los usuarios. La acción predeterminada de este módulo es no permitir que el usuario acceda a un servicio si su contraseña oficial está en blanco." - siendo lo último para lo que se utiliza
pam_permit.so
. Basta con intercambiar los valores de control
required
y
optional
para desactivar la autenticación de contraseña, es decir, cualquier usuario puede iniciar sesión sin proporcionar una contraseña.
Segundo, como ejemplo contrario, por configuración predeterminada de
pam_nologin.so
en /etc/pam.d/login, creando el siguiente archivo:
# touch /etc/nologin
da como resultado que ningún usuario que no sea root pueda iniciar sesión (si se permiten inicios de sesión del superusuario, otro valor predeterminado para Arch Linux). Para volver a permitir los inicios de sesión, elimine el archivo. Posiblemente, desde la consola con la que lo creó.
Con eso como fondo, véase
#Configuración del apilado y los módulos de PAM
para configuraciones de casos de uso particulares.
Configuración guiada
Esta sección proporciona una descripción general del contenido que detalla cómo aplicar cambios a la configuración de PAM y cómo integrar nuevos módulos PAM especiales en la pila de PAM. Tenga en cuenta que, por lo general, se puede acceder a las páginas del manual de los módulos al eliminar la extensión
.so
.
Configuración de los parámetros de seguridad
Las siguientes secciones describen ejemplos para cambiar la configuración predeterminada de parámetros de PAM:
Security#Enforcing strong passwords with pam_pwquality
muestra cómo forzar contraseñas seguras con
pam_cracklib.so
.
Security#Lock out user after three failed login attempts
muestra cómo configurar los limites en los intentos de inicio de sesión con
pam_faillock.so
.
Security#Allow only certain users
limita los inicios de sesión de usuario con
pam_wheel.so
.
Realtime process management#Configuring PAM
and
Security#Limit amount of processes
detalla cómo configurar los límites del proceso del sistema con
pam_limits.so
.
Environment variables#Using pam_env
muestra ejemplos para establecer variables de entorno a través de
pam_env.so
.
Configuración del apilado y los módulos de PAM
Los siguientes artículos detallan cómo cambiar el
#Apilado base de PAM
para casos de uso especiales.
Módulos PAM de los
repositorios oficiales
:
pam_mount
ejemplos detallados para utilizar
pam_mount.so
para montar automáticamente las rutas de directorio cifradas en el inicio de sesión del usuario.
ECryptfs#Auto-mounting
utiliza
pam_ecryptfs.so
para montar automáticamente un directorio cifrado.
Dm-crypt/Mounting at login (Español)
muestra cómo utilizar
pam_exec.so
para ejecutar un script personalizado en un inicio de sesión de usuario.
Active Directory integration (Español)#Configurar PAM
utiliza
pam_winbind.so
y
pam_krb5.so
para que los usuarios se identifiquen a través de servicios Active Directory (
LDAP
,
Kerberos
).
LDAP authentication
es un artículo sobre la integración de la autenticación de cliente o servidor LDAP con
pam_ldap.so
.
YubiKey#Linux user authentication with PAM
se basa en
pam_yubico.so
en la pila de PAM para activar la autenticación a través del protocolo propietario Yubikey.
pam_oath
muestra un ejemplo para implementar la autenticación de dos factores
(two-factor)
basada en software con
pam_oath.so
.
fprint
emplea
pam_fprintd.so
para configurar la autenticación mediante huellas digitales.
Módulos PAM del
repositorio de usuarios de Arch
:
pam_usb
muestra cómo configurar
pam_usb.so
para utilizar un dispositivo USB para autenticar, opcionalmente, mediante dos factores.
SSH keys#pam_ssh
utiliza
pam_ssh.so
para autenticar como un usuario remoto.
pam_abl
explica cómo se puede utilizar
pam_abl.so
para limitar los ataques de fuerza bruta a través de ssh.
EncFS
puede ser montado automáticamente a través
pam_encfs.so
.
Google Authenticator
muestra cómo configurar la autenticación de dos factores con
pam_google_authenticator.so
.
Very Secure FTP Daemon#PAM with virtual users
explica cómo configurar un chroot FTP con
pam_pwdfile.so
para autenticar usuarios sin una cuenta local de sistema.
Otros paquetes de PAM
Aparte de los paquetes mencionados hasta ahora, el
repositorio de usuarios de Arch
Contiene varios módulos y herramientas PAM adicionales.
Las utilidades de propósito general relacionadas con PAM son:
Pamtester
— Programa para probar la instalación de los módulos de autenticación conectables (PAM)
https://pamtester.sourceforge.net/
||
pamtester
AUR
Tenga en cuenta que AUR cuenta con una etiqueta de palabra clave para
PAM
, pero no todos los paquetes disponibles se actualizan para incluirlo. Por lo tanto, puede ser necesario buscar en la
descripción del paquete
.
Véase también
linux-pam.org
- La página de inicio del proyecto
Entendiendo y configurando PAM
- Un artículo introductorio