Seguridad · Linux · Hardening
AppArmor – Control de Acceso Obligatorio para Linux
AppArmor implementa Control de Acceso Obligatorio (MAC) en la capa del Linux Security Module. Donde los permisos tradicionales de Unix controlan lo que un usuario puede hacer, AppArmor controla lo que un programa específico puede hacer — independientemente del usuario que lo ejecute. Un proceso comprometido solo puede acceder a archivos, capacidades y recursos de red explícitamente permitidos en su perfil.
Perfiles y modos de aplicación
Cada perfil de AppArmor apunta a una ruta de ejecutable específica y define su política de acceso. Los perfiles operan en dos modos: el modo enforce bloquea y registra acciones no permitidas, mientras que el modo complain solo las registra sin bloquear. Empezar en modo complain, luego revisar la salida de aa-logprof para refinar la política, es el flujo de trabajo estándar para escribir perfiles para aplicaciones personalizadas.
Por qué MAC importa en seguridad por capas
Un exploit de escalada de privilegios que da a un atacante root dentro de un contenedor o un proceso aislado es significativamente menos dañino si AppArmor previene que ese proceso lea /etc/shadow, escriba en rutas arbitrarias del sistema de archivos o haga conexiones de red inesperadas. El principio de mínimo privilegio aplicado a nivel de kernel crea un límite de contención significativo que sobrevive incluso al compromiso de root.
Puntos clave de configuración
- Habilitar vía parámetros del kernel: apparmor=1 lsm=...apparmor... en GRUB
- Usar aa-status para verificar perfiles cargados y en modo enforce
- Docker genera automáticamente perfiles AppArmor para contenedores cuando está habilitado
- Combinar con perfiles seccomp para restricción completa de syscalls