Comparación entre AppArmor y Selinux

55

Estaba revisando varias comparaciones diferentes de AppArmor y SELinux que incluyen:

De estos artículos, llego a la conclusión de que AppArmor es mejor que SELinux, ya que AppArmor es mucho menos complejo y tiene una curva de aprendizaje mucho más corta. Por lo tanto, la mayoría de las comparaciones están a favor de AppArmor, pero ¿cómo puedo decir que AppArmor es más seguro que SELinux?

    
pregunta Ali Ahmad 20.01.2013 - 13:30
fuente

7 respuestas

38

Estos sistemas de seguridad proporcionan herramientas para aislar aplicaciones entre sí ... y, a su vez, aíslan a un atacante del resto del sistema cuando una aplicación está comprometida.

Los conjuntos de reglas de SELinux son increíblemente complejos, pero con esta complejidad usted tiene más control sobre cómo se aíslan los procesos. Generación de estas políticas puede ser automatizado . Una huelga contra este sistema de seguridad es que es muy difícil de verificar de forma independiente.

AppArmor (y SMACK) es muy sencillo. Los perfiles pueden ser escritos a mano por humanos, o generados usando aa-logprof . AppArmor utiliza el control basado en la ruta, lo que hace que el sistema sea más transparente para que pueda verificarse de forma independiente.

    
respondido por el rook 20.01.2013 - 19:11
fuente
23

the insanitybit link es a mi sitio web. Simplemente me gustaría justificar mi opinión aquí :)

Si miras a SELinux y Apparmor, ambos son fuertes y débiles de la misma manera. SELinux es "más fuerte" en el sentido de que puede obtener un acceso aún más preciso a los archivos, pero ¿qué le gana a un atacante por estar en un perfil de apparmor? Ya estás significativamente restringido en un perfil de apparmor. Entonces, ¿realmente ganas mucho más con SELinux?

Lo que usted gana con SELinux (especialmente para la creación de políticas, mucho más que la auditoría, aunque la auditoría para permitir también es doloroso) es una complejidad agregada. Mucho de eso.

La ruta de menor resistencia en un entorno limitado de Linux, como SELinux o Apparmor, es el kernel . SELinux hace nada más que Apparmor para asegurar el kernel.

Entonces, si un atacante quiere ir por el camino estúpido de ir por problemas de diseño en Apparmor / SELinux, SELinux es potencialmente más seguro, pero eso supone que los perfiles están bien construidos y, dado que SELinux es tan complejo, en realidad hemos visto vulnerabilidades introducidas con él.

Si un atacante es inteligente, irá por el kernel, evitando ambos.

Por lo tanto, ambos son débiles de la misma manera, fuertes en todos los aspectos que importan, y uno de ellos es MUCHO más simple.

Voila.

La metáfora de la navaja no funciona, eso debería ser obvio.

    
respondido por el IBit 24.12.2013 - 23:54
fuente
6

AppArmor es más seguro por su simplicidad, lo que facilita la revisión y validación de las políticas. Es menos probable que se cometan errores, que sean más fáciles de detectar y que un intento de puerta trasera sea más difícil de ocultar.

    
respondido por el evanxsummers 17.10.2013 - 14:16
fuente
3

En general, no puede decir que appArmor es mejor que SELinux. Esto se debe a que mucho depende de lo que está asegurando y de lo que está protegiendo y de las habilidades y preferencias individuales de la persona responsable de mantener el sistema.

SELinux tiene un mayor control de grano fino. En algunas situaciones, esto lo haría más apropiado que AppArmor. Por otro lado, es probable que AppArmor sea lo suficientemente potente para la mayoría de los usuarios de Linux. Además, muchos informan que es más fácil de entender y usar, lo que significa que es menos probable que los errores en la configuración causen agujeros peligrosos que son difíciles de encontrar. Por otro lado, hacer que alguien que se sienta cómodo y familiarizado con SELinux use AppArmor podría fácilmente dar como resultado errores de configuración simplemente porque no es el sistema que ellos conocen.

El punto es que debe evaluar en función de la situación específica y los conjuntos de habilidades / preferencias de los involucrados. Ambos son buenos sistemas: lo que importa es elegir la herramienta adecuada para la situación correcta, no cuál es mejor que la otra.

    
respondido por el Tim X 25.01.2013 - 05:19
fuente
2

El punto entero del control de acceso obligatorio es permitir una configuración detallada. La simplicidad es completamente irrelevante a menos que los dos sean iguales en todos los demás aspectos. A veces, la complejidad es lo que se necesita para hacer el trabajo.

A medida que sucede, SELinux tiene una granularidad mucho mejor, es más maduro, se implementa más ampliamente y, en mi opinión subjetiva, está mejor diseñado. Su conclusión se parece más a la cultura pop que a una evaluación real.

(Concluyo que un cuchillo de mantequilla es mejor que una motosierra, basado en un cuchillo de mantequilla es mucho menos complejo y menos peligroso)

    
respondido por el Craig 31.07.2013 - 09:37
fuente
2

Desde mi experiencia personal al utilizar SElinux, diría que no agregó ninguna complejidad a GNU + Linux, lo único que hizo y considero una ventaja es traer la complejidad que ya es inherente a la El sistema operativo, que desconcierta a muchos de nosotros, no tiene nada que ver con su paradigma de diseño o su implementación. En comparación con AppArmor (AA), SElinux tiene un punto de vista más hollístico y abstracto para lo que debería ser un sistema seguro donde AA tiene una mentalidad de contenedor para pensar en las aplicaciones en la medida en que se especifican las rutas de los perfiles de AA para los recursos permitidos Lo cual no es muy abstracto. sí, puede ser más sencillo escribir un perfil para cada aplicación, pero pierde la vista holística del sistema. Ahora, prácticamente SElinux funciona mejor con Fedora y RHEL, ya que AA lo hace previamente, mientras que AA funciona mejor en Ubuntu y SUSE, lo que significa que sería mejor aprender a usar SElinux en las distros anteriores que pasar por la tarea de hacer que AA trabaje en ellas y viceversa. al revés.

    
respondido por el sami 03.11.2016 - 17:17
fuente
1

SELinux es seguramente una herramienta de seguridad más completa y ambiciosa que AppArmor. SELinux es un universo amplio, lo impregna todo, potencialmente etiqueta todos los objetos en el sistema y conceptualmente eleva el sistema a una infraestructura de seguridad más sofisticada, le permite implementar todos los paradigmas principales de seguridad en la teoría del control de acceso; incluso

las organizaciones militares y gubernamentales pueden usarlo para sus estrictas necesidades de seguridad. Con SELinux es posible implementar MAC (“Control de acceso obligatorio”), MLS (“Seguridad multinivel”, con los modelos Bell-La Padula y Biba), MCS (“Seguridad multicategoría”), RBAC (“Basado en roles Control de acceso ”), TE (“ Tipo de Ejecución ”). Además, SELinux se basa en la denegación por defecto.  principio.

AppArmor, por otro lado, simplemente le permite definir lo que una sola aplicación puede y no puede hacer, de acuerdo con el principio de privilegio mínimo pero sin la implementación de paradigmas de seguridad completos.

    
respondido por el bryn1u 25.10.2016 - 14:29
fuente

Lea otras preguntas en las etiquetas