Cómo deshabilitar SELinux temporal o permanentemente

Publicado el 23 diciembre 2021 por Ubuntizando

Hoy he tenido un escenario un tanto curioso. En un conjunto de máquinas virtuales LINUX en Azure comenzó a suceder algo realmente extraño. El disco comenzaba a ocuparse casi en su totalidad sin aparente razón. Bueno, en realidad sí, el archivo de registro omsconfigdetailed.log generado por el agente de Azure Log Analytics había alcanzado 4GB de tamaño. Sobra decir que aquello era una barbaridad.

Así que tocó hacer investigación y lo que descubrí es que SELinux estaba causando algún tipo de mala interacción con el agente.SELinux se describe como una estructura de seguridad de control de acceso obligatorio ejecutada en el kernel. SELinux ofrece un medio para hacer cumplir algunas políticas de seguridad que de otro modo no serían implementadas de manera efectiva por un administrador del sistema.

No voy a entrar en el porqué de esa mala interacción pero cuando instalamos RHEL o CentOS,  SELinux viene habilitado de forma predeterminada, debido a esto, algunas aplicaciones que no admiten este mecanismo de seguridad pueden experimentar problemas.Por lo tanto, una forma de resolver esto temporalmente es deshabilitando SELinux del sistema.

Deshabilitando SELinux

Lo primero que debe hacer es verificar el estado de SELinux en su sistema, y puede hacerlo ejecutando el siguiente comando:
sestatus

Para deshabilitar SELinux temporalmente, ejecutamos el siguiente comando como root:

echo 0 > /selinux/enforce

Pero esto solo funcionará hasta el siguiente reinicio, por lo tanto, para deshabilitar SELinux permanentemente debemos abrir el archivo /etc/sysconfig/selinux usando nuestro editor favorito (vi, pico, nano…). Por ejemplo:  vi /etc/sysconfig/selinux

Y ahora cambiamos donde dice SELinux=enforcing a SELinux=disabled y guardamos. Tras reiniciar el sistema todo debería funcionar de nuevo correctamente y omsconfigdetailed.log habrá perdido peso.

Ahora la pregunta. ¿Es esto aconsejable? ¿Es una buena práctica? No, no lo es. Pero mientras no se resuelve este comportamiento creo que es el único workaround por el momento. Al menos el único que he podido encontrar.