GNU/Linux >> Tutoriales Linux >  >> Linux

¿Qué es SELinux? ¿Por qué es posible que desee desactivarlo?

Si ya conoce SELinux y es completamente consciente de los riesgos que enfrentaría al deshabilitarlo, aquí le mostramos cómo hacerlo.

  • Abra el archivo de configuración /etc/selinux/config o su enlace simbólico /etc/sysconfig/selinux .
  • Cambie la línea de SELINUX=enforcing a SELINUX=deshabilitado
  • Reinicie el sistema o use setenforce 0 para invocar el cambio inmediatamente.

Lea este artículo para obtener información más detallada sobre qué es SELinux, cómo deshabilitar SELinux y por qué no siempre es una buena idea deshabilitar SELinux.

¿Qué es SELinux?

SELinux significa Security Enhanced Linux. Es un mecanismo de etiquetado para brindar alta seguridad a los archivos y otros objetos en el sistema de procesos no autorizados y también procesos autorizados que no tienen o necesitan dicho acceso para evitar el mal uso.

Se puede instalar SELinux en cualquier sistema Linux existente. Este uso no será útil para todos los usuarios individuales pero es esencial para los sistemas de servidores.

Su rigidez de seguridad se puede entender por el hecho de que con SELinux, el proceso propiedad de la raíz, incluso si se piratea, no puede acceder a los archivos a los que no se les da acceso.

¿Cómo funciona SELinux?

SELinux aplica la política de acceso que seguirá el kernel cada vez que un proceso necesite acceder a un archivo u objeto. Según la política, a cada archivo o proceso se le asigna una etiqueta. Entonces, cuando un proceso con una etiqueta a:a:a necesita acceder al archivo (con la etiqueta b:b:b), ambos deben coincidir (excepto para la configuración de MLS en la que se seguirá la jerarquía según la política).

Obtenga más información sobre el etiquetado aquí y aquí.

Tenga en cuenta que deshabilitar SELinux en un servidor genera muchas amenazas para el sistema. Asegúrese de que no está haciendo esto por conveniencia ni contenido especulativo en los artículos, sino por una razón válida.

Inconvenientes de desactivar SE Linux

Al deshabilitar SELinux, cada proceso tendrá acceso a los archivos como en un sistema Linux normal. El abuso de los derechos no se puede prevenir. Un proceso pirateado puede obtener acceso a archivos secretos que no son necesarios para su propósito original y pueden ser mal utilizados. Este es un problema serio.

Si un proceso con permiso de raíz se ve comprometido, todo el sistema está en riesgo. Lo que proporciona SELinux es una seguridad más rígida. Obtenga más información sobre los riesgos aquí.

¿Por qué querría deshabilitar SELinux si es una función de seguridad?

Porque a menudo las características de seguridad extremas se convierten en un dolor. Lo mismo es cierto para SELinux.

Debido a que es demasiado estricto sobre qué archivos son accesibles por qué proceso, tendrá dificultades para hacer que varios servicios funcionen correctamente en su servidor.

Por ejemplo, si los archivos en /var/lib son propiedad de root y tienen permisos de archivo 000, el programa que requiere estos archivos no se ejecutará.

Además, cuando está depurando una aplicación, SELinux se convierte en una molestia. Deshabilitarlo te ahorra dolores de cabeza.

Sugerencia:use el modo permisivo con SELinux

Una práctica relativamente mejor es poner SELinux en modo permisivo antes de implementar su aplicación o depurar su problema y habilitarlo nuevamente después de eso.

El modo permisivo funciona como si SELinux estuviera deshabilitado pero, al mismo tiempo, se registrará como si SELinux estuviera habilitado.

De esta manera, puede saber a partir de los registros de /var/log/messages qué sucedería con su aplicación si SELinux estuviera habilitado. Compruebe si hay mensajes de denegación.

Tenga en cuenta que su sistema no está protegido con políticas de SELinux en modo permisivo.

Deshabilitar SELinux en CentOS y otras distribuciones de Linux

Puede deshabilitar SELinux siguiendo los siguientes pasos. Aunque estos comandos se prueban en CentOS, deberían funcionar perfectamente en Fedora y Red Hat Linux.

Creo que los mismos pasos también deberían aplicarse a otras distribuciones de Linux. Si no es así, háganoslo saber en la sección de comentarios.

Primero, verifique el estado de SELinux usando sestatus comando.

SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: enforcing
Mode from config file: enforcing
Policy MLS status: enabled
Policy deny_unknown status: allowed
Max kernel policy version: 31

Si SELinux está habilitado y está en modo de cumplimiento, puede deshabilitarlo siguiendo estos pasos.

Paso 1: Abra el archivo de configuración /etc/selinux/config o su enlace simbólico /etc/sysconfig/selinux

Paso 2: Cambie la línea de SELINUX=enforcing a SELINUX=disabled .

Paso 3: Reinicie el sistema o use setenforce 0 para cambiar el modo SELinux para la sesión actual y el cambio estará activo al reiniciar.

Nota :Para poner SELinux en modo permisivo, cambie el archivo de configuración para que tenga SELINUX=permisivo

¿Cómo habilitar SELinux nuevamente?

Como se mencionó anteriormente, es posible que desee habilitar SELinux nuevamente después de depurar su problema o implementar su aplicación. De hecho, deshabilitar temporalmente SELinux es quizás la mejor idea.

Puede volver a habilitar SELinux revirtiendo los cambios que hizo anteriormente.

Paso 1: Abra el archivo /etc/selinux/config o /etc/sysconfig/selinux nuevamente.

Paso 2: Esta vez cambie la línea a SELINUX=enforcing

Paso 3: Al final, reinicie el sistema o use el comando setenforce 1 para hacer cumplir SELinux inmediatamente.

Espero haber aclarado algunas cosas sobre SELinux, como el modo permisivo frente a la aplicación, la desactivación de SELinux, etc.

Si tiene preguntas o sugerencias para mejorar este artículo, háganoslo saber en la sección de comentarios a continuación. También comparta su opinión sobre la desactivación de SELinux.


Linux
  1. Cómo deshabilitar SELinux de forma temporal o permanente

  2. ¿Qué es POSIX? ¿Por qué es importante para los usuarios de Linux/UNIX?

  3. ¿Qué es un TAM y por qué querrías ser uno?

  4. ¿Cuál es el nivel de ejecución actual del sistema Linux?

  5. Deshabilitar SELinux en CentOS 6

11 razones por las que deberías cambiarte a Linux

¿Qué es un Homelab y por qué debería tener uno?

¿Qué es Zsh? ¿Deberías usarlo?

¿Qué es la función de la comunidad ONLYOFFICE y por qué debería usarla?

¿Qué es el sistema de archivos de Linux? Guía fácil

SystemD - ¿Para qué se utiliza SystemD?