AppArmor ("Application Armor") es un módulo de seguridad del kernel de Linux que permite al administrador del sistema restringir las capacidades de los programas con perfiles por programa. Los perfiles pueden permitir funciones como el acceso a la red, el acceso a los sockets sin procesar y el permiso para leer, escribir o ejecutar archivos en rutas coincidentes. AppArmor complementa el modelo tradicional de control de acceso discrecional (DAC) de Unix al proporcionar control de acceso obligatorio (MAC). Se ha incluido parcialmente en la línea principal del núcleo de Linux desde la versión 2.6.36 y su desarrollo ha sido apoyado por Canonical desde 2009.
Autor (es) original (es) | Immunix |
---|---|
Desarrollador (es) | Originalmente por Immunix (1998-2005), luego por SUSE como parte de Novell (2005-2009), y actualmente por Canonical Ltd (desde 2009). |
Versión inicial | 1998 |
Lanzamiento estable | 3.0.1 / 2 de diciembre de 2020 [1] |
Repositorio | gitlab |
Escrito en | Python , C , C ++ , sh [2] |
Sistema operativo | Linux |
Tipo | Seguridad, módulos de seguridad de Linux (LSM) |
Licencia | Licencia pública general GNU |
Detalles
Además de crear perfiles manualmente, AppArmor incluye un modo de aprendizaje, en el que se registran las infracciones de perfil, pero no se evitan. Este registro se puede utilizar para generar un perfil de AppArmor, según el comportamiento típico del programa.
AppArmor se implementa mediante la interfaz del kernel de los módulos de seguridad de Linux (LSM).
AppArmor se ofrece en parte como una alternativa a SELinux , que los críticos consideran difícil de configurar y mantener para los administradores. [3] A diferencia de SELinux, que se basa en aplicar etiquetas a los archivos, AppArmor trabaja con rutas de archivo. Los defensores de AppArmor afirman que es menos complejo y más fácil de aprender para el usuario promedio que SELinux. [4] También afirman que AppArmor requiere menos modificaciones para funcionar con los sistemas existentes. [ cita requerida ] Por ejemplo, SELinux requiere un sistema de archivos que admita "etiquetas de seguridad" y, por lo tanto, no puede proporcionar control de acceso para archivos montados a través de NFS. AppArmor es independiente del sistema de archivos.
Otros sistemas
AppArmor representa uno de varios enfoques posibles al problema de restringir las acciones que puede realizar el software instalado.
El sistema SELinux generalmente adopta un enfoque similar al de AppArmor. Una diferencia importante, SELinux identifica los objetos del sistema de archivos por el número de inodo en lugar de la ruta. En AppArmor, es posible que se pueda acceder a un archivo inaccesible si se crea un vínculo físico. Esta diferencia puede ser menos importante de lo que alguna vez fue, como Ubuntu 10.10 y luego mitigar esto con un módulo de seguridad llamado Yama, que también se usa en otras distribuciones. [5] El modelo basado en inodo de SELinux siempre ha negado inherentemente el acceso a través de enlaces duros recién creados porque el enlace duro estaría apuntando a un inodo inaccesible.
SELinux y AppArmor también difieren significativamente en cómo se administran y cómo se integran en el sistema.
El aislamiento de procesos también se puede lograr mediante mecanismos como la virtualización; el proyecto One Laptop per Child (OLPC), por ejemplo, almacena aplicaciones individuales en un Vserver ligero .
En 2007, se introdujo el núcleo de control de acceso obligatorio simplificado .
En 2009, se incluyó una nueva solución llamada Tomoyo en Linux 2.6.30; como AppArmor, también utiliza control de acceso basado en rutas.
Disponibilidad
AppArmor se utilizó por primera vez en Immunix Linux 1998-2003. En ese momento, AppArmor se conocía como SubDomain, [6] [7] una referencia a la capacidad de un perfil de seguridad para un programa específico para ser segmentado en diferentes dominios, entre los cuales el programa puede cambiar dinámicamente. AppArmor se puso a disposición por primera vez en SLES y openSUSE y se habilitó por primera vez de forma predeterminada en SLES 10 y en openSUSE 10.1.
En mayo de 2005, Novell adquirió Immunix y cambió el nombre de SubDomain a AppArmor y comenzó a limpiar y reescribir el código para su inclusión en el kernel de Linux . [8] Desde 2005 hasta septiembre de 2007, Novell mantuvo AppArmor. Novell pasó a manos de SUSE, que ahora es el propietario legal del nombre de marca registrada AppArmor. [9]
AppArmor fue portado / empaquetado exitosamente por primera vez para Ubuntu en abril de 2007. AppArmor se convirtió en un paquete predeterminado a partir de Ubuntu 7.10 y vino como parte del lanzamiento de Ubuntu 8.04, protegiendo solo CUPS por defecto. A partir de Ubuntu 9.04, más elementos como MySQL tienen perfiles instalados. El endurecimiento de AppArmor continuó mejorando en Ubuntu 9.10, ya que se envía con perfiles para su sesión de invitado, máquinas virtuales libvirt , el visor de documentos Evince y un perfil opcional de Firefox. [10]
AppArmor se integró en la versión del kernel 2.6.36 de octubre de 2010. [11] [12] [13] [14]
AppArmor se ha integrado a DSM de Synology desde 5.1 Beta en 2014. [15]
AppArmor se habilitó en Solus Release 3 el 15/8/2017. [dieciséis]
AppArmor está habilitado de forma predeterminada en Debian 10 (Buster) , lanzado en julio de 2019. [17]
AppArmor está disponible en los repositorios oficiales de Arch Linux . [18]
Ver también
- SELinux
- Sistema de detección de intrusiones de Linux (LIDS)
- Systrace
Referencias
- ^ "Notas de la versión 3.0.1" . Equipo de desarrollo de AppArmor .
- ^ El proyecto de código abierto de AppArmor Application Armor en la página de idiomas de Open Hub
- ^ Mayank Sharma (11 de diciembre de 2006). "Linux.com :: SELinux: Seguridad integral al precio de usabilidad" . Archivado desde el original el 2 de febrero de 2009 . Consultado el 25 de octubre de 2007 .
- ^ Ralf Spenneberg (agosto de 2006). "Armadura protectora: expulsar a los intrusos con AppArmor" . Revista Linux. Archivado desde el original el 21 de agosto de 2008 . Consultado el 2 de agosto de 2008 .
- ^ "Seguridad / Funciones - Wiki de Ubuntu" . wiki.ubuntu.com . Consultado el 19 de julio de 2020 .
- ^ Vincent Danen (17 de diciembre de 2001). "Immunix System 7: seguridad de Linux con un casco (no un Red Hat)" . Archivado desde el original el 23 de mayo de 2012.
- ^ WireX Communications, Inc. (15 de noviembre de 2000). "Immunix.org: la fuente de plataformas y componentes seguros de Linux" . Archivado desde el original el 3 de febrero de 2001.
- ^ "Historia de AppArmor" . AppArmor. Archivado desde el original el 2 de julio de 2017.CS1 maint: bot: estado de URL original desconocido ( enlace )
- ^ "AppArmor" . Oficina de Patentes y Marcas de Estados Unidos.
- ^ "SecurityTeam / KnowledgeBase / AppArmorProfiles - Ubuntu Wiki" . Consultado el 9 de enero de 2011 .
- ^ James Corbet (20 de octubre de 2010). "El kernel 2.6.36 está fuera" .
- ^ Linus Torvalds (20 de octubre de 2010). "Cambio de registro" . Archivado desde el original el 4 de septiembre de 2011.
- ^ "Linux 2.6.36" . 2010-10-20.
- ^ Sean Michael Kerner (20 de octubre de 2010). "Linux Kernel 2.6.36 obtiene AppArmor" .
- ^ "Notas de la versión del programa beta de DSM 5.1" .
- ^ "Distribución de Linux Solus 3 lanzada para entusiastas" .
- ^ "Nuevo en Buster" .
- ^ "Arch Linux - apparmor 2.13.4-4 (x86_64)" .
enlaces externos
- "Wiki de AppArmor" . GitLab . Consultado el 25 de abril de 2018 .
- Wiki de AppArmor (archivado)
- Descripción de AppArmor de openSUSE.org
- "Documentación detallada de AppArmor" . ArchLinux . Consultado el 25 de abril de 2018 .
- Hilo de LKML que contiene comentarios y críticas de AppArmor
- Paquetes de Apparmor para Ubuntu
- Contrapunto: (se requiere suscripción) Los expertos en seguridad de Novell y Red Hat se enfrentan en AppArmor y SELinux
- Seguridad de aplicaciones de AppArmor para Linux