3.4. Creación de perfiles de Novell AppArmor mediante la interfaz de línea de comandos

Novell AppArmor ofrece la posibilidad de emplear una interfaz de línea de comandos en lugar de la interfaz gráfica de usuario para gestionar y configurar la seguridad del sistema.

3.4.1. Comprobación del estado del módulo AppArmor

El módulo AppArmor puede tener cualquiera de los tres estados siguientes:

Descargado

El módulo AppArmor no está cargado en el núcleo.

En ejecución

El módulo AppArmor está cargado en el núcleo y aplica las directivas de programas de Novell AppArmor.

Detenido

El módulo AppArmor está cargado en el núcleo, pero no está aplicando las directivas.

Puede detectar en cuál de los tres estados se encuentra el módulo AppArmor inspeccionando /sys/kernel/security/apparmor/profiles. Si cat /sys/kernel/security/apparmor/profiles muestra una lista de perfiles, Novell AppArmor se está ejecutando. Si está vacío y no muestra ningún resultado, AppArmor está detenido. Si el archivo no existe, AppArmor está descargado.

El módulo AppArmor puede cargarse y descargarse mediante comandos de módulo estándar de Linux como modprobe, insmod, lsmod y rmmod, pero este enfoque no es recomendable. Es más útil gestionar Novell AppArmor mediante el guión rcapparmor, que puede llevar a cabo las siguientes operaciones:

rcapparmor start

Tiene un comportamiento distinto dependiendo del estado del módulo AppArmor. Si estaba descargado, start carga el módulo y lo inicia, colocándolo en el estado de ejecución. Si estaba detenido, start provoca que el módulo vuelva a explorar los perfiles de Novell AppArmor, que normalmente se encuentran en /etc/apparmor.d y hace que el módulo pase al estado de ejecución. Si el módulo ya se estaba ejecutando, start presenta una advertencia y no lleva a cabo ninguna acción.

rcapparmor stop

Detiene el módulo AppArmor (si estaba en ejecución) retirando todos los perfiles de la memoria del núcleo, inhabilitando de forma efectiva todos los controles de acceso y poniendo el módulo en estado detenido. Si el módulo AppArmor ya estaba descargado o detenido, stop intenta volver a descargar los perfiles, pero no ocurre nada.

rcapparmor restart

Hace que el módulo AppArmor vuelva a explorar los perfiles que normalmente se encuentran en /etc/apparmor.d sin cancelar la limitación de los procesos en ejecución, añadiendo los nuevos perfiles y eliminando los perfiles que ya no se encontrarán en /etc/apparmor.d.

rcapparmor kill

Elimina el módulo AppArmor del núcleo de forma incondicional. Esta acción no es segura porque, en general, la descarga directa de módulos del núcleo no lo es. Este comando sólo se proporciona como medio para resolver errores y emergencias en situaciones en las que pueda ser necesario eliminar el módulo.

[Note]Nota

Novell AppArmor es un potente sistema de control de acceso y es posible que le bloquee su propio equipo, hasta un punto tal en que puede ser necesario arrancar el equipo desde un soporte de recuperación (como el CD 1 de SUSE Linux) para recuperar el control.

Para evitar este tipo de problemas, compruebe siempre que dispone de un inicio de sesión de usuario Root en ejecución y sin limitación en el equipo que esté configurando cuando reinicie el módulo AppArmor. Si provoca daños en el sistema hasta tal punto que no sea posible iniciar sesión (por ejemplo, rompiendo el perfil asociado al daemon SSH), podrá reparar los daños utilizando el indicador del usuario Root en ejecución y reiniciando el módulo AppArmor.

3.4.2. Creación de los perfiles de Novell AppArmor

Las definiciones de perfiles del módulo AppArmor se almacenan en el directorio /etc/apparmor.d/ como archivos de texto sin formato.

[Warning]Aviso

Todos los archivos del directorio /etc/apparmor.d/ se interpretan como perfiles y se cargan como tales. Cambiar el nombre de los archivos del directorio no es un modo efectivo de impedir que los perfiles se carguen. Deberá retirar los perfiles de este directorio para gestionarlos de forma efectiva.

Puede utilizar un editor de texto, como vim, para acceder a estos perfiles y realizar cambios en ellos. Las siguientes opciones contienen pasos detallados para crear perfiles:

Utilice vim para ver y editar los perfiles, escribiendo vim en una ventana de terminal. Para habilitar los colores de sintaxis al editar un perfil de Novell AppArmor en vim, utilice los comandos :syntax on y, a continuación, :set syntax=apparmor. Para obtener más información acerca de vim y los colores de sintaxis, consulte Sección 3.5.3.8, “apparmor.vim” (↑Guía de administración de Novell AppArmor 2.0).

[Note]Nota

Después de realizar cambios en un perfil, utilice el comando rcapparmor restart, descrito en la sección anterior. Este comando hace que Novell AppArmor vuelva a leer los perfiles. Para acceder a una descripción detallada de la sintaxis de estos archivos, consulte el Capítulo 3, Creación de perfiles de Novell AppArmor (↑Guía de administración de Novell AppArmor 2.0).

3.4.3. Adición o creación de perfiles de Novell AppArrmor

Para añadir o crear un perfil de Novell AppArmor para una aplicación, puede utilizar un método de creación de perfiles independiente o sistemático, dependiendo de sus necesidades.

Perfiles independientes

Este método es adecuado para crear perfiles de pequeñas aplicaciones con un tiempo de ejecución finito, como aplicaciones clientes para el usuario (como los clientes de correo). Consulte la Sección 3.5.1, “Perfiles independientes” (↑Guía de administración de Novell AppArmor 2.0).

Perfiles sistemáticos

Resulta adecuado para generar perfiles de un gran número de programas al mismo tiempo y para crear perfiles de aplicaciones que pueden ejecutarse durante días, semanas o de forma continua en sucesivos reinicios, como las aplicaciones de servidores de red (por ejemplo, servidores Web o de correo). Consulte la Sección 3.5.2, “Perfiles sistemáticos” (↑Guía de administración de Novell AppArmor 2.0).

3.4.4. Edición de perfiles de Novell AppArmor

Los pasos siguientes describen el procedimiento para editar un perfil de Novell AppArmor. Para entender mejor los componentes de un perfil, consulte la Sección 3.1, “Componentes y sintaxis de los perfiles” (↑Guía de administración de Novell AppArmor 2.0).

  1. Si no ha iniciado sesión como usuario Root, escriba su en una ventana de terminal.

  2. Introduzca la contraseña de usuario Root cuando el sistema lo solicite.

  3. Para acceder al directorio, introduzca cd /etc/apparmor.d/.

  4. Escriba ls para ver todos los perfiles instalados actualmente.

  5. Abra el perfil que desee editar en un editor de texto, como vim.

  6. Realice los cambios necesarios y guarde el perfil.

  7. Reinicie Novell AppArmor escribiendo rcapparmor restart en una ventana de terminal.

3.4.5. Supresión de perfiles de Novell AppArmor

Los pasos siguientes describen el procedimiento para suprimir un perfil de Novell AppArmor.

  1. Si no ha iniciado sesión como usuario Root, escriba su en una ventana de terminal.

  2. Introduzca la contraseña de usuario Root cuando el sistema lo solicite.

  3. Para acceder al directorio de Novell AppArmor, escriba cd /etc/apparmor.d/.

  4. Escriba ls para ver todos los perfiles de Novell AppArmor instalados actualmente.

  5. Suprima el perfil saliendo de él con rm nombre del perfil.

  6. Reinicie Novell AppArmor escribiendo rcapparmor restart en una ventana de terminal.