¿AppArmor / SELinux proporciona alguna seguridad para la estación de trabajo?

3

Decidí reforzar un poco la seguridad en mi estación de trabajo principal. Antes solía usar firejail para ciertas aplicaciones menos confiables (todas las aplicaciones con acceso a Internet) pero es una especie de juguete. No funcionó muy bien para mí. Así que traté de leer sobre las herramientas reales que son SELinux y AppArmor.

Aunque digamos que entiendo cómo puede ser beneficioso para el servidor: ejecuta pocas aplicaciones conocidas con perfiles conocidos, es necesario habilitar el perfil y funciona. Guay. Pero no veo completamente cómo se supone que funciona para una estación de trabajo o un escritorio. No estoy seguro de si es verdad o me estoy perdiendo algo, pero si entendí bien, tanto AppArmor como SELinux requieren perfiles para asegurar las aplicaciones. Y esos perfiles deben ser pre-preparados. Por alguien. Para cada aplicación.

Bien, entonces estoy usando OpenSUSE en mi estación de trabajo. Funciona con muchas aplicaciones, así que elegí instalar DVD completo. Es alrededor de 16 GB de software de la caja. Como lo estoy usando también para el desarrollo web, además instalé una docena de navegadores web, etc, flashplayer, etc.

lapsio@linux-6o92 ~> ll /usr/bin/ | grep -vc "^l"
4225
lapsio@linux-6o92 ~> ls /etc/apparmor.d/ | wc -l
46

Por supuesto, no todas las aplicaciones en /usr/bin son aplicaciones completamente independientes, pero digamos que hay alrededor de 100-300 aplicaciones grandes, potencialmente vulnerables y peligrosas, ya que incluyen casi todas las aplicaciones que operan en archivos de algún lugar no confiable - Las imágenes pueden utilizar exploits en libmagic, documentar algunas macros, archivos svg con javascript, e incluso Blender permite ejecutar scripts de Python incrustados en un archivo 3d, por supuesto, todos los navegadores, todas las aplicaciones con capacidades web, etc. Así que de esas 300 aplicaciones ... en las reglas de la apparmor veo tal vez 5 que realmente pertenecen a la lista de esas aplicaciones vulnerables grandes.

El punto es: es prácticamente imposible crear un perfil para cada aplicación en el sistema operativo. El enfoque de lista negra es casi siempre malo cuando hablamos de seguridad. Entonces, ¿hay alguna solución de lista blanca? No estoy diciendo que Android sea super seguro, pero por otro lado, parece que realmente separa todas las aplicaciones entre sí.

La solución ideal sería permitir que todas las aplicaciones de forma predeterminada accedan solo a los archivos propios (determinados por el administrador del paquete) y no a acceso a Internet. Luego, para dar permiso explícito a cualquier otra ruta o acceso a Internet solo a ciertas aplicaciones. Si bien el segundo objetivo se puede lograr fácilmente con las reglas apropiadas de iptables, el primero es algo que debe ser alcanzado por SELinux o AppArmor. Pero no veo cómo.

    
pregunta Lapsio 13.12.2016 - 19:34
fuente

1 respuesta

4

Lo hice. Necesitas un plan, y necesitas dominar las herramientas. Debe poder comprometerse donde pueda y donde tenga que comprometerse. Necesitas trabajar para hacerlo realidad.

El control de acceso es parte de la imagen más grande. Hay confianza involucrada inevitablemente. Conocimiento sobre su entorno y amenazas. Compensaciones Sentido común, una dosis saludable de paranoia. Básicamente la conciencia en general.

Pero en una nota más práctica. Comienza instalando solo lo que necesitas. Cuanto más tienes, más se puede romper. Por lo tanto, no tiene que apuntar a cada proceso imaginable. Dirígete a lo que tienes que orientar para hacer el trabajo.

Esta es la política de seguridad que uso actualmente. Se adapta a mi entorno y a mis necesidades. Tiene concesiones, compromisos. Porque sin eso no sería posible. La seguridad nunca es absoluta, pero puedes sacar lo mejor de ella, y ese debería ser el objetivo.

¿Necesitas inspiración?

Esto es DSSP mi política de seguridad personal de SELinux:

enlace

    
respondido por el dac.override 13.12.2016 - 20:44
fuente

Lea otras preguntas en las etiquetas