¿Por qué necesitamos SELinux?

14

No pude tener mucha idea de dónde se ha utilizado el SELinux y qué salva del atacante. He visitado el sitio web de SELinux y he leído lo básico, pero aún no tengo ni idea de SELinux. Para el sistema Linux que proporciona el shell SSH, el front-end de Apache, la aplicación web basada en roles, MySQL DB, memcached, casi todos los sistemas están protegidos con contraseña, entonces ¿por qué necesitamos SELinux?

Krish
fuente

Respuestas:

14

Puede ver SELinux como un firewall de llamadas al sistema : una política para cada aplicación especifica lo que es razonable que haga la aplicación: el servidor de nombres puede escuchar en el puerto 53, trabajar con algunos archivos de zona en un directorio particular, enviar syslog, etc. ., pero no tiene sentido que intente trabajar con archivos en / home, por ejemplo. La aplicación de dicha política por parte de SELinux significa que será mucho más difícil que una debilidad en el servidor de nombres se extienda a otras partes del sistema.

Encuentro que SELinux proporciona un valor de seguridad real. Pero aunque ciertamente se ha vuelto más fácil trabajar con los años, desafortunadamente sigue siendo un sistema bastante complejo. Lo bueno es que puede desactivarlo fácilmente para algunos servicios, sin tener que desactivarlo para todo el sistema. Demasiados (¿junior?) Los administradores de sistemas dan vuelta a SELinux en todos los ámbitos, tan pronto como se encuentran con el más mínimo problema con un servicio, en lugar de apagarlo selectivamente para el servicio que causa problemas.

Troels Arvin
fuente
Curioso: "apagarlo fácilmente para algunos servicios" ¿cómo?
Belmin Fernández
man -k selinuxEs un buen lugar para comenzar. Por lo general, hay * _disable_trans sebools que se pueden configurar para deshabilitar SELinux en servicios particulares.
jgoldschrafe
2
@jgoldschrafe Y así de "fácil" es.
Jürgen A. Erhard
1
"no tiene sentido que intente trabajar con archivos en / home", ¿y no puede restringir el acceso del servidor DNS a esos archivos con permisos?
symcbean
8

No todos los problemas de seguridad se pueden predecir de antemano. Si un atacante logra explotar una debilidad en, por ejemplo, un módulo httpd de un tercero, entonces tiene acceso a los mismos archivos que el usuario httpd está ejecutando. SELinux restringe aún más esto al limitarlos a acciones y contextos de archivo a los que su dominio SELinux tiene acceso.

Ignacio Vazquez-Abrams
fuente
2

Creo que el término Control de acceso obligatorio lo resume muy bien. SELinux le brinda un sistema más seguro a través de un núcleo más seguro, en gran parte debido a una implementación de MAC.

user32302
fuente
2

SELinux hace un buen trabajo al exponer la gran complejidad de un sistema Linux completo.
Un aspecto interesante de la seguridad es la pregunta "¿qué está haciendo?"
Bueno, si está funcionando, es posible que nunca lo sepas. Si está ejecutando un servidor web y acaba de funcionar, es posible que no sepa que incluso se probaron algunos ataques contra su sistema.
En cuanto a las empresas privadas, no lo sé. Si necesitan la integridad que SELinux trae a la mesa, entonces deberían hacerlo.
En cuanto al gobierno, hay fuentes públicas (lista de proyectos gubernamentales y similares) que parecen indicar que se está utilizando MAC, y que es posible que sea bastante pesado. Los sistemas gubernamentales, según la implementación y la información que contiene un sistema, deben cumplir ciertos criterios antes de ser utilizados.
Al final, la seguridad es realmente la gestión de riesgos y la elección del nivel correcto de esfuerzo.
Además, la seguridad es un esfuerzo continuo, no algo que simplemente enciende.

Ansari
fuente