¿Cuál es el estado de SELinux y hay alternativas?

2

Tengo un montón de máquinas virtuales, cada una de las cuales realiza una tarea dedicada: una es hospedar una base de datos, otra es un servidor web que utiliza una tecnología específica, otra es un servidor web que utiliza una pila diferente, etc.

Pensé en SELinux como un medio para evitar la propagación de una intrusión de una de esas máquinas; si un hacker encuentra una vulnerabilidad en el servidor web, no quiero que él pueda leer el archivo /etc/shadow o conectarse a NFS, o ... lo que sea.

Desafortunadamente, estoy usando Debian, que no parece tener un muy buen soporte de SELinux. Lo probé durante media hora, encontré muchos problemas durante la instalación, incluido el selinux-policy-default faltante , y encontré media docena de recursos que dicen que Debian y SELinux no juegan bien juntos.

Técnicamente, nada me impide moverme a CentOS, por lo que mi pregunta no es qué debo hacer para resolver los problemas que he encontrado.

Mi pregunta es más bien esto. Ya que Debian es una de las distribuciones más populares para los servidores y, supongo, se usa en entornos que son mucho más sensibles que los míos, y como nadie parece tener un incentivo para "arreglar" SELinux para que funcione perfectamente, ¿no es así? indica que SELinux no es tan popular en primer lugar?

Si es realmente impopular, ¿cuáles son las alternativas más populares?

¿O estoy sobreestimando la importancia de SELinux, y todo lo que se necesita son firewall y permisos de archivo configurados correctamente?

    
pregunta Arseni Mourzenko 07.01.2018 - 00:30
fuente

2 respuestas

3

SELinux proporciona un sistema de permisos más granular basado en el concepto de Control de acceso obligatorio (MAC) y Acceso basado en roles Control (RBAC) . Es mucho más flexible y capaz que los controles de acceso discrecionales típicos (permisos POSIX) y las capacidades de Linux, pero realmente requiere mucho esfuerzo para configurar y administrar correctamente.

Ya que usted preguntó específicamente sobre Debian, lo señalaré a AppArmor , que también es un Módulo de seguridad del kernel, y más frecuentemente (en mi experiencia) usado con Debian y Ubuntu. He configurado tanto SELinux como AppArmor, y encuentro que las políticas de AppArmor son más fáciles de entender.

Dicho esto, ambos se desarrollaron en una era en la que era "normal" tener muchos usuarios que usaban hosts únicos (es decir, tener cuentas de inicio de sesión de shell) o ejecutar muchos servicios desde un solo servidor. Hoy en día, el aislamiento se logra más comúnmente ejecutando un solo servicio en cada servidor (normalmente una máquina virtual) o utilizando otras tecnologías de espacio aislado.

Tanto SELinux como AppArmor tienen una curva de aprendizaje pronunciada, y la configuración incorrecta los dejará inútiles o romperá el uso legítimo del servicio. No necesita mirar mucho más allá del volumen de consejos en Internet que describen cómo deshabilitar SELinux para darse cuenta de que no es muy popular.

A menos que esté ejecutando alojamiento compartido u otras configuraciones que tengan múltiples usuarios operando en un único servidor (virtual), pondría el esfuerzo de seguridad en otros espacios, como la administración de parches y la segregación de la red.

    
respondido por el David 07.01.2018 - 03:17
fuente
2

SELinux es un bit de software bien escrito y estable. Sin embargo:

  1. en realidad no hace nada. Para eso necesitas una política.
  2. SELinux fue diseñado para proporcionar un modelo de permisos para un nuevo sistema operativo, pero se ha vuelto a instalar en Linux, que ya tenía un sistema de seguridad bastante sofisticado, por lo que ahora tiene 2 (o más)
  3. es probable que tenga que cambiar la política cada vez que agregue software, por lo que recomiendo NO usar una distro que no esté diseñada en torno a una política bien definida (es decir, Redhat y los derivados son el único juego en la ciudad) .
  4. lamentablemente, incluso la política de RedHat no está bien documentada

En mi humilde opinión, no hay evidencia empírica de que SELinux realmente haya mejorado la seguridad de un sistema, y rompe tantas cosas fuera de la caja, que requiere mucho esfuerzo para configurar y mantener lo que sería mejor empleado en otra parte .

  

Pensé en SELinux como un medio para evitar la propagación de una intrusión de una de esas máquinas; si un pirata informático encuentra una vulnerabilidad en el servidor web, no quiero que él pueda leer el archivo / etc / shadow o conectarse a NFS, o ... lo que sea.

Si, debido a una vulnerabilidad de su servidor web, el atacante puede leer / etc / shadow, entonces necesita pasar mucho tiempo configurando su servidor con herramientas convencionales: su seguridad está muy rota y SELinux no va a arreglar eso.

    
respondido por el symcbean 07.01.2018 - 02:40
fuente

Lea otras preguntas en las etiquetas