GNU/Linux >> Tutoriales Linux >  >> Linux

5 herramientas Kernel Live Patching que ayudarán a ejecutar servidores Linux sin reiniciar

En este artículo, aprenderá qué es el parcheo en vivo del Kernel de Linux, cómo garantiza el tiempo de actividad, qué 5 herramientas están disponibles para ayudarlo a ejecutar servidores durante años, sin reinicios y cuáles son las ventajas y desventajas de cada herramienta.

Dentro de las organizaciones de TI, existen procesos y prácticas tan rutinarias que son invisibles. No importa si tales procesos y prácticas son defectuosos o si existe una mejor manera:si algo ha funcionado durante algunos años, la gente deja de buscar alternativas. Esto describe a la perfección los enfoques actuales de parches del kernel. .

En este momento, la mayoría de las organizaciones parchean los servidores planificando ciclos de reinicio. Debido a que reiniciar la flota de servidores es un dolor de cabeza que causa tiempo de inactividad, la gente lo pospone todo el tiempo que puede. Lo que significa que los parches no se aplican lo antes posible. Esta brecha entre la emisión del parche y su aplicación significa riesgo, mala práctica y puede causar incumplimiento.

Este enfoque estándar para la aplicación de parches en el kernel expone a los servidores a intentos maliciosos por parte de actores de amenazas en múltiples vectores de ataque, lo que pone a las organizaciones de TI en riesgo de sufrir problemas de seguridad importantes. Cualquiera que tenga la tarea de mantener a su organización a salvo de los ataques cibernéticos debería buscar una mejor manera de ejecutar servidores Linux sin reiniciar (idealmente, durante años).

Por qué existe la aplicación de parches en vivo

En 2009, un estudiante del MIT que administraba un servidor web retrasó la aplicación de un parche en el kernel de Linux del servidor porque la aplicación del parche habría implicado un reinicio que incomodaría a sus usuarios. Durante la demora, el servidor fue pirateado. Esto inspiró al estudiante, Jeff Arnold , para intentar desarrollar una forma de parchear un kernel de Linux sin reiniciar el servidor.

Se unió a otros tres estudiantes para desarrollar Ksplice , la primera herramienta de software "sin reinicio" para parchear kernels de Linux. Formaron una empresa para promocionar su nuevo producto, que fue adquirida por Oracle. Cuando Oracle integró Ksplice con su propia distribución, Oracle Linux, otros proveedores de Linux comenzaron a trabajar en sus propios sistemas de parches en vivo.

Eso se debe a que la aplicación de parches en vivo (la aplicación de parches de seguridad a un servidor mientras se está ejecutando, sin necesidad de reiniciar) ofrece capacidades valiosas para las organizaciones que administran varios servidores:

  • Operación continua de los servidores, sin reinicios. Esto significa poco o ningún tiempo de inactividad.
  • Automatización de tareas relacionadas con parches. Esto libera al personal de apoyo para hacer otro trabajo.
  • Aplicación inmediata de nuevos parches. Esto reduce en gran medida las vulnerabilidades del servidor.

Cómo funcionan los parches Linux Kernel Live

Hay dos métodos básicos para parchear en vivo un kernel de Linux:temporal y persistente . El método temporal aplica un parche sin reiniciar, pero en realidad requiere reiniciar el servidor más adelante. La aplicación de parches en vivo persistente no requiere ningún reinicio.

El método temporal

El método temporal de la aplicación de parches en vivo requiere la instalación de un software de administración de paquetes (como el complemento YUM) en el servidor. Cuando los parches se envían a los repositorios, se aplican de acuerdo con los flujos de trabajo de actualización especificados por el usuario.

Este método se incluye con algunas distribuciones del sistema operativo Linux y con los contratos de soporte de algunos proveedores. Sin embargo, no debe considerarse gratuito o económico, ya que implica costos en tiempo y problemas que no son evidentes al principio.

El método temporal, también llamado "apilado" de parches, involucra reinicios del servidor y tiempo de inactividad. Esto se debe a que los parches temporales se acumulan unos sobre otros con el tiempo, degradando el rendimiento y la estabilidad. La única solución a este problema es reiniciar el servidor para cargar un núcleo nuevo en la memoria.

El método persistente

Con el método persistente de parches en vivo, un servidor de parches dedicado almacena los parches más recientes. Estos parches son “monolíticos”, no temporales, porque incorporan parches anteriores. En los servidores web que se van a parchear, un programa de agente se ejecuta en segundo plano, comprobando periódicamente el servidor de parches en busca de parches. Cuando el agente lo indica, un módulo del kernel realiza el parche.

Este método implica tarifas de licencia del proveedor, pero estas tarifas pueden ser sorprendentemente bajas. Además, al reemplazar el trabajo manual con procesos automatizados, el método persistente reduce el tiempo y el esfuerzo necesarios para administrar los servidores. Lo que es más importante, debido a que no implica reinicios, permite que los servidores permanezcan en funcionamiento, a veces durante años.

Los parches activos persistentes también ofrecen otras ventajas importantes. Incluso con vulnerabilidades de hardware que normalmente requieren reinicios para solucionarlas, como Spectre , Colapso y Zombieload , los servidores que utilizan el método persistente permanecen en funcionamiento. Además, funciona con escáneres de vulnerabilidades, lo cual es importante para cumplir con estándares de seguridad como SOC2.

Lectura sugerida:

  • Cómo comprobar las vulnerabilidades Meltdown y Spectre y parchearlas en Linux

5 sistemas de parches en vivo del kernel de Linux que ayudarán a ejecutar servidores Linux sin reiniciar

Hay varios sistemas diferentes de parches en vivo de Kernel disponibles de diferentes proveedores, la mayoría de los cuales están diseñados para usarse con una distribución de Linux específica:

Oracle Ksplice

Ksplice es el sistema original de parches del kernel de Linux "sin reinicio", creado en 2009 y adquirido por Oracle en 2011. Ahora funciona solo con Oracle Linux y RHEL con una licencia de Oracle. Carece de una función de programación, pero realiza actualizaciones automáticas de parches sin necesidad de reiniciar.

RedHat Kpatch

Kpatch fue creado por Red Hat para trabajar en su propia distribución de Linux, aunque se puede portar a Fedora, CentOS y sistemas basados ​​en Debian como Ubuntu y Gentoo. No está automatizado:con Kpatch, un administrador debe verificar y aplicar parches manualmente.

SUSE Kgraft

Kgraft es el sistema de parches en vivo de SUSE y solo funciona con el propio Linux Enterprise Server de SUSE. A diferencia de otros sistemas, Kgraft no detiene las funciones del kernel mientras se aplican los parches. En su lugar, supervisa las funciones para que pueda aplicar todos los parches dentro de una sola llamada al sistema.

Ubuntu Livepatch

Livepatch fue creado por Canonical, la empresa que desarrolla Ubuntu. Es único entre los sistemas de parches en vivo porque permite a los administradores crear sus propios parches de kernel personalizados. Funciona en Ubuntu, por supuesto, pero también en Red Hat Enterprise Linux.

Cuidado del núcleo

KernelCare, desarrollado por CloudLinux, funciona con las distribuciones más populares, como CentOS, RHEL, Oracle Linux, Amazon Linux, Debian y Ubuntu. Es automatizado, fácil de instalar, maneja parches complejos y proporciona parches personalizados y de fecha fija para satisfacer necesidades específicas.

Comparación de funciones y precios

Capacidades de aplicación de parches

Compatibilidad e implementación

Cuidado del núcleo

Oracle Ksplice

Red Hat Kpatch

SUSE Kgraft

Ubuntu Livepatch

Distribución de parches

Conjunto de parches único para todos los parches

Cada uno es un módulo separado

Cada uno es un módulo separado

Cada uno es un módulo separado

Conjunto de parches único para todos los parches

Tiempo de lanzamiento

Antes o poco después de la distribución base

Después del parche en la distribución base

Ninguno provisto

Coincide con los ciclos de lanzamiento de SUSE

Coincide con los ciclos de lanzamiento de UBUNTU

Parches Glibc

No

No

No

Revisión de OpenSSL

No

No

No

Parches personalizados

No

No

Distribuciones admitidas

Cuidado del núcleo

Oracle Ksplice

Red Hat Kpatch

SUSE Kgraft

Ubuntu Livepatch

¿Admite kernels más antiguos?

No

No

No

¿Compatibilidad con 32 bits?

Personalizado

No

No

No

¿API disponible?

No

Funcionalidad de retroceder?

No

No

No

¿Funciona detrás de un cortafuegos?

Precio por servidor

Oracle Ksplice

Oracle Linux, Fedora 25-27, escritorio Ubuntu 14.04-17.10

Red Hat Kpatch

Red Hat Enterprise Linux, Ubuntu, Debian, Gentoo

SUSE Kgraft

SUSE

Ubuntu Livepatch

Ubuntu

Cuidado del núcleo

OS CloudLinux, Amazon Linux 1 y 2, CentOS, Debian, OpenVZ, Oracle Enterprise Linux, Oracle UEK, Proxmox VE, Red Hat Enterprise Linux, Ubuntu, Ubuntu Core, Virtuozzo , Xen4 CentOS, Yokto

Lectura relacionada

  • Detectar bibliotecas compartidas obsoletas en la memoria con Uchecker

¿Qué sistema de parches en vivo del Kernel de Linux es mejor para usted?

Para una corporación que ejecuta servidores web internamente, con una gran cantidad de administradores de sistemas, sistemas estandarizados y contratos de soporte existentes con Oracle, Red Hat o SUSE, los beneficios de usar los sistemas de parches incluidos pueden superar los costos Interactuar regularmente con las operaciones de soporte de estos proveedores puede ayudar a optimizar las suyas.

Para una organización que ejecuta servidores web que están estandarizados en Ubuntu, su sistema Livepatch incluido con su suscripción de soporte es una buena opción. El sistema es sólido y el costo es bajo, en comparación con los contratos de soporte antes mencionados.

Para una corporación con una gran flota de servidores, que incluye diferentes distribuciones de Linux, el sistema KernelCare es la única opción viable. También es una buena opción para las corporaciones a las que les preocupa el costo y la eficiencia, ya que proporciona parches automatizados y flexibles a bajo costo.

Para una empresa que ejecuta dispositivos habilitados para Internet como parte de la "Internet de las cosas", KernelCare es la única opción. La mayoría de estos dispositivos usan contenedores de Linux, y cuando son pirateados, pueden tener consecuencias mortales, por lo que es crucial mantener sus kernels parcheados. El tiempo de lanzamiento rápido de los parches en el sistema KernelCare lo hace muy adecuado para las aplicaciones de IoT.

Lectura relacionada:

  • Diferentes formas de actualizar el kernel de Linux para Ubuntu

¿Está utilizando actualmente alguno de los sistemas de parches en vivo antes mencionados? Comparta sus pensamientos en la sección de comentarios a continuación.


Linux
  1. Ejecute contenedores en Linux sin sudo en Podman

  2. Módulos del kernel de Linux sin los que no podemos vivir

  3. ¿Qué hace que un servidor Kernel Linux sea fundamental?

  4. ¿Se puede ejecutar Xcode en Linux?

  5. Depuración en vivo del kernel de Linux, ¿cómo se hace y qué herramientas se utilizan?

11 comandos de Linux sin los que no puedo vivir

CÓMO:Ejecutar Linux en Android sin root

Linux – Diagrama de Linux Kernel vs. Herramientas de rendimiento?

Live Patching Ubuntu Server para que no tenga que reiniciarlo

30 herramientas y servicios interesantes para monitorear sus servidores Linux

Uso de Ajenti en la gestión de servidores Linux

    Oracle Ksplice

    $2299 ($1399) por servidor por año:el costo de una suscripción de soporte Oracle Linux Premier o (limitada)

    Red Hat Kpatch

    $1299 por servidor por año:el costo de una suscripción de soporte RHEL Premium

    SUSE Kgraft

    $2198 por servidor por año:el costo combinado del servicio de parches en vivo ($699) y la suscripción del servidor prioritario ($1499)

    Ubuntu Livepatch

    $225 por servidor por año, $75/año por máquinas virtuales:el costo de una suscripción de soporte de Ubuntu Advantage

    Cuidado del núcleo

    $27 por servidor por año, para una licencia de más de 500 servidores.