La aplicación de actualizaciones de seguridad críticas es esencial para mantener su servidor Linux a salvo de posibles atacantes, pero puede causar tiempo de inactividad, lo que tampoco es bueno. La aplicación de parches en vivo del kernel puede aplicar actualizaciones importantes del kernel sin desconectar el servidor.
¿Qué es el parche de kernel en vivo?
Antes de la aplicación de parches en vivo del kernel, los administradores del sistema debían seleccionar entre mantener el servidor encendido o aplicar actualizaciones de seguridad. Evidentemente, esto no es lo ideal, por lo que en 2008 Jeff Arnold en MIT creó KSplice, una herramienta que podría aplicar actualizaciones tomando una diferencia binaria y aplicando parches al kernel en ejecución en la memoria.
Esto necesita escribir un parche personalizado para cada actualización, por lo que solo está reservado para vulnerabilidades de seguridad críticas que necesitan arreglos rápidos, no actualizaciones diarias regulares. Pero, cuando surge la necesidad, esta sencilla solución ofrece una forma de aplicar esas correcciones sin afectar el tiempo de actividad del servidor.
En realidad, el parcheo vivo del kernel es un poco menos útil de lo que parece. Si le preocupa el tiempo de actividad del servidor, es probable que además desee cumplir con algún tipo de SLA o tener un servicio crítico para seguir funcionando. En una red de alta disponibilidad, en teoría, cualquier servidor debería poder arder espontáneamente sin afectar el tiempo de actividad de la aplicación. Idealmente, debería tener dos o más servidores detrás de los balanceadores de carga, y si tiene más de un servidor, pueden actualizarse uno al mismo tiempo sin afectar en gran medida la disponibilidad del servicio, aún cuando puede estar al 50% de la capacidad de carga por un corto tiempo.
RELACIONADO: Cómo comenzar a usar los Elastic Load Balancers de AWS
Teniendo esto en cuenta, el parcheo vivo del kernel de forma general se realiza automáticamente una vez que hay un nuevo parche disponible. Al activar la aplicación de parches en vivo, su sistema debería mantenerse actualizado automáticamente y no tendrá que tener a alguien que orquesta una actualización continua del servidor con un factible tiempo de inactividad. Esta es una gran utilidad para la mayoría de los administradores de sistemas.
Desventajas de los parches en vivo
La aplicación de parches en vivo del kernel sigue siendo bastante complicada; los parches deben ser escritos por expertos, para cada sistema, y solo está reservado para parches de seguridad importantes. Inclusive entonces, no está garantizado que no bloquee su sistema. Ubuntu maneja este riesgo implementando los parches lentamente a unos pocos usuarios al mismo tiempo, mientras monitorea fallas.
La aplicación de parches en vivo del kernel tampoco puede hacer todo: solo se puede aplicar a porciones pequeñas y específicas del código del kernel, y no se puede utilizar para actualizaciones importantes que afecten a múltiples componentes o cambien las estructuras de datos.
¿Quién apoya la aplicación de parches en vivo?
Desafortunadamente, el programa KSplice original ya no es open source, después de que Oracle lo adquirió en 2011 para su integración en Oracle Linux.
Con KSplice pasando a ser de código cerrado, muchas otras compañías en el espacio del servidor Linux desarrollaron su propia versión. Dado que los parches deben ser escritos y probados de manera personalizada por sistema, hace que el mantenimiento de un único “Live Kernel Patcher” open source sea muy difícil.
La mayoría de las compañías lo ofrecen como servicio de pago. KernelCare es lo más parecido a una solución de propósito general y admite la mayoría de las distribuciones con una suscripción paga. Amazon Linux 2 es uno de los pocos que lo ofrece gratis. RHEL tiene kpatch. Oracle Linux aún utiliza ksplice.
Ubuntu tiene Livepatch canónico. Es gratuito para hasta tres máquinas, después de lo cual necesitará una Ventaja de Ubuntu suscripción para cada máquina.
RELACIONADO: Cómo asegurarse de que sus servidores Ubuntu estén siempre parcheados