Acompañándote en la transformación digital    
  |       |   
Open

Control de acceso Apparmor

Control de acceso Apparmor

Estas aquí:
<< Regresar

AppArmor

AppArmor o Application Armor es un módulo de seguridad para el kernel Linux, permite asociar cada programa un perfil de seguridad que restringe las capacidades del mismo. Es un suplemento al modelo tradicional Unix Discretionary Access Control (DAC) proveiendo Mandatory Access Control (MAC).

Además de proveer perfiles de forma manual, AppArmor incluye un modo de aprendizaje, en el cual las violaciones a los perfiles son registradas, pero no prevenidas. Este registro puede entonces ser convertido en un perfil, basado en el comportamiento típico del programa ante la eventualidad.

AppArmor ha sido implementado usando la interfaz del kernel Linux Security Modules (LSM); y constituye una alternativa a SELinux, en sistemas Red Hat, CentOS, Fedora, y derivados.

Para instalar apparmor solo hay que descargar los siguientes paquetes:

apt-get install apparmor apparmor-profiles apparmor-utils

Este paquete contiene utilidades de línea de comandos que podemos utilizar para cambiar el modo de ejecución de AppArmor, encontrar el status de un perfil, crear nuevos perfiles, etc.

Para conocer el estado de AppArmor empleamos la siguiente instrucción:

apparmor_status

Activando AppArmor

Activando AppArmor LSM:

perl -pi -e 's,GRUB_CMDLINE_LINUX="(.*)"$,GRUB_CMDLINE_LINUX="$1 apparmor=1 security=apparmor",' /etc/default/grub
update-grub
reboot

aa-complain sitúa un perfil en modo complain.

aa-complain /path/to/bin

aa-enforce sitúa un perfil modo enforce.

sudo aa-enforce /path/to/bin

El directorio /etc/apparmor.d es donde son almacenados los perfiles de AppArmor. Puede ser usado para manipular el modo en que trabajarán todos los perfiles.

Para ponerlos en modo complain:

aa-complain /etc/apparmor.d/*

Para ponerlos en modo enforce:

aa-enforce /etc/apparmor.d/*

apparmor_parser es utilizado para cargar un perfil en el kernel. Además puede ser usado para recargar un perfil que esté cargado ya, usando la opción -r.

Para cargar un perfil:

cat /etc/apparmor.d/profile.name | apparmor_parser -a

Para recargar un perfil:

cat /etc/apparmor.d/profile.name | sudo apparmor_parser -r

/etc/init.d/apparmor puede ser usado para recargar todos los perfiles:

/etc/init.d/apparmor reload

AppArmor puede ser deshabilitado, y el módulo del kernel removido del arranque del sistema:

/etc/init.d/apparmor stop
update-rc.d -f apparmor remove

Para rehabilitar AppArmor

/etc/init.d/apparmor start
update-rc.d apparmor defaults

Los perfiles de AppArmor son ficheros en texto plano, como toda configuración en GNU/Linux, localizados en /etc/apparmor.d/. Los ficheros están nombrados después de la ruta completa al programa del cual son perfil reemplazando “/” con “.”. Por ejemplo /etc/apparmor.d/bin.ping es el perfil para el comando /bin/ping.

Creando nuevos perfiles

Diseñar un plan de pruebas
Trate de pensar en cómo se debe ejercer la aplicación. El plan de pruebas debe dividirse en pequeños casos de prueba. Cada caso de prueba debe tener una pequeña descripción y una lista de los pasos a seguir.
Algunos casos de prueba estándar son:

  1. iniciar el programa
  2. detener el programa
  3. volver a cargar el programa de
  4. probar todo el comando apoyado por init

En el caso de los programas gráficos, sus casos de prueba también deben incluir cualquier cosa, lo hace normalmente. Descarga y abrir archivos, guardar archivos, subir archivos, el uso de plugins, ahorrando configuraciones cambios, y el lanzamiento de otros programas son todas las posibilidades.

Para generar un nuevo perfil empleamos aa-genprof, tiene la siguiente estructura:

aa-genprof executable

por ejemplo:

aa-genprof slapd

Actualizar perfiles

Cuando el programa tiene un mal comportamiento, hay mensajes que se envían al log. El programa aa-logprof puede ser utilizado para analizar los archivos de registro para mensajes de auditoría AppArmor, revisarlos y actualizar los perfiles.

aa-logprof
Última actualización: septiembre 21, 2018

Deja un comentario

WhatsApp chat