¿Qué es la ejecución activa de parches en el kernel de Linux?
Este procedimiento consiste en aplicar parches de seguridad esenciales e importantes en un kernel de Linux que está en funcionamiento, sin necesidad de reiniciar el sistema ni de interrumpir el tiempo de ejecución.
Hay una diferencia entre el parche y la actualización. La actualización es una versión nueva y secundaria de un paquete, que puede incluir varios cambios, como correcciones de errores, aumento en el rendimiento, funciones nuevas, modificaciones en la línea de comandos, entre otros. Por otro lado, el parche es un fragmento de código (por lo general, el punto en el que difieren dos versiones de un paquete o un archivo) que corrige un punto vulnerable en la versión actual sin generar latencia. Esto permite que la implementación actual se ejecute con mayor seguridad y que los administradores del sistema puedan esperar hasta el próximo período de mantenimiento habitual para reiniciarlo.
En teoría, la aplicación activa podría utilizarse con cualquier parche para el kernel en funcionamiento, incluidas las correcciones de errores y las mejoras frecuentes. Sin embargo, se emplea principalmente para los puntos vulnerables de seguridad más importantes, puesto que la implementación de este tipo de correcciones no puede retrasarse. El sistema Red Hat® Enterprise Linux® se centra en los parches de seguridad y en la ejecución activa de ellos en el kernel como una función de protección. Además, ofrece beneficios relacionados con la gestión para los administradores.
Si no se utilizara la ejecución activa, habría que reiniciar el servicio o la aplicación que recibió el parche para cargar los cambios nuevos de la versión. Esto sucede incluso con los parches que se ejecutan en el kernel de Linux, y genera un problema para los administradores de este sistema: deben aplicar actualizaciones de seguridad imprescindibles, lo cual implica reiniciar el servidor de Linux sin haberlo planificado y experimentar períodos de latencia y tiempos de inactividad.
El origen de la ejecución activa de parches en el kernel de Linux
Esta solución surgió a partir de un problema al que tuvo que enfrentarse Jeff Arnold, un estudiante de administración de sistemas del MIT. Jeff tenía que implementar una actualización de seguridad, pero decidió postergar la resolución del punto vulnerable, y los piratas informáticos ingresaron al sistema. En 2008, Arnold decidió encontrar la solución a este problema y desarrolló un sistema al cual llamó "actualizaciones de seguridad para el kernel sin reiniciarlo": una manera de aplicar y cargar los parches de seguridad en un sistema mientras está en funcionamiento. Ese proyecto inicial (Ksplice) dio origen al concepto de la ejecución activa de parches en el kernel de Linux.
Las actualizaciones de software dinámicas representan un desafío para la informática porque se debe trabajar con temas complejos, como los servicios con y sin estado, la persistencia, la gestión de los datos, las transacciones y el uso de comandos, los cuales son aspectos básicos del funcionamiento de un servicio o una aplicación.
En el proyecto de Arnold y otros posteriores sobre la ejecución activa de parches en el kernel de Linux, se utilizaron las herramientas dentro del espacio del kernel para cargar sus módulos.
Los dos espacios de las operaciones del sistema Linux
Las operaciones del sistema Linux se dividen en dos secciones: el espacio del usuario (donde funcionan todos los servicios y las aplicaciones) y el espacio del kernel (donde se hallan las operaciones principales del sistema). El kernel es el intermediario mediante el cual las aplicaciones acceden a los recursos de hardware, como la CPU y el almacenamiento. A su vez, los administradores pueden crear módulos personalizados para el kernel que permitan ampliar o modificar las funciones, los cuales pueden cargarse o ejecutarse de manera dinámica, incluso después de iniciar el sistema.
Las herramientas para la ejecución activa de parches en el kernel crean un módulo a partir del código que recibió el parche. Luego, se usa la herramienta ftrace (seguimiento de la función) para pasar de la función obsoleta a la nueva de remplazo, a la que se le aplicó el parche o al módulo del parche.
Figura 1: Funcionamiento de la ejecución activa de parches en el kernel
Ksplice fue el primer proyecto en el que se aplicaron parches en el kernel de Linux de manera activa; sin embargo, lo adquirió Oracle y pasó a ser una herramienta de código cerrado. A su vez, otros equipos de desarrollo intentaron crear proyectos open source que pudieran remplazar a Ksplice y, en 2014, se lanzaron dos muy similares: kpatch de Red Hat y kgraft de SuSE. Finalmente, los desarrolladores de SuSE y Red Hat se unieron en beneficio de la comunidad del kernel de Linux y crearon livepatch: una capa común dentro del kernel de Linux que permite desarrollar herramientas compatibles para la ejecución activa de sus parches.
La importancia de la ejecución activa de parches en el kernel
Es fundamental recordar que los parches se utilizan específicamente para abordar los riesgos de seguridad. Uno de los desafíos que enfrentan los administradores de sistemas es que, además de tener que ocuparse de aplicar parches de seguridad en Linux, también deben asegurarse de que cumplen con los requisitos de tiempo de actividad. Eso quiere decir que quizás no puedan desconectar los sistemas fuera del período de mantenimiento planificado;lo cual genera una tensión constante que va en aumento.
Según el informe sobre riesgos de seguridad Red Hat Security Risk Report, los problemas identificados (denominados puntos vulnerables y exposiciones comunes o CVE) aumentaron de manera considerable entre 2019 y 2020, hasta un 155 % aproximadamente (de 1313 a 2040). Si bien en 2021 la cantidad de problemas disminuyó levemente (1596), seguía siendo un 22 % más alta que en 2019. La mayor parte de esta cifra corresponde a los puntos vulnerables de nivel moderado; en cambio, los CVE importantes se han mantenido casi estables, y los puntos vulnerables graves se han reducido.
Las actualizaciones y los parches del kernel se lanzan cada seis semanas, y las actualizaciones secundarias de Red Hat Enterprise Linux se publican cada seis meses con todos los parches de seguridad incluidos. Sin embargo, como es posible ejecutar parches en el kernel de Linux de manera activa y sin reiniciarlo, ya no es necesario elegir entre alguna de las dos opciones.
Los CVE del kernel
Los CVE relacionados con el kernel son una de las preocupaciones principales: constituyen cuatro de los diez CVE principales más vistos en 2021.
Poder ejecutar parches de seguridad en el kernel de Linux de manera activa es mucho más que una comodidad. Es una herramienta importante para que los equipos de seguridad aborden los puntos vulnerables con anticipación, mantengan las funciones del kernel en marcha y protejan los sistemas.
¿Por qué Red Hat Enterprise Linux marca la diferencia?
La ejecución activa de parches en el kernel es tan solo una de las múltiples herramientas específicas para gestionar la seguridad que ofrece Red Hat Enterprise Linux. SELinux, por ejemplo, ayuda a automatizar las configuraciones y las tareas con las funciones del sistema, los permisos y los controles de acceso. Al actualizar la infraestructura de Red Hat Enterprise Linux, podrá asegurarse de contar con acceso ininterrumpido a las correcciones más recientes, lo que le permitirá mantener su estrategia de seguridad.
No hay una solución única para crear un "entorno seguro". Las amenazas cambian constantemente, surgen distintos vectores de ataque y se identifican blancos nuevos. La seguridad comienza en el sistema operativo (incluso en el mismo código fuente) y se desarrolla en toda la stack tecnológica y durante todo el ciclo de vida; razón por la cual es esencial contar con diversas herramientas.
Gestione la ejecución activa de parches en el kernel desde la consola web de Red Hat Enterprise Linux para reducir en gran medida la complejidad del mantenimiento indispensable. Las funciones de esta nueva consola ofrecen una interfaz simplificada para que los administradores altamente capacitados y los que cuentan con poca experiencia puedan aplicar las actualizaciones del kernel sin utilizar las herramientas de la línea de comandos.
Todas las suscripciones a Red Hat Enterprise Linux incluyen Red Hat Insights, que ofrece una experiencia de gestión unificada para abordar los problemas de seguridad. Esto incluye lo siguiente:
- Paneles visuales que abarcan toda la infraestructura y muestran los sistemas expuestos y el estado de los parches, lo cual le permite hallar y corregir los errores importantes sin tener que adquirir una suscripción a Red Hat Satellite Server por separado.
- Los CVE pertinentes y otras actualizaciones.
- Playbooks para automatizar la ejecución de parches de seguridad de Linux.
- Perfiles de seguridad definidos y también personalizados para gestionar la configuración de los sistemas.
- Configuraciones estándares y alertas para los sistemas que difieren de ellas.
Motivos para elegir Red Hat
La ejecución activa de parches en el kernel de Linux surgió cuando se identificó una necesidad y se creó un proyecto open source para trabajar con las empresas y los miembros de la comunidad de forma conjunta, con el fin de idear una solución que beneficiara a la comunidad. Esta forma abierta de trabajo es fundamental para los principios de las suscripciones de Red Hat: colaboración, transparencia y mejora de la tecnología y la experiencia del usuario.