Con exploits y vulnerabilidades que se revelan casi a diario y con informes de ciberdelitos en aumento, la seguridad es una preocupación para todos. Existen diferentes maneras de mejorar la seguridad de tu sistema. Si utilizas (o planeas utilizar) un servidor CentOS o Fedora, SELinux es un punto de partida ideal. SELinux es un protocolo y aplicación de seguridad rápido y robusto que te ayuda a verificar y controlar los usuarios y su nivel de acceso a los archivos y aplicaciones del sistema. En este artículo, haré una breve introducción a SELinux antes de mostrarte cómo habilitar SELinux en CentOS 7.
¿Qué es SELinux?
Security-Enhanced Linux (SELinux) es un mecanismo de seguridad que otorga a los administradores de sistemas Linux un control más granular sobre los usuarios que acceden al sistema. Fue desarrollado originalmente por la Agencia de Seguridad Nacional de los EE. UU. (NSA) como una serie de parches y mejoras al kernel de Linux mediante los Linux Security Modules (LSM). SELinux se publicó como herramienta de código abierto en el año 2000 y se integró en el kernel de Linux en 2003.
¿Cómo funciona SELinux?
SELinux controla el acceso a todos los archivos, procesos y aplicaciones del sistema. A partir de un conjunto de reglas predefinidas como políticas de seguridad, SELinux puede establecer una política de acceso segura y precisa. SELinux protege el sistema e impide los intentos no autorizados de acceder a un recurso. En este enfoque, el principio de mínimo privilegio implica que el usuario de un programa debe tener permiso explícito para acceder a archivos, directorios, sockets y otros servicios.
Cuando una aplicación o proceso (denominado "sujeto") solicita acceso a un archivo como objeto, SELinux utiliza el Access Vector Cache (AVC) para evaluar dicho acceso. Esta caché almacena todos los permisos de sujetos y objetos, es decir, los procesos y aquello a lo que intentan acceder. Si no hay permisos almacenados en caché, SELinux no puede tomar ninguna decisión. En ese caso, consulta directamente al servidor de seguridad para obtener la información necesaria y evaluar la solicitud. El servidor de seguridad aplica la política de SELinux y, con base en ella, concede o deniega el acceso. Siempre puedes revisar los registros de mensajes (en "/var/log.messages") para ver qué solicitudes han sido aceptadas o denegadas.
¿Cuáles son los modos de SELinux?
SELinux permite a los administradores configurar su funcionamiento en uno de los tres modos siguientes. Cada modo tiene distintas restricciones de seguridad y sus propios casos de uso:
Modo Enforcing: Es el modo por defecto. Bloquea y registra todas las acciones que no cumplen con las políticas de seguridad.
Modo Permissive: Este modo te permite analizar registros y eventos en detalle, y resulta especialmente útil para probar la configuración de SELinux. Cambiar entre el modo forzado y el permisivo no requiere reiniciar el sistema.
Modo Disabled: Permite ejecutar todas las acciones sin registrarlas. Para activar este modo es necesario reiniciar el sistema.
Cómo habilitar SELinux en CentOS 7
-
Verificar el estado de SELinux:
Paso 1: Comprueba el estado de SELinux (activado/desactivado)
Antes de intentar habilitar SELinux, verifica si ya está deshabilitado.
Escribe el siguiente comando en tu terminal para comprobar la configuración:
sestatus
La salida indica que SELinux está actualmente deshabilitado en tu sistema.
Paso 2: Verifica los requisitos para habilitar SELinux
- Una cuenta de usuario con privilegios sudo
- Acceso a una terminal o consola
- Un sistema basado en RHEL como CentOS 7
- El editor de texto nano
Hosting con Linux, sin complicaciones
¿Buscas una forma mejor de alojar tus sitios web y aplicaciones? ¿Estás desarrollando algo nuevo? ¿Simplemente no te convence Windows? Para eso existe Linux VPS.
Obtén tu Linux VPS-
Iniciar SELinux:
Paso 3: Abre el archivo de configuración con el editor nano
Configura el estado de SELinux para el servicio. Para ello, abre el archivo /etc/selinux/config y edítalo con un editor de texto como Nano.
sudo nano /etc/selinux/config
Paso 4: Cambia el modo de SELinux
Ahora puedes cambiar el modo de SELinux a: permisivo or enforcing.
Modifica la línea marcada según el modo que necesites.

Paso 5: Guarda los cambios
Pulsa CTRL + X para aplicar y guardar. Luego pulsa 'y', luego a Enter para confirmar el proceso.
Paso 6: Reinicia el servidor
Ahora debes reiniciar el sistema. Para ello, introduce el siguiente comando y pulsa <Enter>:
sudo reboot
Paso 7: Comprueba de nuevo el estado de SELinux
Si quieres consultar el estado de SELinux, introduce "sestatus en la línea de comandos otra vez.
El resultado confirma que el modo de aplicación forzosa ya está activado en el sistema.
Cómo deshabilitar SELinux en CentOS 7
Ejecuta el siguiente comando para cambiar el modo SELinux temporalmente de targeted a permissive:
sudo setenforce
Pero ten en cuenta que este cambio solo se aplica a la sesión de ejecución actual.
Para desactivar SELinux en tu sistema CentOS 7 de forma permanente, sigue estos pasos:
Paso 1: Establece el modo de SELinux en "disabled"
Open the /etc/selinux/config file, then you should set the SELINUX mode to “disabled”
Paso 2: Guarda los cambios y reinicia
Guarda el archivo y, a continuación, reinicia tu sistema CentOS con el siguiente comando:
sudo shutdown -r now
Paso 3: Vuelve a comprobar el estado de SELinux
Cuando el sistema arranque, confirma el cambio ejecutando un sestatus comando:
sestatus
Cómo cambiar el modo de SELinux
En lugar de desactivar SELinux por completo, cambia su modo a permisivo. Las acciones realizadas quedan registradas en el archivo de log.
Ahora sigue los pasos a continuación para cambiar el modo SELinux de enforcing to permisivo tipo:
sudo setenforce 0
Ahora debes activar el enforcing modo activado, así que introduce el siguiente comando:
sudo setenforce 1
Estos cambios solo son válidos para la sesión actual. Se revertirán a sus valores predeterminados tras reiniciar el sistema. Para que sean permanentes, edita el archivo de configuración con un editor de texto (como nano, por ejemplo).
Hosting con Linux, sin complicaciones
¿Buscas una forma mejor de alojar tus sitios web y aplicaciones? ¿Estás desarrollando algo nuevo? ¿Simplemente no te convence Windows? Para eso existe Linux VPS.
Obtén tu Linux VPSProteger tu servidor CentOS 7 más allá de SELinux
Ahora que has instalado SELinux en tu CentOS 7, puedes estar tranquilo sabiendo que tu sistema es más seguro que antes. Por supuesto, ningún sistema puede garantizar una seguridad absoluta. Siempre hay más por hacer; consulta, por ejemplo, los elementos de este guía para proteger tu Linux VPS. De hecho, con SELinux solo hemos utilizado las medidas de seguridad más básicas que ofrece. Además, cualquier protección que configures por tu cuenta no servirá de nada si el proveedor de hosting de tu servidor no es suficientemente seguro. Por eso, en Cloudzy mantenemos los niveles de seguridad más altos: firewalls de hardware e inteligencia artificial, protección inteligente DDoS y otras medidas propietarias. Disfruta de nuestro Soluciones CentOS VPS y ejecutar un servidor verdaderamente seguro.
