Entendiendo AppArmor en Ubuntu [Linux]

Entendiendo AppArmor en Ubuntu [Linux]

Probablemente haya oído hablar de AppArmor mientras instalaba Ubuntu, pero dado que no es una aplicación que aparece en el Menú de aplicaciones y no aparece en ninguna forma gráfica, la mayoría de ustedes probablemente no tenga idea de lo que hace y por qué. es esencial para su sistema. En resumen, AppArmor es un módulo de seguridad que limita los programas individuales a un conjunto de archivos y capacidades enumerados para que no causen estragos en su sistema.

¿Qué es AppArmor?

AppArmor es un sistema de control de acceso obligatorio (MAC) que restringe los programas a un conjunto limitado de recursos. Restringe los programas a un conjunto de archivos, atributos y capacidades, por lo que no puede profundizar en el sistema y causar estragos (a menos que se le dé permiso). En lugar del modelo UAC de Windows que otorga 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 maneja el permiso es a través de Perfiles. Profiles es un conjunto de reglas que determina lo que el programa puede y no puede hacer. Hay dos modos en los que se pueden ejecutar los perfiles: Cumplimiento y Queja. El modo de Cumplimiento es un cumplimiento estricto de la política definida en el perfil, así como los intentos de violación de la política de informes. El modo de quejas solo informará los intentos de infracción de la política, pero no hará cumplir la política. La mayoría de los perfiles se cargan en el modo Cumplimiento, aunque puede haber una buena cantidad de perfiles de terceros que también se cargan en el modo Queja.

Comprobación de su estado de AppArmor

Si está utilizando Ubuntu 7.04 o superior, AppArmor se instala de manera predeterminada y se carga cuando inicia su computadora. Para verificar el estado de AppArmor, escriba el siguiente comando en la terminal:

Esto es lo que verás:

estado de apariencia

En mi sistema, puede ver que hay 17 perfiles cargados en el modo Cumplimiento y AppArmor aplica 4 procesos actualmente en ejecución.

Encontrar perfiles de AppArmor deshabilitados

Además de los perfiles que se ejecutan en el arranque, hay varios perfiles que están disponibles pero desactivados de forma predeterminada. Puede consultarlos en la carpeta «/etc/apparmor.d/disable». Desde aquí, puede ver que los perfiles de Firefox y Rsyslogd no están habilitados.

discapacitados

El perfil de Firefox probablemente se deshabilitó porque conduce a una caída del rendimiento en Firefox, pero si le gusta activar el perfil para poder navegar por la web con más tranquilidad, así es como puede hacerlo.

Abra una 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 se ve un perfil de AppArmor?

Si bien los perfiles suenan como un módulo de software complicado, en realidad es un archivo de texto simple 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).

apparmor-perfil

Crear sus propios perfiles para bloquear la aplicación

Ubuntu ha hecho un buen trabajo para protegerlo, pero si desea restringir una aplicación personalizada que no está protegida por Ubuntu, puede crear su propio perfil para bloquear la aplicación. Esto es particularmente útil en una condición de servidor donde muchas aplicaciones se ejecutan en segundo plano y no puede verlas.

Nota: antes de crear sus propios perfiles, es mejor consultar primero la biblioteca de perfiles de AppArmor existente para verificar si el perfil para su aplicación está disponible. También puede instalar “apparmor-profiles” para obtener una lista adicional de perfiles.

Para crear sus propios perfiles de AppArmor, primero debe instalar «apparmor-utils».

sudo apt-get install apparmor-utils

Una vez instalado, ejecute el siguiente comando para iniciar la creación de perfiles:

sudo aa-genprof /path/to/application

donde «/ruta/a/aplicación» es la ruta del archivo a la aplicación que desea perfilar. La carpeta de aplicación predeterminada es “/usr/bin”, pero podría ser diferente según la aplicación.

apparmor-perfiles-krita

A continuación, (dejando la terminal en ejecución) inicie la aplicación que va a perfilar. Para este ejemplo, estoy usando Krita. Utiliza la aplicación como lo haces habitualmente cualquier otro día.

Por cada acción que realice en la aplicación, regrese a la terminal y presione «Shift + s» para que busque cambios.

apparmor-perfil-escaneo-actualización

Desde aquí, puede ver la ruta a la que accede 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 para el resto de las acciones realizadas en la aplicación. Para obtener el mejor resultado, lo mejor es que planifiques tu lista de acciones antes de comenzar con la creación de perfiles.

Por último, cuando haya terminado, presione «Shift + F» para finalizar la creación de perfiles y «Shift + s» para guardar el perfil.

apparmor-guardar-perfil

Una vez creado, el perfil se guardará en la carpeta “/etc/apparmor.d” y se cargará en modo de Cumplimiento.

Editar perfiles

Para editar su perfil recién creado, use 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 por las que necesita detener o reiniciar AppArmor, puede hacerlo fácilmente con

sudo service apparmor stop   #stop apparmor

y

sudo service apparmor restart   #restart apparmor

Para obtener más información sobre AppArmor, consulte el Página de Ubuntu AppArmor.

Credito de imagen: Caballero de brillante armadura

Experto Geek - Tu Guía en Tendencias Tecnológicas