Seguridad de Linux: Explorando SELinux a fondo

Conoce SELinux: DAC vs MAC, contextos de seguridad, modos Enforcing/Permissive, gestión de archivos, booleans y auditoría para desplegar sistemas más seguros sin perder funcionalidad.

21 sept 2025 • 5 min de lectura • Equipo Q2BSTUDIO

Inteligencia-Artificial-

Si has trabajado con distribuciones Linux basadas en Red Hat como Fedora, CentOS o RHEL seguro te has topado con SELinux, ese componente que muchos consideran un obstáculo y que terminan desactivando con setenforce 0. Sin embargo SELinux no es un enemigo sino un guardián que fortalece la seguridad del sistema mediante un modelo de Control de Acceso Obligatorio o MAC que limita lo que procesos y archivos pueden hacer más allá de los permisos tradicionales.

Concepto clave: DAC frente a MAC. En el modelo tradicional Discretionary Access Control DAC los permisos rwx para propietario grupo y otros determinan el acceso y el administrador root puede anular casi todo. En el modelo Mandatory Access Control MAC que implementa SELinux las reglas vienen definidas por una política del sistema y son obligatorias incluso para root. Si la política impide que el proceso del servidor web httpd_t escriba en un directorio con contexto user_home_t el acceso será denegado aunque los permisos DAC lo permitan. Este enfoque ayuda a contener daños cuando un servicio se compromete evitando movimientos laterales hacia datos de usuarios o archivos críticos del sistema.

Contextos de seguridad. El núcleo de SELinux son los contextos de seguridad o etiquetas. Cada archivo directorio y proceso tiene un contexto formado por cuatro componentes user:role:type:level donde el componente type es el más relevante para la mayoría de los casos. La política de SELinux define que procesos de tipo httpd_t solo pueden acceder a archivos de tipo httpd_sys_content_t por ejemplo. Puedes inspeccionar contextos usando las versiones con la opción Z de comandos conocidos como ls -lZ o ps auxZ para ver los tipos asociados a archivos y procesos.

Modos de SELinux y comandos básicos. Para diagnosticar primero comprueba el modo con getenforce que retorna Enforcing Permissive o Disabled. Enforcing aplica la política y deniega y registra violaciones. Permissive registra sin bloquear y es útil para pruebas. Disabled apaga SELinux y no se recomienda. Para ver más información usa sestatus. Cambiar el modo temporalmente se hace con setenforce 0 para permisos o setenforce 1 para imponer la política. Para cambios permanentes edita el archivo /etc/selinux/config y reinicia el sistema.

Gestión de contextos de archivos. Un problema frecuente es el contexto incorrecto tras mover archivos. chcon cambia el contexto de forma temporal por ejemplo chcon -t httpd_sys_content_t archivo pero no es persistente. Para reglas permanentes usa semanage fcontext -a -t httpd_sys_content_t '/ruta(/.*)?' y luego aplica esas etiquetas con restorecon -Rv /ruta. De este modo puedes servir contenido desde directorios no estándar sin desactivar SELinux.

Booleans de SELinux. Los booleans son interruptores que ajustan el comportamiento de la política sin escribir nuevas reglas. Lista todos con getsebool -a y cambia valores con setsebool por ejemplo setsebool httpd_can_network_connect on para permitir que httpd haga conexiones de red. Para persistir el cambio añade la opción -P.

Auditoría y resolución de problemas. Las denegaciones aparecen como mensajes AVC en los registros de auditoría normalmente ubicados en /var/log/audit/audit.log. Filtra por denied para encontrar entradas relevantes. Herramientas como sealert del paquete setroubleshoot-server traducen AVC crípticos a explicaciones y sugerencias. audit2allow puede generar reglas de política a partir de negaciones pero debe usarse con extremo cuidado porque puede abrir brechas si se acepta cualquier sugerencia sin revisar.

Casos prácticos. Servir una web desde /srv/mywebsite requiere ajustar el contexto y crear la regla persistente con semanage fcontext. Cambiar el puerto de un servicio implica registrar el nuevo puerto con semanage port -a -t ssh_port_t -p tcp 2222 si fuera el caso de ssh. Para scripts o procesos que necesitan acceder a recursos fuera de su contexto por defecto considera cambiar el contexto del binario o crear un módulo de política personalizado.

Comandos y opciones útiles de semanage. La sintaxis general es semanage objeto -acción opciones donde los objetos comunes son fcontext port boolean user login y las acciones incluyen -a añadir -d borrar -m modificar y -l listar. La opción -C lista solo las personalizaciones locales facilitando ver lo que has cambiado respecto al policy por defecto.

Por qué no debes desactivar SELinux por costumbre. Tratar SELinux como una molestia y desactivarlo es renunciar a una capa de defensa crítica. Conocer sus conceptos básicos control de contextos booleans y cómo leer los registros te permite mantener un sistema funcional y mucho más resistente a ataques y errores de configuración.

En Q2BSTUDIO somos especialistas en desarrollo de software y aplicaciones a medida y entendemos que la seguridad es parte esencial del ciclo de vida del software. Ofrecemos servicios integrales que incluyen auditorías de ciberseguridad pentesting y soluciones a medida que integran inteligencia artificial y prácticas de hardening como la correcta configuración de SELinux. Si te interesa reforzar la protección de tus sistemas puedes conocer nuestros servicios de ciberseguridad y pentesting en servicios de ciberseguridad y pentesting o explorar cómo desarrollamos aplicaciones y software a medida en desarrollo de aplicaciones y software a medida. Además en Q2BSTUDIO trabajamos con soluciones de inteligencia artificial para empresas agentes IA automatización y análisis con Power BI integrando servicios cloud aws y azure y servicios de inteligencia de negocio para ofrecer proyectos escalables y seguros.

Conclusión. SELinux puede parecer complejo al principio pero dominar sus principios MAC contextos y herramientas de auditoría permite desplegar sistemas seguros sin sacrificar funcionalidad. Enfócalo como una capa adicional de defensa y apóyate en equipos expertos cuando necesites políticas personalizadas módulos o auditorías de seguridad para tus aplicaciones a medida e infraestructuras en la nube.

¿UNA PAUSA?

Juega un momento antes de irte

NUESTROS SERVICIOS

Cómo podemos ayudarte

Inteligencia artificial

Agentes de IA, chatbots y asistentes inteligentes que automatizan tareas y atienden a tus clientes 24/7 para mejorar la eficiencia de tu negocio.

Más info

Desarrollo de software

Aplicaciones web, móviles y de escritorio, intranets, e-commerce, SaaS y plataformas de gestión diseñadas para las necesidades concretas de tu empresa.

Más info

Servicios cloud

Migración, infraestructura, hosting gestionado, alta disponibilidad y seguridad en Microsoft Azure y Amazon Web Services para que tu negocio escale sin límites.

Más info

Ciberseguridad y pentesting

Auditorías de seguridad, test de intrusión (pentesting) y protección de aplicaciones, datos e infraestructura on-premise y cloud, con hacking ético y cumplimiento normativo.

Más info

Business Intelligence

Cuadros de mando y análisis de datos con Power BI: integramos tus fuentes, diseñamos dashboards y KPIs y convertimos tus datos en decisiones.

Más info

Automatización de procesos

Automatizamos tareas repetitivas y conectamos tus aplicaciones con n8n, Power Automate, Make y RPA, eliminando trabajo manual y aumentando la productividad.

Más info

Formación para empresas

Formamos a tus equipos en tecnología con criterio: desarrollo web, bases de datos, Git, buenas prácticas y seguridad, automatización con n8n, inteligencia artificial para empresas y creación de soluciones de IA con Azure AI Foundry.

Más info

Auditoría de código

Auditamos el código que creas tú, tu equipo o una IA: te decimos qué está bien y qué mejorar, lo securizamos y lo dejamos listo para producción, web o app.

Más info

Generación de imágenes con IA

Creamos por ti las imágenes que necesita tu negocio con inteligencia artificial: producto, redes, publicidad, ilustración y avatares. Tú nos dices qué quieres y te lo entregamos listo para usar.

Más info

Generación de vídeos con IA

Creamos por ti vídeos con inteligencia artificial: promocionales, para redes, presentadores virtuales, doblaje y animaciones. Nos cuentas la idea y te lo entregamos montado y listo para publicar.

Más info

Avatares conversacionales con IA

Creamos avatares conversacionales con IA —humanos digitales con cara y voz— que atienden a tus clientes y equipos con el conocimiento de tu empresa, en tu web, monitores interactivos, WhatsApp o Teams.

Más info

Marketing Online e IA

Google Ads, Meta Ads, LinkedIn Ads y posicionamiento en motores de IA (GEO/AEO): captamos clientes y hacemos que tu marca aparezca donde te buscan, también en ChatGPT, Gemini y Perplexity.

Más info

¿Tienes un proyecto en mente?

Cuéntanos tu visión y la convertimos en una solución de software. Sea cual sea el alcance, hacemos realidad tu idea.

Live Chat