Cómo verificar si un perfil de AppArmor está activo 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á cómo verificar el estado de los perfiles de AppArmor en un sistema Linux. AppArmor es un módulo de seguridad que utiliza perfiles para restringir las acciones de las aplicaciones, mejorando la seguridad del sistema. Explorará tres métodos para determinar si los perfiles de AppArmor están activos y cómo están configurados.

Específicamente, utilizará el comando aa-status para enumerar los perfiles cargados y sus modos (enforce o complain), examinará el contenido del directorio /etc/apparmor.d para ver los archivos de perfiles disponibles y inspeccionará el estado de AppArmor dentro del sistema de archivos /sys/kernel/security. Estos pasos proporcionarán una comprensión integral de cómo verificar el estado operativo de AppArmor.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/UserandGroupManagementGroup(["User and Group Management"]) linux(("Linux")) -.-> linux/VersionControlandTextEditorsGroup(["Version Control and Text Editors"]) linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/UserandGroupManagementGroup -.-> linux/sudo("Privilege Granting") linux/VersionControlandTextEditorsGroup -.-> linux/nano("Simple Text Editing") subgraph Lab Skills linux/ls -.-> lab-558778{{"Cómo verificar si un perfil de AppArmor está activo en Linux"}} linux/cat -.-> lab-558778{{"Cómo verificar si un perfil de AppArmor está activo en Linux"}} linux/sudo -.-> lab-558778{{"Cómo verificar si un perfil de AppArmor está activo en Linux"}} linux/nano -.-> lab-558778{{"Cómo verificar si un perfil de AppArmor está activo en Linux"}} end

Listar perfiles de AppArmor con aa-status

En este paso, aprenderá cómo listar los perfiles activos de AppArmor en su sistema utilizando el comando aa-status. AppArmor es un módulo de seguridad que proporciona control de acceso obligatorio (MAC, por sus siglas en inglés) al restringir los programas a un conjunto limitado de recursos.

Piense en los perfiles de AppArmor como políticas de seguridad para aplicaciones específicas. Definen qué archivos, recursos de red y otras capacidades del sistema puede acceder una aplicación. Esto ayuda a prevenir que el software malicioso o las aplicaciones comprometidas causen daños generalizados.

Para ver qué perfiles están actualmente cargados y aplicados, abra su terminal y escriba el siguiente comando:

sudo aa-status

Debe utilizar sudo porque verificar el estado de AppArmor requiere privilegios de administrador.

Después de ejecutar el comando, verá una salida similar a esta:

apparmor module is loaded.
...
profiles are loaded.
...
profiles are in enforce mode.
...
profiles are in complain mode.
...
processes are unconfined.
...

La salida proporciona un resumen del estado de AppArmor:

  • apparmor module is loaded: Indica que el módulo del kernel de AppArmor está activo.
  • profiles are loaded: Muestra el número total de perfiles de AppArmor cargados en el kernel.
  • profiles are in enforce mode: Enumera los perfiles que están restringiendo activamente el comportamiento de las aplicaciones asociadas. Si una aplicación intenta hacer algo no permitido por su perfil aplicado, la acción se bloquea y se genera un mensaje de registro.
  • profiles are in complain mode: Enumera los perfiles que están monitoreando el comportamiento de las aplicaciones asociadas pero no están aplicando restricciones. Si una aplicación intenta hacer algo no permitido por su perfil de monitoreo, la acción se permite, pero se genera un mensaje de registro. Este modo es útil para desarrollar y probar perfiles.
  • processes are unconfined: Muestra el número de procesos en ejecución que actualmente no están siendo administrados por un perfil de AppArmor.

Comprender la salida de aa-status es el primer paso para administrar AppArmor y entender la postura de seguridad de su sistema.

Haga clic en Continuar para pasar al siguiente paso.

Verificar perfiles en /etc/apparmor.d

En el paso anterior, vio una lista de perfiles de AppArmor cargados utilizando aa-status. Ahora, exploremos dónde se almacenan estos perfiles en el sistema de archivos.

Los perfiles de AppArmor generalmente se encuentran en el directorio /etc/apparmor.d/. Este directorio contiene los archivos de perfiles, que son archivos de texto plano que definen las reglas para cada aplicación restringida.

Para listar el contenido de este directorio, utilice el comando ls:

ls /etc/apparmor.d/

Verá una lista de archivos y directorios. Cada archivo en este directorio (que no esté en un subdirectorio como abstractions o tunables) generalmente representa un perfil de AppArmor específico para una aplicación.

Salida de ejemplo:

bootchartd             usr.sbin.tcpdump
...

Estos nombres de archivo a menudo corresponden a la ruta del ejecutable que están diseñados para restringir. Por ejemplo, usr.sbin.tcpdump es el perfil para el comando /usr/sbin/tcpdump.

Puede ver el contenido de un archivo de perfil utilizando un editor de texto como nano. Echemos un vistazo al perfil de usr.sbin.tcpdump. Escriba el siguiente comando:

nano /etc/apparmor.d/usr.sbin.tcpdump

Esto abrirá el archivo de perfil en el editor nano. Verá líneas que definen reglas de acceso a archivos, permisos de red y otras restricciones. No se preocupe por entender cada línea en este momento; el objetivo es simplemente ver la estructura de un archivo de perfil.

Para salir de nano, presione Ctrl + X. Si hizo algún cambio, le preguntará si desea guardar. Presione N para No, luego Enter para confirmar.

Explorar los archivos en /etc/apparmor.d/ le brinda una idea de las políticas de seguridad específicas aplicadas a diferentes aplicaciones en su sistema.

Haga clic en Continuar para continuar.

Inspeccionar el estado de AppArmor en /sys/kernel/security

Además del comando aa-status, también puede inspeccionar el estado de AppArmor directamente a través del sistema de archivos /sys. El sistema de archivos /sys proporciona una interfaz a las estructuras de datos del kernel y incluye información sobre módulos de seguridad como AppArmor.

El directorio relevante para el estado de AppArmor dentro de /sys es /sys/kernel/security/apparmor/.

Listemos el contenido de este directorio para ver qué información está disponible:

ls /sys/kernel/security/apparmor/

Verá archivos y directorios que proporcionan detalles sobre el estado de AppArmor, como perfiles cargados, reglas de política y estado de aplicación.

Salida de ejemplo:

features  profiles  policy  revision  ...

Un archivo particularmente útil es profiles. Puede ver su contenido utilizando el comando cat:

cat /sys/kernel/security/apparmor/profiles

Este archivo enumera los perfiles de AppArmor actualmente cargados y su estado (por ejemplo, enforce, complain o unconfined). La salida es similar a la lista de perfiles que vio con aa-status, pero es una vista directa del estado del kernel.

Salida de ejemplo:

/usr/sbin/tcpdump (enforce)
...

Inspeccionar el directorio /sys/kernel/security/apparmor/ y sus archivos proporciona una forma de nivel inferior de entender el estado de AppArmor y puede ser útil para la depuración o el análisis avanzado.

Ahora ha aprendido tres formas diferentes de verificar el estado y la presencia de perfiles de AppArmor en un sistema Linux.

Haga clic en Continuar para completar el laboratorio.

Resumen

En este laboratorio, aprendió cómo verificar si un perfil de AppArmor está activo en Linux. Comenzó utilizando el comando aa-status con sudo para listar los perfiles de AppArmor cargados y entender su estado, incluyendo si están en modo de aplicación (enforce) o de advertencia (complain). Este comando proporciona una visión general rápida del estado del módulo de AppArmor y del número de perfiles que gestionan activamente procesos.

El laboratorio también cubrió cómo inspeccionar el directorio /etc/apparmor.d para ver los archivos de perfiles de AppArmor disponibles, que representan las políticas de seguridad para diferentes aplicaciones. Finalmente, aprendió cómo examinar la ruta /sys/kernel/security para confirmar la presencia y el estado del módulo del kernel de AppArmor dentro del marco de seguridad del sistema.