sábado, 25 de agosto de 2012

Introduccion a AppArmor

AppArmor o Application Armor es un módulo de seguridad para el kernel Linux, y está liberado bajo GNU General Public License. AppArmor permite a los Sys Admins asociar con cada programa un perfil de seguridad que restringe las capacidades del mismo. Es un suplemento al modelo tradicional Unix Discretionary Access Control (DAC) proveyendo Mandatory Access Control (MAC). Está incluido en el kernel desde la versión 2.6.36. Canonical ha estado contribuyendo a su desarrollo desde el año 2009. 

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 suando la intefaz del kernel Linux Security Modules (LSM); y constituye una alternativa a SELinux, un sistema usado en Red Hat, sus clones y derivadas como CentOS y Fedora, aunque otras distribuciones hacen uso de él. También está basado en LSM para implementar un modelo de seguridad MAC. 


AppArmor viene instalado por defecto, y usa perfiles de aplicaciones para determinal cuáles archivos y permisos son necesarios para la aplicación. Algunos paquetes instalan sus propios perfiles y otros adicionales pueden ser encontrados en el paquete apparmor-profiles.
$ sudo apt-get install apparmor-profiles
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. apparmor_status para ver el estado actual de los perfiles.
$ sudo apparmor_status
aa-complain sitúa un perfil en modo complain.
$ sudo 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:
$ sudo aa-complain /etc/apparmor.d/*
Para ponerlos en modo enforce:
$ sudo 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 | sudo 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:
$ sudo /etc/init.d/apparmor reload
AppArmor puede ser deshabilitado, y el módulo del kernel removido del arranque del sistema:
$ sudo /etc/init.d/apparmor stop
$ sudo update-rc.d -f apparmor remove
Para rehabilitar AppArmor
$ sudo /etc/init.d/apparmor start
$ sudo 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.



Artículos relacionados



Widget by Hoctro | Jack Book

1 comentario:

  1. Pedazo lección. Gracias y gracias por el anonimato...
    Simple y detallada, gracias por la aportación... pero... pero si deseas mejorarlo implementa la entrada con todas las posibilidades si hay más... GRACIAS :-*

    ResponderEliminar