Cómo comprobar si un módulo PAM está configurado en Linux

LinuxLinuxBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderás cómo verificar si un módulo PAM (Pluggable Authentication Modules) está configurado en Linux. Exploraremos las ubicaciones estándar de los archivos de configuración de PAM y examinaremos su contenido para entender cómo diferentes servicios utilizan PAM para la autenticación y otras funciones de seguridad.

Comenzarás listando el contenido del directorio /etc/pam.d/ para identificar los archivos de configuración de PAM específicos de cada servicio. A continuación, aprenderás cómo ver el contenido de estos archivos de configuración utilizando el comando cat para entender los módulos y reglas específicos de PAM aplicados a un servicio. Finalmente, explorarás el directorio /lib/security para ver los archivos de módulos PAM disponibles en el sistema.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") subgraph Lab Skills linux/ls -.-> lab-558745{{"Cómo comprobar si un módulo PAM está configurado en Linux"}} linux/cat -.-> lab-558745{{"Cómo comprobar si un módulo PAM está configurado en Linux"}} end

Verificar la configuración de PAM con ls /etc/pam.d

En este paso, comenzaremos a explorar PAM (Pluggable Authentication Modules). PAM es un potente marco (framework) que permite a los administradores de sistemas configurar cómo las aplicaciones autentican a los usuarios. En lugar de que cada aplicación maneje la autenticación por sí misma, pueden utilizar PAM, que proporciona una forma centralizada y flexible de gestionar la autenticación, autorización y administración de cuentas.

Imagina PAM como un conjunto de bloques de construcción intercambiables para la autenticación. Puedes conectar diferentes módulos para manejar diferentes métodos de autenticación (como contraseñas, tarjetas inteligentes o incluso biometría) sin cambiar la aplicación en sí.

Los archivos de configuración de PAM generalmente se encuentran en el directorio /etc/pam.d/. Cada archivo en este directorio suele corresponder a un servicio o aplicación específico que utiliza PAM, como login, sudo, ssh, etc.

Listemos el contenido del directorio /etc/pam.d/ para ver qué archivos de configuración de PAM existen en este sistema. Utilizaremos el comando ls, que se utiliza para listar el contenido de un directorio.

Abre tu terminal si no está abierta. Recuerda que puedes encontrar el icono de Xfce Terminal en el lado izquierdo de tu escritorio.

Escribe el siguiente comando y presiona Enter:

ls /etc/pam.d/

Deberías ver una lista de archivos, similar a esta (la lista exacta puede variar ligeramente dependiendo de la configuración del sistema):

atd
chfn
chpasswd
chsh
cron
...
sudo
su
systemd-user
...

Cada archivo enumerado aquí es un archivo de configuración de PAM para un servicio específico. Por ejemplo, el archivo sudo contiene la configuración de PAM para el comando sudo, y el archivo login contiene la configuración para los inicios de sesión de usuarios.

Al listar estos archivos, obtienes una idea de qué servicios en el sistema están utilizando PAM para la autenticación y otras tareas relacionadas con la seguridad.

Haz clic en Continuar para pasar al siguiente paso.

Verificar la configuración de PAM con cat /etc/pam.conf

En el paso anterior, vimos los archivos de configuración individuales de PAM en /etc/pam.d/. Si bien la mayoría de los sistemas modernos utilizan la estructura de directorio /etc/pam.d/, algunas configuraciones antiguas o configuraciones específicas aún pueden utilizar un solo archivo de configuración centralizado: /etc/pam.conf.

El archivo /etc/pam.conf, si existe y se utiliza, contiene reglas para diferentes servicios, tipos de módulos, marcas de control (control flags) y los módulos PAM específicos a utilizar. Cada línea en este archivo generalmente define una regla para un servicio en particular.

Verifiquemos si el archivo /etc/pam.conf existe y veamos su contenido utilizando el comando cat. El comando cat se utiliza para mostrar el contenido de archivos.

Escribe el siguiente comando en tu terminal y presiona Enter:

cat /etc/pam.conf

En este sistema, es probable que veas una salida que indique que el archivo no existe o está vacío. Esto se debe a que, como se mencionó, el sistema utiliza principalmente el directorio /etc/pam.d/ para las configuraciones de PAM.

cat: /etc/pam.conf: No such file or directory

Esta salida confirma que el sistema se basa en los archivos individuales en /etc/pam.d/ en lugar de en un solo archivo /etc/pam.conf. Comprender esta distinción es importante cuando se trabaja con diferentes distribuciones de Linux o sistemas antiguos.

Aunque /etc/pam.conf no se utiliza en este sistema específico, conocer su existencia y propósito es valioso para una comprensión completa de PAM.

Haz clic en Continuar para pasar al siguiente paso.

Inspeccionar los módulos PAM en /lib/security

En los pasos anteriores, examinamos los archivos de configuración de PAM. Estos archivos le indican a PAM qué módulos utilizar para diferentes servicios. Ahora, veamos dónde se almacenan los módulos PAM reales en el sistema.

Los módulos PAM suelen ser bibliotecas compartidas (archivos que terminan con .so) que contienen el código para tareas específicas de autenticación, autorización, gestión de cuentas o sesiones. Estos módulos generalmente se encuentran en un directorio como /lib/x86_64-linux-gnu/security/ o /lib/security/. En este sistema, se encuentran en /lib/x86_64-linux-gnu/security/.

Listemos el contenido del directorio /lib/x86_64-linux-gnu/security/ para ver los módulos PAM disponibles. Utilizaremos nuevamente el comando ls.

Escribe el siguiente comando en tu terminal y presiona Enter:

ls /lib/x86_64-linux-gnu/security/

Verás una larga lista de archivos, cada uno de los cuales representa un módulo PAM diferente. Los nombres de archivo suelen comenzar con pam_ seguidos del nombre del módulo y terminan con .so.

pam_access.so
pam_cap.so
pam_chauthtok.so
pam_cracklib.so
...
pam_unix.so
pam_usw.so
pam_winbind.so

Por ejemplo, pam_unix.so es un módulo común utilizado para la autenticación de contraseñas Unix tradicional. pam_cracklib.so se utiliza para verificar la fortaleza de la contraseña.

Explorar este directorio te da una idea de las diferentes funcionalidades de autenticación y seguridad disponibles a través de PAM en este sistema. Los archivos de configuración en /etc/pam.d/ hacen referencia a estos archivos .so para definir el proceso de autenticación de cada servicio.

Comprender la relación entre los archivos de configuración en /etc/pam.d/ y los archivos de módulos en /lib/x86_64-linux-gnu/security/ es fundamental para entender cómo funciona PAM.

Haz clic en Continuar para completar este laboratorio.

Resumen

En este laboratorio, comenzamos a explorar PAM (Pluggable Authentication Modules, Módulos de Autenticación Intercambiables) en Linux. Aprendimos que PAM proporciona un marco flexible para gestionar la autenticación, autorización y gestión de cuentas para diversos servicios. Comenzamos listando el contenido del directorio /etc/pam.d/ utilizando el comando ls para identificar los archivos de configuración individuales de PAM para diferentes servicios como sudo, login y ssh. Esto nos dio una visión general inicial de qué servicios en el sistema están utilizando PAM.