50% de descuento en todos los planes, por tiempo limitado. Desde $2.48/mo
6 min restantes
Seguridad y redes

Cómo habilitar SELinux en CentOS 7: protege tu servidor CentOS

Álex Robbins By Álex Robbins 6 min de lectura Actualizado el 30 de mayo de 2023
Habilitar SELinux en CentOS

   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.

Deshabilitar SELinux

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

linux-vps 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.

Estado de SELinux

 

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.

Habilitar SELinux

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). 

linux-vps 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

Proteger 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.

 

Compartir

Más del blog

Sigue leyendo.

Imagen de portada de una guía Cloudzy sobre VPN L2TP con MikroTik, que muestra un portátil conectándose a un rack de servidores a través de un túnel digital azul y dorado con iconos de escudo.
Seguridad y redes

Configuración de MikroTik L2TP VPN (con IPsec): guía para RouterOS (2026)

En esta configuración de MikroTik L2TP VPN, L2TP gestiona el túnel mientras IPsec se encarga del cifrado y la integridad. Combinarlos te da compatibilidad nativa con los clientes sin depender de software de terceros.

Rexa CyrusRexa Cyrus 9 min de lectura
Ventana de terminal con el mensaje de advertencia de SSH sobre un cambio en la identificación del host remoto, con el título de la guía de solución y la imagen de marca Cloudzy sobre fondo verde azulado oscuro.
Seguridad y redes

Advertencia: la identificación del host remoto ha cambiado. Cómo solucionarlo

SSH es un protocolo de red seguro que crea un túnel cifrado entre sistemas. Sigue siendo muy utilizado por desarrolladores que necesitan acceso remoto a equipos sin requerir una interfaz grá

Rexa CyrusRexa Cyrus 10 min de lectura
Ilustración de la guía de resolución de problemas del servidor DNS con símbolos de advertencia y un servidor azul sobre fondo oscuro, para errores de resolución de nombres de Linux
Seguridad y redes

Error temporal en la resolución de nombres: qué significa y cómo solucionarlo

Al usar Linux, es posible que te encuentres con un error de resolución de nombres temporal al intentar acceder a sitios web, actualizar paquetes o ejecutar tareas que requieren conexión a internet.

Rexa CyrusRexa Cyrus 12 min de lectura

¿Listo para desplegar? Desde 2,48 $/mes.

Cloud independiente, desde 2008. AMD EPYC, NVMe, 40 Gbps. 14 días de garantía de devolución.