Control de acceso y auditoría en Linux

Esta guía recorre los mecanismos con los que Linux identifica, autentica y autoriza a las personas usuarias, desde la gestión de cuentas hasta los módulos PAM, y corresponde a la parte práctica del tema Configuración de sistemas de control de acceso y autenticación de personas.

1. Identidad y control de acceso en Linux

  • Términos básicos: UID, hash, PAM, sudo y permisos

  • Por qué el control de acceso se aplica en capas

  • Las cuatro fases del acceso: identificación, autenticación, autorización y trazabilidad

  • Dónde actúa cada fase en Linux: usuarios, PAM, permisos y sudo, y registros

  • Mapa del directorio y relación con la guía de autenticación y control de acceso

  • Ejercicios de análisis para afianzar las cuatro fases

2. Administración básica de usuarios y grupos

  • La importancia del control de acceso

  • Archivos del sistema relacionados con cuentas (/etc/passwd, /etc/shadow, /etc/group, /etc/gshadow, login.defs, skel, shells)

  • Creación de usuarios: useradd (interactivos y de servicio), adduser y permisos de /home

  • Modificación de usuarios: usermod, chsh y bloqueo de cuentas

  • Eliminar usuarios: userdel, archivos huérfanos y reutilización de UID

  • Gestión de contraseñas y caducidad: passwd, chage y políticas temporales

  • Gestión de grupos: groupadd, groupmod, delegación con gpasswd y groupdel

  • Delegación de privilegios con sudo: grupos administrativos, visudo y grupos privilegiados

  • Riesgos comunes en la gestión de usuarios

  • Medidas de bastionado y buenas prácticas (CIS Benchmark)

  • Ejercicios prácticos guiados paso a paso

3. Permisos y control de acceso básico

  • El modelo DAC: propietario, grupo y otros, y orden de evaluación en el núcleo

  • Semántica de r, w y x en archivos y directorios, notación simbólica y octal

  • Gestión de permisos y propiedad: chmod, chown y chgrp

  • La máscara de creación de archivos umask y su configuración persistente

  • Permisos especiales (SetUID, SetGID, Sticky Bit) y capacidades de archivos

  • Listas de control de acceso POSIX: getfacl y setfacl

  • Atributos de inodo: chattr y lsattr

  • Opciones de montaje seguras: nodev, nosuid y noexec

  • Guía consolidada de bastionado y lista de verificación (CIS Benchmark)

  • Ejercicios prácticos guiados paso a paso

4. Módulos de autenticación conectables (PAM)

  • Arquitectura de PAM: aplicaciones, libpam, servicios y pilas de módulos

  • Tipos de gestión: auth, account, password y session

  • Archivos de configuración, /etc/pam.d/other y perfiles de pam-auth-update

  • El campo de control: palabras clave y sintaxis avanzada [valor=acción]

  • Módulos más utilizados y módulos obsoletos

  • Bloqueo por intentos fallidos con pam_faillock

  • Política de contraseñas con pam_pwquality y pam_pwhistory

  • Restricción de su con pam_wheel y autenticación multifactor con TOTP

  • Pruebas con pamtester, depuración y recuperación ante bloqueos

  • Guía consolidada de bastionado y lista de verificación (CIS Benchmark)

  • Ejercicios prácticos guiados paso a paso

5. Trazabilidad y auditoría de accesos en Linux

  • Propiedades de un registro fiable y eventos de acceso que conviene registrar

  • Arquitectura del registro en Ubuntu: journald, rsyslog y auditd

  • Mensajes de autenticación de sshd, sudo y PAM en auth.log y journalctl

  • Historial de sesiones con last, lastb y lastlog, e indicios de fuerza bruta

  • Auditoría del núcleo con auditd: reglas de vigilancia, ausearch y aureport

  • Retención, rotación, integridad y envío remoto de registros con rsyslog

  • Guía consolidada de bastionado y lista de verificación (CIS Benchmark)

  • Ejercicios prácticos guiados paso a paso