- Blog
- ¿Qué es CentOS y para qué sirve?
¿Qué es CentOS y para qué sirve?
La administración de infraestructuras informáticas empresariales requiere sistemas operativos que garanticen máxima estabilidad, seguridad y previsibilidad en entornos de producción. En este ámbito, CentOS se consolidó durante dos décadas como la distribución abierta de referencia, al ofrecer una plataforma de clase empresarial basada directamente en el código fuente de Red Hat Enterprise Linux (RHEL).
Comprender la evolución histórica de CentOS Linux, sus actuales versiones de desarrollo continuo y sus capacidades operativas en la gestión de servidores es indispensable para administradores de sistemas y arquitectos de software. A lo largo de esta guía técnica analizaremos su arquitectura, sus modelos de despliegue, la gestión de paquetes, los protocolos de seguridad y las estrategias de optimización de rendimiento.
¿Qué es CentOS?
CentOS (Community Enterprise Operating System) es una distribución de Linux orientada a servidores y entornos corporativos que surgió históricamente como un clon binario e independiente de Red Hat Enterprise Linux. Su propósito fundacional era recompilar el código fuente abierto de RHEL, eliminando las marcas registradas y logotipos de Red Hat, para poner a disposición de la comunidad una plataforma robusta, gratuita y libre de costes de suscripción comercial.
A diferencia de otras distribuciones enfocadas en incorporar el software más reciente, la arquitectura de Linux CentOS prioriza la estabilidad a largo plazo y la compatibilidad binaria a nivel de ABI (Application Binary Interface). Esto asegura que las aplicaciones corporativas, los motores de bases de datos y el software de servidor funcionen de manera predecible durante ciclos de vida prolongados sin sufrir interrupciones por cambios incompatibles en las librerías del sistema.
Versiones y ciclos de vida de Linux CentOS
CentOS 7 como modelo clásico
CentOS 7 representó el punto culminante del modelo clásico de reconstrucción descendente (downstream). Basado en la arquitectura de RHEL 7, introdujo cambios fundamentales en la gestión del sistema informático, como la transición al gestor de servicios systemd, el sistema de archivos XFS como opción predeterminada por encima de ext4, y la integración de utilidades avanzadas de red.
Esta versión contó con un periodo de mantenimiento extendido de diez años que finalizó oficialmente el 30 de junio de 2024. Tras su fin de vida (EOL), los servidores que mantienen esta versión dejaron de recibir parches de seguridad críticos y actualizaciones de software, obligando a las organizaciones a migrar sus cargas de trabajo hacia distribuciones activas o alternativas derivadas como Rocky Linux y AlmaLinux.
CentOS 8 como la versión de transición
Lanzado en septiembre de 2019 sobre la base de RHEL 8, CentOS 8 introdujo el gestor de paquetes DNF en sustitución de YUM, la implementación de módulos de software mediante AppStream y soporte para la consola web de administración Cockpit. Inicialmente se proyectó con una ventana de soporte de diez años idéntica a la de sus predecesores.
Sin embargo, Red Hat anunció un cambio estratégico que acortó drásticamente su ciclo de vida, finalizando el soporte oficial el 31 de diciembre de 2021. Este hito transformó a CentOS 8 en la versión de transición hacia el nuevo modelo de desarrollo, descontinuando la reconstrucción tradicional para dar paso a la rama de desarrollo continuo conocida como Stream.
CentOS Stream 8
CentOS Stream 8 fue la primera implementación del modelo de desarrollo continuo ascendente (upstream). A diferencia del enfoque clásico, esta rama se posiciona tecnológicamente por delante de RHEL, funcionando como el entorno de prueba previo donde se integran y validan las actualizaciones que formarán parte de las futuras versiones menores de Red Hat Enterprise Linux.
Aunque proporciona una plataforma estable para desarrolladores que necesitan anticiparse a las nuevas características del sistema, el fin de su soporte oficial tuvo lugar en mayo de 2024. Su despliegue demostró que la comunidad requería visibilidad directa en el ciclo de desarrollo de las herramientas del sistema.
CentOS Stream 9
CentOS Stream 9 constituye la variante de desarrollo continuo asociada al código fuente de RHEL 9. Incorpora actualizaciones del kernel de Linux de la rama 5.14, compatibilidad con arquitecturas modernas de 64 bits (x86-64-v2, ARM64, POWER, s390x) y mejoras sustanciales en el rendimiento del subsistema de red y almacenamiento.
Esta versión ofrece un canal de comunicación directo para que los desarrolladores y contribuidores envíen parches, sugieran cambios en el código y prueben controladores de hardware antes de su liberación comercial. Su ciclo de vida está alineado con la fase de soporte completo de RHEL 9, extendiéndose hasta mayo de 2027.
CentOS Stream 10
CentOS Stream 10 representa la plataforma de desarrollo para la generación de RHEL 10. Diseñado sobre bases tecnológicas avanzadas, este entorno incluye versiones recientes del compilador GCC, la cadena de herramientas de compilación y mejoras en el soporte para virtualización e Inteligencia Artificial.
Su ciclo de vida cubre el periodo de desarrollo temprano y medio de la versión empresarial equivalente. Permite a los administradores de sistemas y desarrolladores validar la compatibilidad de sus aplicaciones con los cambios introducidos en librerías principales como glibc, OpenSSL y las utilidades del sistema de bajo nivel.
¿Para qué sirve CentOS?
Alojamiento de servidores web de alto rendimiento y pilas LAMP/LEMP
El uso de CentOS como sistema operativo base para el alojamiento web destaca por su eficiencia en la gestión de servicios HTTP de alto tráfico. La estabilidad del kernel y su bajo consumo de recursos permiten ejecutar servidores web Apache (pila LAMP) o Nginx (pila LEMP) de forma ininterrumpida bajo cargas de trabajo exigentes.
Además, los paneles de control de alojamiento web más extendidos en la industria, como cPanel, WHM y Plesk, desarrollaron sus arquitecturas pensando prioritariamente en esta distribución. Esto simplifica la gestión de dominios, cuentas de correo y bases de datos en entornos de hosting compartido y dedicado.
Despliegue de bases de datos relacionales y no relacionales corporativas
Las características de gestión de memoria y E/S de disco en este sistema garantizan la integridad y velocidad de respuesta en motores de bases de datos como PostgreSQL, MariaDB, MySQL y MongoDB. La posibilidad de optimizar el búfer de lectura y ajustar los parámetros del planificador de E/S permite procesar miles de transacciones SQL y NoSQL por segundo.
Las organizaciones confían en este entorno para ejecutar sistemas transaccionales y almacenes de datos donde la corrupción de ficheros o los reinicios no programados provocarían un impacto económico severo. La integración con sistemas de archivos transaccionales como XFS refuerza la recuperación ante fallos de alimentación.
Infraestructura de virtualización empresarial basada en KVM y libvirt
El soporte nativo para KVM (Kernel-based Virtual Machine) convierte a esta plataforma en un hipervisor de tipo 1 altamente eficiente. Integrado directamente en el kernel, KVM permite convertir un servidor físico en una plataforma de virtualización capaz de ejecutar múltiples sistemas operativos invitados aislados.
La gestión centralizada mediante la API de libvirt y herramientas como virsh o la interfaz gráfica Cockpit facilita la asignación dinámica de núcleos de CPU, memoria RAM, redes virtuales (bridges) y almacenamiento para máquinas virtuales en producción.
Entorno de pruebas upstream previo a la producción en Red Hat Enterprise Linux
La adopción del modelo Stream convierte a esta distribución en la herramienta ideal para probar software antes de su despliegue comercial. Los equipos de ingeniería de software utilizan estos sistemas para compilar, auditar y ejecutar pruebas de integración continua sobre el código que terminará en RHEL.
Este flujo de trabajo reduce los errores en los despliegues de producción. Permite identificar incompatibilidades en librerías, cambios en las APIs del sistema o variaciones en la sintaxis de archivos de configuración con meses de antelación respecto a las liberaciones estables empresariales.
Ejecución de contenedores y aplicaciones nativas de la nube con Podman y Docker
El sistema operativo proporciona un entorno optimizado para el despliegue de contenedores utilizando la herramienta Podman, la cual sustituye al motor tradicional de Docker mediante una arquitectura sin demonio (daemonless) y con ejecución sin privilegios de root (rootless).
Esta aproximación eleva el nivel de seguridad al empaquetar microservicios, ya que los contenedores no requieren permisos administrativos globales en el sistema anfitrión. Asimismo, la compatibilidad nativa con motores como Docker y orquestadores tipo Kubernetes asegura la portabilidad de las aplicaciones en la nube.
Servidor central para automatización de infraestructura y gestión con Ansible
Como punto de control central para la gestión de configuración, este entorno ejecuta la herramienta Ansible de forma nativa. Al operar mediante conexiones SSH sin necesidad de instalar agentes en los nodos remotos, simplifica el aprovisionamiento masivo de servidores en red.
Los administradores pueden redactar libros de jugadas (playbooks) en formato YAML para automatizar la actualización de parches, la instalación de software y la auditoría de políticas de seguridad en cientos de máquinas desde una única consola.
Procesamiento y alojamiento de servicios críticos de red como DNS, DHCP y correo
La fiabilidad del subsistema de red en CentOS lo convierte en la elección idónea para gestionar servicios de infraestructura esenciales como servidores DNS (BIND), servidores DHCP (ISC DHCP/Kea) y servidores de correo electrónico.
Su tolerancia a fallos asegura que las resoluciones de nombres de dominio y las asignaciones de direcciones IP en redes corporativas permanezcan operativas sin interrupciones, protegiendo la conectividad interna y externa del negocio.
¿Cómo configurar imagen CentOS ISO?
Selección del tipo de imagen ISO adecuada (Boot, Minimal o DVD)
El proceso de despliegue comienza con la descarga del archivo de imagen ISO oficial desde los repositorios autorizados. Es fundamental seleccionar la variante que mejor se ajuste a las necesidades del proyecto:
- Boot / NetInstall ISO: Imagen ligera que contiene únicamente el instalador básico y que requiere una conexión a red activa durante la instalación para descargar los paquetes desde repositorios remotos.
- Minimal ISO: Contiene los paquetes estrictamente necesarios para disponer de un sistema operativo funcional en modo consola, siendo la opción recomendada para servidores de producción.
- DVD / Everything ISO: Incluye la totalidad de los repositorios y entornos de escritorio gráficos, idónea para instalaciones sin acceso a internet (offline).
La elección condiciona el espacio en disco requerido y la superficie de ataque inicial. Para entornos de servidor, la versión Minimal ofrece la arquitectura más limpia y segura al evitar software superfluo.
Verificación de la integridad del archivo ISO mediante suma de comprobación SHA-256
Antes de proceder con la grabación de la imagen en un medio físico o virtual, se debe validar que el archivo no haya sido alterado o dañado durante la descarga. Esto se realiza comparando la suma de comprobación SHA-256 generada localmente con el valor publicado en el servidor oficial.
En sistemas GNU/Linux o macOS, la verificación se ejecuta mediante la consola de comandos utilizando la utilidad sha256sum, asegurando la autenticidad del archivo descargado:
# Calcular el hash SHA-256 del archivo ISO descargado sha256sum CentOS-Stream-9-latest-x86_64-boot.iso
Creación de un USB de arranque utilizando herramientas como Rufus o BalenaEtcher
Para realizar la instalación en un servidor físico bare-metal, es necesario volcar la imagen ISO en un dispositivo pendrive USB ejecutable. Herramientas multiplataforma como BalenaEtcher o Rufus permiten transferir el contenido respetando el formato de partición MBR o GPT.
Es fundamental configurar la herramienta de grabado en modo de imagen DD si el instalador presenta errores de lectura de archivos durante el arranque en sistemas UEFI, garantizando que el firmware de la placa base reconozca la estructura de archivos.
Configuración de particionado de disco, volúmenes LVM y formato de archivos
Durante la fase gráfica de instalación con Anaconda, el esquema de almacenamiento debe definirse según la carga de trabajo prevista. Se recomienda utilizar LVM (Logical Volume Manager) para permitir el redimensionamiento dinámico de particiones en caliente.
El sistema de archivos predeterminado XFS ofrece un rendimiento superior en la gestión de archivos de gran tamaño y volúmenes masivos de datos. Se sugiere separar los directorios /var, /home y /tmp en volúmenes lógicos independientes para evitar que un llenado accidental del registro sature la partición raíz /.
Definición inicial de interfaces de red, contraseña root y perfiles de software
El instalador Anaconda permite configurar el nombre de host (hostname), asignar direcciones IP estáticas, máscaras de subred y servidores DNS antes de copiar las librerías al disco de destino.
Asimismo, se debe establecer una contraseña robusta para el usuario root y crear un usuario estándar con privilegios de administración asignados al grupo wheel. El perfil de software debe ajustarse seleccionando «Servidor Mínimo» para reducir el consumo de recursos.
Administración de sistemas y gestión de paquetes en CentOS
Gestor de paquetes DNF/YUM
La gestión de software se realiza mediante el motor DNF (Dandified YUM), el cual sustituyó al clásico YUM ofreciendo un cálculo de dependencias más rápido, menor consumo de memoria y una API modular mejorada. DNF utiliza repositorios de software firmados con claves GPG para validar la autenticidad de cada archivo instalable.
El sistema utiliza el concepto de AppStream (Application Stream), lo que permite disponer de múltiples versiones de un mismo lenguaje de programación o base de datos (por ejemplo, seleccionar entre PHP 8.1 o PHP 8.2) dentro del mismo sistema operativo sin romper la estabilidad del sistema base.
Repositorio EPEL (Extra Packages for Enterprise Linux)
El repositorio oficial EPEL es un proyecto impulsado por la comunidad Fedora que proporciona paquetes adicionales de altísima calidad que no están incluidos en los repositorios oficiales de Red Hat o CentOS. Habilitar este repositorio otorga acceso a herramientas esenciales de administración, utilidades de monitoreo y servidores auxiliares (como htop, Nginx, certbot o Redis) mediante un comando directo de instalación:
# Habilitar el repositorio EPEL en el sistema sudo dnf install epel-release -y
Gestión de servicios del sistema mediante systemd y automatización con Ansible
systemd es el sistema de iniciación y gestor de servicios encargado de realizar el bootstrapping de la máquina y la supervisión de procesos. Mediante la herramienta systemctl, el administrador puede iniciar, detener, reiniciar y habilitar servicios para que arranquen con el sistema.
La integración con herramientas de automatización como Ansible permite orquestar estos comandos mediante módulos específicos (ansible.builtin.systemd), garantizando que los servicios críticos permanezcan activos en todo el clúster.
Administración gráfica de servidores utilizando la consola web Cockpit
Cockpit es una interfaz gráfica accesible a través de un navegador web (puerto 9090) que simplifica la administración remota de servidores Linux CentOS. Permite inspeccionar el rendimiento en tiempo real, revisar registros de logs del sistema (journalctl) y gestionar almacenamiento sin recurrir a la línea de comandos.
La consola web se conecta directamente a las APIs nativas de systemd, DBus y LVM, garantizando que cualquier cambio realizado desde la interfaz gráfica se refleje de manera idéntica en la consola de comandos.
Seguridad avanzada y hardening en servidores CentOS
Control de acceso obligatorio con SELinux
Security-Enhanced Linux (SELinux) es una arquitectura de seguridad que implementa el control de acceso obligatorio (MAC). A diferencia del control discrecional tradicional (DAC) basado en permisos de usuario y grupo, SELinux restringe las acciones de cada proceso según políticas de seguridad contextuales estrictas.
Incluso si un servicio web como Apache resulta comprometido por un atacante, SELinux impide que el proceso acceda a partes no autorizadas del sistema de archivos o ejecute comandos maliciosos, manteniendo el sistema en modo Enforcing.
Configuración de cortafuegos y políticas de red con firewalld
La gestión del filtrado de paquetes de red se realiza mediante el demonio firewalld, el cual utiliza la infraestructura de nftables en el kernel de Linux. Permite definir zonas de red con diferentes niveles de confianza (pública, interna, DMZ). Los administradores pueden abrir o cerrar puertos y servicios de forma dinámica sin interrumpir las conexiones activas mediante la utilidad firewall-cmd:
# Permitir tráfico HTTP y HTTPS de forma permanente en la zona pública sudo firewall-cmd --zone=public --add-service=http --add-service=https --permanent sudo firewall-cmd --reload
Auditoría y cumplimiento normativo de seguridad con la herramienta OpenSCAP
OpenSCAP es una suite de herramientas que permite verificar de forma automatizada que el servidor cumple con perfiles de seguridad estándar como PCI-DSS, CIS Benchmarks o STIG.
La herramienta analiza la configuración del sistema, genera informes detallados en formato HTML sobre vulnerabilidades detectadas y proporciona guiones de corrección automatizada (remediation scripts) para subsanar los hallazgos.
Gestión de usuarios, autenticación PAM y fortalecimiento (hardening) del servicio SSH
La autenticación de usuarios se gestiona mediante el sistema Pluggable Authentication Modules (PAM), que permite configurar políticas de contraseñas complejas, bloqueo de cuentas tras reintentos fallidos y autenticación de doble factor (2FA).
El fortalecimiento del servicio SSH exige deshabilitar el acceso directo al usuario root, cambiar el puerto de escucha predeterminado, limitar los algoritmos de cifrado permitidos y exigir el uso exclusivo de claves criptográficas de par público/privado.
Optimización de rendimiento y monitoreo de recursos del sistema
Ajuste fino de parámetros del Kernel de Linux mediante sysctl y perfiles tuned
El rendimiento del kernel puede modificarse en tiempo real ajustando parámetros en el sistema de archivos virtual /proc/sys mediante la herramienta sysctl. Parámetros como el uso de memoria de intercambio (vm.swappiness) o el número máximo de archivos abiertos (fs.file-max) son clave para optimizar servidores.
El servicio tuned simplifica esta optimización aplicando perfiles predefinidos según el propósito del servidor (por ejemplo, throughput-performance para cargas generales, virtual-guest para máquinas virtuales o latency-performance para procesamiento en tiempo real).
Monitoreo de recursos de CPU, memoria RAM y métricas de I/O de disco en tiempo real
La supervisión básica del sistema se ejecuta mediante utilidades de consola como htop, vmstat, iostat (del paquete sysstat) y dstat. Estas herramientas permiten diagnosticar el consumo de procesador, la presión de memoria y la saturación de lectura y escritura en los discos.
Para entornos de producción distribuidos, las métricas se exportan a sistemas de monitoreo centralizados como Prometheus y Grafana mediante agentes de extracción como node_exporter.
Diagnóstico de red y resolución de cuellos de botella en la pila TCP/IP
El análisis de problemas de conectividad se apoya en la suite de herramientas modernas iproute2 (ip addr, ip route), así como en utilidades como ss (para analizar sockets activos) y tcpdump para la captura y análisis de paquetes de red.
Ajustar el tamaño de las ventanas de recepción TCP y la cola de backlog del socket en el kernel evita la pérdida de paquetes durante picos de tráfico en servidores web y de bases de datos.
Estrategias de respaldos de volumen y gestión de almacenamiento flexible con LVM y Stratis
La gestión de almacenamiento avanzada en Linux CentOS utiliza LVM para crear instantáneas (snapshots) de volúmenes lógicos en un instante determinado. Esto permite realizar copias de seguridad consistentes de bases de datos activas sin detener el servicio.
La incorporación del motor de almacenamiento Stratis simplifica la administración de volúmenes mediante capas de abstracción que combinan asignación delgada (thin provisioning), almacenamiento multinivel en caché y supervisión de la salud de los datos.