¿Qué es AppArmor?
AppArmor es un sistema de control de acceso obligatorio (MAC) que limita los programas a un conjunto limitado de recursos. Restringe los programas a un conjunto de archivos, atributos y capacidades, por lo que no es capaz de penetrar profundamente en el sistema y causar estragos (a menos que se le dé el permiso). En lugar del modelo UAC de Windows que da control a los usuarios, AppArmor vincula los atributos de control de acceso al propio programa.
Cómo funciona AppArmor
AppArmor funciona a nivel de kernel y se carga durante el arranque. La forma en que AppArmor gestiona los permisos es a través de Perfiles. Los perfiles son un conjunto de reglas que determinan lo que el programa puede y no puede hacer. Hay dos modos en los que se pueden ejecutar los Perfiles: Cumplimiento y Denunciar . El modo de aplicación es una aplicación estricta de la política definida en el perfil, así como la notificación de intentos de infracción de la política. El modo de quejas sólo informará de los intentos de violación de la política, pero no la hace cumplir. La mayoría de los perfiles se cargan en el modo Enforcement, aunque puede haber un buen número de perfiles de terceros que también se cargan en el modo Complain.
Comprobación del estado de AppArmor
Si utiliza Ubuntu 7.04 o superior, AppArmor se instala de forma predeterminada y se carga al iniciar el equipo. Para comprobar el estado de AppArmor, escriba el siguiente comando en el terminal:
sudo apparmor_status
Esto es lo que verás:
En mi sistema, se puede ver que hay 17 perfiles cargados en modo Enforcement y que AppArmor aplica 4 procesos que se están ejecutando actualmente.
Búsqueda de perfiles de AppArmor desactivados
Además de los perfiles que se ejecutan en el arranque, hay varios perfiles disponibles pero desactivados de forma predeterminada. Puede consultarlos en la carpeta «/etc/apparmor.d/disable». Desde aquí se puede ver que los perfiles de Firefox y Rsyslogd no están habilitados.
El perfil de Firefox fue probablemente desactivado porque lleva a una disminución del rendimiento en Firefox, pero si te gusta activar el perfil para que puedas navegar por la web con más tranquilidad, así es como puedes hacerlo.
Abra un terminal y escriba:
sudo aa-enforce /etc/apparmor.d/usr.bin.firefox
Para desactivarlo de nuevo:
sudo ln -s /etc/apparmor.d/usr.bin.firefox /etc/apparmor.d/disable/
sudo apparmor_parser -R /etc/apparmor.d/usr.bin.firefox
¿Cómo es un perfil de AppArmor?
Aunque los Perfiles suenan como un módulo de software complicado, en realidad es un simple archivo de texto con rutas de archivo incluidas que indican a qué carpetas y directorios puede acceder la aplicación. Así es como se ve el perfil de eVince (puede hacer clic fácilmente en cualquier perfil en la carpeta «/etc/apparmor.d» para abrirlo en su editor de texto).
Creación de sus propios perfiles para bloquear la aplicación
Ubuntu ha hecho un buen trabajo para protegerte, pero si quieres restringir una aplicación personalizada que no está protegida por Ubuntu, puedes crear tu propio perfil para bloquear la aplicación. Esto es particularmente útil en una condición de servidor donde muchas aplicaciones se están ejecutando en segundo plano donde no se puede ver.
Nota : Antes de crear sus propios perfiles, lo mejor es echar un vistazo a la biblioteca de perfiles de AppArmor existente para comprobar si el perfil de su aplicación está disponible. También puede instalar «apparmor-profiles» para obtener una lista adicional de perfiles.
Para crear sus propios perfiles AppArmor, primero debe instalar «apparmor-utils».
sudo apt-get install apparmor-utils
Una vez instalado, ejecute el siguiente comando para iniciar el perfilado:
sudo aa-genprof /path/to/application
donde «/path/to/application» es la ruta del archivo a la aplicación que desea perfilar. La carpeta de la aplicación por defecto es «/usr/bin», pero puede ser diferente dependiendo de la aplicación.
A continuación, (dejando el terminal en ejecución) inicie la aplicación que va a Perfil. Para este ejemplo, estoy usando Krita. Use la aplicación como lo hace normalmente cualquier otro día.
Para cada acción que realice en la aplicación, vuelva al terminal y pulse «Mayúsculas + s» para que se escanee en busca de cambios.
Desde aquí se puede ver la ruta a la que está accediendo la aplicación y la gravedad de la acción. A continuación, puede «Permitir (A)» o «Denegar (D)» la acción.
Siga haciendo esto durante el resto de las acciones realizadas en la aplicación. Para obtener el mejor resultado, es mejor que planifique su lista de acciones antes de iniciar la creación de perfiles.
Por último, cuando haya terminado, pulse «Shift + F» para finalizar la creación del perfil y «Shift + s» para guardar el perfil.
Una vez creado, el perfil se guardará en la carpeta «/etc/apparmor.d» y se cargará en modo Enforcement.
Editar perfiles
Para editar su perfil recién creado, utilice el siguiente comando:
sudo aa-logprof /path/to/application
AppArmor escaneará las entradas del registro y le permitirá realizar cambios en el perfil.
Detener y reiniciar AppArmor
Por algunas razones que necesita para detener o reiniciar AppArmor, puede hacerlo fácilmente con
aparato de servicio de persuasión parada #aparato de parada
y
Sudo service apparmor restart #restart apparmor
Para obtener más información sobre AppArmor, consulte la página de Ubuntu AppArmor .
Fotografía: Knight in Shining Armor