Para que sirve AppArmor y como mejora la seguridad en Linux
Durante mucho tiempo los usuarios de Linux fuimos como los protagonistas del cuento de los tres cerditos. Una falsa sensación nos llevaba a creer que estábamos a salvo de los problemas de seguridad de los que Windows eran víctimas frecuentes.
La realidad nos demostró que no éramos tan invulnerables como creíamos. Aunque, para ser justos, la mayoría de las vulnerabilidades denunciadas las detectaron en laboratorios de seguridad informática y, difícilmente las condiciones necesarias para aprovecharlas se den en el mundo real, todavía hay bastantes problemas para que no bajemos la guardia.
Medidas de seguridad del núcleo Linux
El consenso general entre los especialistas en seguridad informática es que las medidas destinadas a impedir el ingreso no autorizado al sistema como cortafuegos o mecanismos de detección de intrusos ya no bastan para detener ataques cada vez más sofisticados. Es necesario establecer una nueva línea de defensa que, en caso de que se produzca un ingreso no autorizado al sistema, no le permita al invasor hacer nada dañino.
El principio de los mínimos privilegios
El principio de los mínimos privilegios establece como norma de seguridad fundamental que los usuarios de un sistema informático solo deben recibir el conjunto mínimo de privilegios y recursos que le sean necesarios para realizar su función específica. De esta forma se reduce o evita que el uso indebido o negligente de una aplicación sea el vector de entrada de un ataque informático.
Durante mucho tiempo los linuxeros construimos nuestra confianza en la seguridad de nuestro sistema operativo sobre un mecanismo del núcleo conocido como Control de Acceso Discrecional. El Control de Acceso Discrecional determina a que recursos del sistema pueden acceder usuarios y aplicaciones.
El problema es que su gama de opciones es muy limitada y que, como indica la palabra discrecional, algunos usuarios con permisos suficientes pueden hacer modificaciones susceptibles de ser aprovechadas por delincuentes informáticos.
Control de Acceso Obligatorio
El Control de Acceso Obligatorio se diferencia del Control de Acceso Discrecional en que el sistema operativo restringe lo que las aplicaciones pueden hacer de acuerdo a las instrucciones establecidas por el administrador de sistemas y que el reestoo de usuarios son incapaces de modificar.
En el núcleo Linux esto es responsabilidad del Módulo del Subsistema de Seguridad de Linux que ofrece diferentes procedimientos que pueden invocarse desde herramientas como la que mencionamos en este artículo.
Para que sirve AppArmour
AppArmour utiliza el paradigma del Control de Acceso Obligatorio para mejorar la seguridad de las distribuciones Linux. Se basa en el Módulo del Subsistema de Seguridad de Linux para limitar el comportamiento de aplicaciones individuales de acuerdo a las directivas establecidas por el administrador.
Estas directivas se expresan en forma de archivos de texto plano conocidos como perfiles. Gracias a los perfiles, el administrador de sistemas puede restringir el acceso a archivos, condicionar las interacciones entre procesos, establecer en que casos se puede hacer el montaje de un sistema de archivos, limitar el acceso a la red, determinar la capacidad de una aplicación y cuántos recursos puede utilizar. En otras palabras, un perfil de AppArmor contiene una lista blanca de comportamientos aceptables para cada aplicación.
Las ventajas de este enfoque son:
- Permite a los administradores pueden aplicar el principio de privilegios mínimos a las aplicaciones. En caso de que una aplicación sea comprometida no podrá acceder a los archivos o realizar acciones fuera de lo que se establezca como parámetro normal de funcionamiento
- Los perfiles se escriben en un lenguaje amigable para el administrador y se almacenan en ubicaciones a las que puede acceder fácilmente.
- La aplicación de perfiles individuales se puede habilitar o deshabilitar independientemente de lo que pase con el resto de los perfiles. Esto permite a los administradores deshabilitar y depurar un perfil específico para una aplicación específica sin afectar el funcionamiento del resto del sistema.
- En el caso de que una aplicación intente realizar alguna acción que entra en conflicto con lo establecido en el correspondiente perfil, se registra el evento. De esta forma los administradores reciben una alerta temprana.
AppArmor no reemplaza al Control de Acceso Discrecional, es decir que no puede autorizar algo que esté prohibido, pero si puede prohibir algo que esté permitido.
AppArrmour trae algunas herramientas preinstaladas en las principales distribuciones Linux, y puedes encontrar más en los repositorios.
Puedes encontrar más información en la página del proyecto