ClickCease Cómo aplicar los parches de seguridad del núcleo de Linux: 3 maneras diferentes

Tabla de contenidos

Únase a nuestro popular boletín

Únase a más de 4.500 profesionales de Linux y el código abierto.

2 veces al mes. Sin spam.

Cómo aplicar los parches de seguridad del núcleo de Linux: 3 maneras diferentes (2024)

Rohan Timalsina

5 de agosto de 2024 - Equipo de expertos TuxCare

  • Al igual que unos cimientos fuertes son vitales para un edificio, un núcleo seguro es esencial para un sistema Linux seguro. 
  • Live patching permite aplicar parches de seguridad a un núcleo en ejecución sin necesidad de reiniciar, lo que reduce significativamente el tiempo de inactividad de los sistemas críticos.
  • Los kernels sin parchear pueden dejar sus sistemas expuestos a vulnerabilidades conocidas, lo que aumenta el riesgo de incidentes de seguridad como filtraciones de datos o accesos no autorizados.

Las actualizaciones del kernel de Linux son un hecho. Son tan aburridas como los impuestos y tan divertidas como ir al dentista. Pero los administradores de sistemas deben seguir parcheando: las nuevas vulnerabilidades de seguridad descubiertas en el kernel de Linux parecen aparecer con monótona regularidad. En la mayoría de los casos, aunque no en todos, los parches necesarios para solucionarlas no se hacen esperar.

La instalación de los últimos parches de seguridad del núcleo de Linux conlleva mucho trabajo, y las realidades prácticas pueden hacer que los parches se retrasen. Pero, si se deja pasar demasiado tiempo, se da una oportunidad a los actores de amenazas para aprovecharse de una vulnerabilidad no parcheada.

 

Por eso es tan importante encontrar la mejor manera de parchear lo más rápido posible.

 

La popularidad de Linux como plataforma para servicios de alojamiento web, servidores web independientes y aplicaciones web lo convierte en un objetivo prioritario. Los piratas informáticos utilizan técnicas como ejecución remota de código (RCE)scripting entre sitios (XSS) y ataques de denegación de servicio (DoS). ataques de denegación de servicio (DoS).

Mantener las instancias Linux actualizadas con los últimos parches del sistema operativo y del software de aplicación es una de las formas más eficaces de reforzar la seguridad del sistema y protegerse contra este tipo de ciberamenazas. 

Sin embargo, se trata de una tarea molesta y que lleva mucho tiempo porque, en el caso de Linux, la mayoría de las actualizaciones del kernel y los parches de seguridad suelen requerir un reinicio del sistema. Este artículo explica cómo actualizar el kernel de Linux sin reiniciar. Además, cubrimos tres métodos diferentes para aplicar los parches de seguridad del kernel de Linux. Estos métodos son:

 

  • utilizando la línea de comandos
  • con kexec
  • con herramientas de live kernel patching sin reinicio: Oracle Ksplice Uptrack, Canonical Livepatch, Red Hat's Kpatch, SUSE Kgraft (SLE Live Patching) y KernelCare Enterprise.

 

1. Actualizaciones tradicionales por línea de comandos

 

Esta es la forma estándar de aplicar un parche de seguridad del núcleo de Linux utilizando el repositorio del proveedor de la distribución. Es el método que probablemente encontrará en la documentación del proveedor. Sin embargo, muchas distribuciones ofrecen ahora gestores gráficos de paquetes fáciles de usar que simplifican el proceso de actualización.

 

En Ubuntu, puede utilizar estos comandos en el terminal.

 

sudo apt update

sudo apt upgrade linux-image-generic 

sudo reboot

 

En Debian se utiliza:

 

sudo apt upgrade linux-image

sudo reboot

 

Para cualquier distribución basada en RPM, incluyendo CentOS y Red Hat Enterprise Linux (RHEL), utilice esto:

 

sudo yum update kernel
sudo reboot

 

Hasta aquí, todo fácil. Pero hay una pega: el parche del kernel no surtirá efecto hasta que reinicies.

¿Reiniciar? Sí. Debes dar de baja a tus usuarios, guardar tus archivos y cerrar procesos, a riesgo de hacer muy infeliz a mucha gente. Por ejemplo, alguien que esté realizando una compra en su sitio web. A continuación, tendrá que esperar a que su servidor Linux arranque de nuevo y recupere su estado anterior. 

¿Cuánto tardan en recuperarse sus servidores? ¿Se darán cuenta los clientes y otras partes interesadas? Aunque el riesgo de que se den cuenta sea bajo, hay que avisarles antes de instalar el parche del núcleo.

Esta es una de las razones por las que muchos administradores de sistemas aplazan la instalación de parches, evitando el tiempo de inactividad pero comprometiendo la seguridad del sistema.

 

VENTAJAS: Sin instalación. Proceso sencillo.

CONS: No está automatizado. Requiere reinicio.

 

2. kexec: Reinicios más rápidos

 

Cuando se aplica un parche de seguridad al kernel de Linux, suele ser necesario reiniciar el sistema para cargar el nuevo kernel parcheado. Puedes hacer que este proceso de reinicio sea más rápido utilizando kexecuna característica del núcleo de Linux que le permite arrancar directamente en un nuevo núcleo, saltándose las fases del gestor de arranque y de inicialización del hardware.

Para utilizarlo, primero debe instalar kexec-tools.

 

En Ubuntu/Debian:

 

sudo apt install kexec-tools

 

Verás una ventana de configuración parecida a ésta:

 

En CentOS/RHEL:

 

sudo yum install kexec-tools

 

A continuación, instala el nuevo kernel. Enumera los kernels y luego elige el kernel que quieres usar:

 

sudo yum update kernel

o

 

sudo rpm -qa kernel

 

El resultado debería ser algo parecido a esto:

 

kernel-3.10.0-514.26.1.el7.x86_64 

kernel-3.10.0-862.3.2.el7.x86_64

 

Ahora arranca con la versión del kernel que hayas elegido:

 

sudo kexec -l /boot/vmlinuz-3.10.0-862.3.2.el7.x86_64  

-initrd=/boot/initramfs-3.10.0-862.3.2.el7.x86_64.img  

-reuse-cmdline 

sudo sync; sudo umount -a; sudo kexec -e

 

Puede utilizar el siguiente comando si no tiene paciencia alguna (pero vea la advertencia a continuación antes de hacerlo):

 

sudo kexec -e

 

Nota: Aunque kexec no participa directamente en el proceso de parcheo en sí, ofrece reinicios más rápidos al evitar el gestor de arranque habitual y la inicialización del hardware. Sin embargo, esta velocidad tiene un coste. A diferencia de un reinicio estándar que cierra procesos, sincroniza cachés y desmonta sistemas de archivos, kexec salta directamente al nuevo kernel. Esto puede provocar la pérdida o corrupción de datos si las aplicaciones en ejecución tienen cambios sin guardar o manejadores de archivos abiertos.

 

VENTAJAS: Arranque más rápido. Se instala una sola vez.

CONTRAS: Más trabajo con los dedos (y mayor posibilidad de error a menos que lo guiones bien).

 

3. Actualizar el kernel sin reiniciar

 

Sí, has leído bien. Hay una manera de actualizar el kernel de Linux sin reiniciar.

Hay momentos en los que la aplicación de parches de seguridad es supercrítica y hay que llevarla a cabo. Al mismo tiempo, los procesos que deben detenerse al reiniciar son igualmente críticos. Si estás ejecutando un sistema "siempre activo" o de "alta disponibilidad", estarás familiarizado con este dilema.

Una actualización del kernel sin reinicio significa que puedes "tener tu pastel y comértelo (también)". Las actualizaciones sin reinicio, también conocidas como live kernel patchingno sustituyen a las actualizaciones completas del núcleo, ya que sólo aplican parches para vulnerabilidades de seguridad o correcciones de errores críticos.

Sin embargo, las actualizaciones sin reinicio son como una bala mágica para solucionar vulnerabilidades y garantizar la seguridad del núcleo de Linux. Cuando se consideran las cosas realmente urgentes, entonces las actualizaciones para vulnerabilidades de seguridad y correcciones de errores son realmente todo lo que se necesita. Utilizando métodos de live patching, es posible mantener un servidor a salvo de amenazas durante años sin reiniciar nunca el servidor.

Muchos de los principales proveedores de Linux ofrecen una herramienta para conseguir actualizaciones del kernel sin reiniciar. La herramienta que elijas depende en parte de la distribución que utilices y de si ya tienes un contrato de soporte con el proveedor. En el resto de este artículo, hablaremos de los siguientes productos. 

 

  • Ksplice de Oracle (para actualizaciones de Oracle Linux, Ksplice Uptrack para usuarios de empresa)
  • kpatch de Red Hat (para actualizaciones del kernel de RHEL y CentOS)
  • Livepatch de Canonical (para actualizaciones del núcleo de Ubuntu)
  • kGraft de SUSE (sólo para actualizaciones de SUSE)
  • KernelCare Enterprise (para las principales distribuciones de Linux)

 

Oracle Ksplice

 

Ksplice fue la primera implementación comercialmente disponible de actualizaciones del kernel sin reinicio. Ksplice, Inc. fue finalmente adquirida por Oracle y ahora sólo está disponible (como era de esperar) para la distribución Oracle Linux. La implementación de Ksplice requiere una suscripción a Oracle Linux Premier Support, que puede ser un factor de coste significativo.

 

Para desplegarlo, ejecute:

 

sudo wget -N https://ksplice.oracle.com/uptrack/install-uptrack-oc

sudo sh instalar-uptrack-oc -autoinstalar

 

Notarás que no hay comando de reinicio y que sólo necesitas ejecutar el script de instalación una vez durante la vida del servidor. Después de eso, el servicio Uptrack detectará automáticamente las nuevas actualizaciones del kernel y las desplegará. No hay nada más que hacer - sin programación y sin tiempo de inactividad.

 

PROS: No es necesario reiniciar. Actualizaciones automáticas.

CONS: Sólo para versiones de distribución Oracle. Requiere una licencia de soporte.

 

Servicio Livepatch de Canonical 

 

Canonical Livepatchofrecido por la empresa detrás de Ubuntu, es una herramienta para aplicar parches de seguridad del núcleo de Linux sin necesidad de reiniciar el sistema. También te permite crear tus propios parches, pero eso es un trabajo difícil y que lleva mucho tiempo. (Algunos proveedores crearán un kernel de actualización de Ubuntu para usted, previo pago).

El servicio Livepatch está disponible para Ubuntu 16.04 y posteriores, y RHEL 7.x (beta). Livepatch se despliega de la siguiente manera:

sudo snap install canonical-livepatch

 

sudo canonical-livepatch enable [TOKEN]

 

Nota: El servicio Canonical Livepatch es gratuito para uso personal en hasta 5 máquinas si eres miembro de Ubuntu One. El uso comercial requiere una suscripción a Ubuntu Pro.

PROS: No es necesario reiniciar. Actualizaciones automáticas del kernel.

CONS: Parches de kernel personalizados no triviales. Restricción en el número de hosts actualizables. Los hosts adicionales y el uso comercial incluyen una cuota.

 

Red Hat kpatch 

 

kpatch es la herramienta de parcheo del kernel propia de Red Hat. Fue anunciada en 2014 y ha sido adaptada para funcionar en otras distribuciones de la misma familia (Fedora, CentOS), así como en algunos sistemas basados en Debian (Ubuntu, Gentoo).

 

He aquí un ejemplo de despliegue en RHEL 7:

 

sudo yum install kpatch

sudo yum install kpatch-patch-X.X.X.el7.x86_64.rpm

 

A diferencia del servicio Livepatch de Ubuntu o Ksplice de Oracle, no se trata de un servicio automático de parcheo en vivo. Debe comprobar manualmente si hay nuevos parches e instalar cada parche del núcleo a medida que esté disponible.

 

PRO: No es necesario reiniciar.

CONS: No está automatizado. Funciona con una gama limitada de distribuciones.

 

SUSE kGraft 

 

Desarrollado y anunciado casi al mismo tiempo que la solución de Red Hat, kGraft es la oferta de parches en vivo de SUSE (conocida como SUSE Linux Enterprise Live Patching). Funciona únicamente con el propio Linux Enterprise Server 12 de SUSE, y viene preinstalado, por lo que realmente no hay nada que hacer salvo pagar por él. Funciona según un principio diferente al de la mayoría de los demás enfoques, pero tiene un conjunto de características comparable al de kpatch.

 

VENTAJAS: No necesita instalación. No es necesario reiniciar.

CONS: Compatible con una sola plataforma. Comercial (pero hay una prueba gratuita de 60 días).

KernelCare para empresas

 

Servicio de parcheo en vivo del núcleo Linux de TuxCare, KernelCare Enterprisede TuxCare destaca entre las soluciones de parcheo del kernel que hemos cubierto hasta ahora por dos razones. En primer lugar, KernelCare cubre una amplia gama de distribuciones de Linux, como CentOS, RHEL (desde RHEL 6), Oracle Linux, Debian, Ubuntu y muchas más. En segundo lugar, KernelCare es más asequible que suscribirse a un contrato de soporte específico de un proveedor como los mencionados anteriormente.

 

A continuación se explica cómo instalar KernelCare:

 

wget -qq -O -- https://kernelcare.com/installer | bash

sudo /usr/bin/kcarectl --register <your key>

 

KernelCare es una solución de "instalar y olvidar". Una vez instalado, KernelCare descarga y aplica automáticamente nuevos parches de seguridad del kernel de Linux sin reiniciar el servidor.

Pero, a diferencia de sus competidores más cercanos, KernelCare puede manejar muchos de los parches más complejos que se requieren para las vulnerabilidades, incluyendo el famoso Meltdown (CVE-2017-5754) y Spectre (CVE-2017-5753 & CVE-2017-5715).

KernelCare también le cubre frente a vulnerabilidades complejas más recientes, como la vulnerabilidad Dirty Pipes (CVE-2022-0847). Para realizar un seguimiento del estado de publicación de los parches para vulnerabilidades del núcleo de Linux (CVE), puede utilizar el rastreador de CVE rastreador de CVE TuxCare.

También se beneficiará de un amplio conjunto de funciones, ya que KernelCare admite configuraciones de parches personalizadas, parches de fecha fija, parches diferidos y reversiones sin reinicio que le permiten eliminar un parche sin reiniciar.

Al igual que los demás proveedores aquí considerados, KernelCare también tiene un sólido pedigrí Linux: KernelCare fue creado por CloudLinuxel principal proveedor de sistemas operativos Linux dedicados al alojamiento web.

 

PROS:

 

  • Fácil de instalar. No es necesario reiniciar.
  • Amplia cobertura de sistemas operativos (incluido Ubuntu, uno de los Linux más populares).
  • Admite parches personalizados y de fecha fija.
  • Asistencia experta y conocimientos del sector de TuxCare.

 

CONS:

 

 

Prueba GRATUITA de KernelCare Enterprise

 

Reflexiones finales

 

Mantener la seguridad del núcleo de Linux es una batalla constante. Comprobar regularmente si hay actualizaciones y aplicarlas con prontitud es crucial para adelantarse a las ciberamenazas en evolución. Actualizar el kernel es relativamente sencillo utilizando las herramientas estándar de línea de comandos, pero solo si su servidor no es crítico y si sus usuarios pueden soportar que se desconecte durante un tiempo.

Si tienes un sistema siempre activo, o si no puedes o no quieres reiniciarlo, debes considerar las soluciones de parcheado del kernel en vivo. Existen tres tipos:

 

  1. Administrado: usted mismo activa la aplicación de parches sin reinicio. Por ejemplo kpatch, kGraft
  2. Totalmente automático: La aplicación de parches sin reinicio se produce automáticamente. Por ejemplo Livepatch, Ksplice
  3. Totalmente automático, multiplataforma avanzado: lo hace por ti, también maneja amenazas avanzadas y funciona en todas las distribuciones populares de Linux. Por ejemplo KernelCare Enterprise

 

En muchos casos, sobre todo cuando se depende de diferentes distribuciones de Linux y no se tiene un contrato de soporte con un proveedor, KernelCare Enterprise merece la pena.

Si desea obtener más información sobre la tecnología de parcheo en directo y cómo hace posible la seguridad de su infraestructura, puede leer algunas de nuestras entradas de blog más populares:

 

 

Resumen
Cómo aplicar los parches de seguridad del núcleo de Linux: 3 maneras diferentes
Nombre del artículo
Cómo aplicar los parches de seguridad del núcleo de Linux: 3 maneras diferentes
Descripción
Aprenda 3 métodos para aplicar las últimas actualizaciones de seguridad del kernel de Linux y mantener su sistema seguro. Explore las herramientas de parcheo automatizadas y sin reinicio.
Autor
Nombre del editor
TuxCare
Logotipo de la editorial

¿Está listo para modernizar su enfoque de aplicación de parches de vulnerabilidad con la aplicación de parches automatizada y no disruptiva de KernelCare Enterprise? Programe una charla con uno de nuestros expertos en seguridad Linux.

Hable con un experto

Conviértete en escritor invitado de TuxCare

Empezar

Correo

Únete a

4,500

Profesionales de Linux y código abierto

Suscríbase a
nuestro boletín