GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo configurar actualizaciones automáticas del kernel sin reinicio en el servidor Linux

Parchar el kernel en un servidor Linux parece simple. Se puede hacer usando herramientas comunes como dpkg, apt-get o kexec. Sin embargo, estos métodos se complican si una organización ejecuta cientos o miles de servidores. Muchos servidores significan múltiples distribuciones para parchear, cada una de las cuales requiere la atención personal de un administrador de sistemas o ingeniero.

Estos métodos de parcheo manual también son riesgosos porque requieren reinicios. Los reinicios implican tiempo de inactividad del servidor, lo que siempre es problemático, por lo que generalmente se realizan en ciclos de reinicio. Debido a que la aplicación manual de parches se realiza durante estos ciclos, brinda a los piratas informáticos una "ventana de tiempo" en la que pueden atacar la infraestructura del servidor.

Para las organizaciones que ejecutan más de unos pocos servidores, la aplicación de parches en vivo es una mejor opción. Es una forma automatizada de parchear un kernel de Linux mientras el servidor se está ejecutando, lo que le permite ser más eficiente y más seguro que los métodos manuales. Aprendamos a configurar cuatro de los sistemas de parches en vivo más populares de Canonical, Oracle, Red Hat y CloudLinux.

Qué es el parche en vivo y cómo funciona

En última instancia, existen dos métodos de aplicación de parches en vivo para kernels y bibliotecas: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 reiniciar.

El método temporal

El método temporal (o aplicación de parches de "pila") se ejecuta con un software de administración de paquetes (como el complemento YUM). Los parches se envían a los repositorios y se aplican de acuerdo con los flujos de trabajo de actualización especificados por el usuario.

Los parches "apilados" equivalen a reinicios del servidor y tiempo de inactividad, aunque es posible que no necesite reiniciar inmediatamente después de instalar el parche, pero debido a la arquitectura de este tipo de actualizaciones en vivo, los parches de seguridad se acumulan uno encima del otro con el tiempo, potencialmente disminuyendo 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.

Los proveedores que ofrecen parches temporales son:

  • Parche en vivo canónico
  • kGráfico
  • Revisión en vivo del kernel de Amazon Linux 2 

El método persistente

En el caso de un método persistente, un servidor almacena los parches más recientes y estos parches se denominan "monolíticos", ya que contienen parches anteriores. Para actualizar los servidores, un programa de agente se ejecuta en segundo plano y verifica si hay parches en el servidor de parches. Si hay un parche para un kernel en el servidor de parches, el agente llama al módulo de parches y aplica el parche.

La aplicación de parches persistentes tiene otras ventajas importantes: 

  • Los servidores que utilizan el método persistente permanecen en funcionamiento incluso con vulnerabilidades de hardware que normalmente requieren reiniciar para parchear, como Spectre, Meltdown y Zombieload;
  • Reduce el tiempo y el esfuerzo necesarios para administrar servidores mediante la automatización completa del proceso de aplicación de parches;
  • Permite que los servidores permanezcan en funcionamiento, a menudo durante años.

El método de aplicación de parches persistente generalmente implica tarifas de proveedores, con períodos de prueba gratuitos disponibles de la mayoría de los proveedores:

  • Empalme
  • Kparche
  • Cuidado del núcleo

Configure actualizaciones automáticas del Kernel sin reinicio en el servidor Linux

A continuación, le mostraremos cómo configurar actualizaciones de kernel sin reinicio en un servidor Linux utilizando los servicios Livepatch, Kpatch, Ksplice y KernelCare.

Nota:Antes de comenzar a implementar estas instrucciones, asegúrese de que su sistema esté actualizado y respaldado.

1. Configuración de Livepatch canónico

El servicio Canonical Livepatch se puede configurar durante o después de la instalación. Instalará los parches de seguridad del kernel solo cuando ejecute el comando apt-get upgrade (por lo tanto, semiautomático).

Pros: Sencillo. Semiautomático. No es necesario reiniciar.

Desventajas: Caro para 4 o más hosts (pero gratis hasta 3 hosts para todos y hasta 50 máquinas si es miembro de la comunidad de Ubuntu). Sin reversión de parches.

Tarifas, por servidor: Mensual (No disponible), Anual ($225).

Para instalar Livepatch en Ubuntu 20.04 LTS Server (también funciona en las versiones 16.04 LTS, 14.04 LTS y 18.04 LTS), abre una terminal y ejecuta estos dos comandos: 

sudo snap install canonical-livepatch
sudo canonical-livepatch enable <your key>

Para cancelar el registro de un servidor, utilice este comando: 

sudo canonical-livepatch disable <your key>

Para comprobar el estado del servicio, utilice este comando: 

sudo canonical-livepatch status --verbose

2. Configuración de Oracle Ksplice

A menos que esté ejecutando una instancia de Ksplice dentro de Oracle Cloud, necesitará una clave de acceso para instalarlo. Esto se puede obtener iniciando sesión en Unbreakable Linux Network y siguiendo las instrucciones para registrar su sistema para Ksplice.

Para instalar Ksplice, su sistema debe tener acceso a Internet. Si está utilizando un proxy, configure el proxy en su shell:

# export http_proxy=http://proxy.example.com:port
# export https_proxy=http://proxy.example.com:port

El proxy debe admitir la realización de conexiones HTTPS y la cadena del proxy debe tener este formato:

[protocol://][username:[email protected]]<host>[:port]
  • protocolo es el protocolo para conectarse al proxy (http o https)
  • el nombre de usuario y la contraseña son la información de autenticación necesaria para usar su proxy (si corresponde).
  • host y puerto son el nombre de host/dirección IP y el número de puerto que se usa para conectarse al proxy

Ejecute las siguientes instrucciones como root, reemplazando YOUR_ACCESS_KEY con la clave de acceso que recibió en el paso anterior.

Dentro de Oracle Cloud

Para instalar Ksplice dentro de Oracle Cloud para que las actualizaciones del kernel se instalen automáticamente, ejecute estos comandos: 

# wget -N https://ksplice.oracle.com/uptrack/install-uptrack-oc
# sh install-uptrack-oc --autoinstall

Para aplicar las actualizaciones disponibles a Uptrack, la aplicación que instala automáticamente las actualizaciones del kernel, ejecute este comando:

# uptrack-upgrade -y

Si ya instaló Uptrack, puede activarlo configurando autoinstall =yes en /etc/uptrack/uptrack.conf después de instalar Ksplice.

Para instalar Ksplice para que las actualizaciones se apliquen manualmente, ejecuta estos comandos: 

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

Fuera de Oracle Cloud

Para instalar Ksplice fuera de Oracle Cloud para que las actualizaciones del kernel se instalen automáticamente, ejecute estos comandos: 

# wget -N https://ksplice.oracle.com/uptrack/install-uptrack
# sh install-uptrack YOUR_ACCESS_KEY --autoinstall

Para instalar Ksplice para que las actualizaciones se apliquen manualmente, ejecuta estos comandos: 

# wget -N https://ksplice.oracle.com/uptrack/install-uptrack
# sh install-uptrack YOUR_ACCESS_KEY

Nota:si está instalando Ksplice en un servidor Debian o Ubuntu, es posible que primero deba instalar ca-certificates paquete con apt-get install ca-certificados. Sin este paquete, verá un "error de verificación de certificado".

4. Configuración de Red Hat Kpatch

La instalación de Kpatch es simple y directa:

Ejecute el comando de actualización para actualizar los repositorios de paquetes y obtener la información más reciente del paquete:

sudo apt-get update -y

Ejecute el comando de instalación con el indicador -y para instalar rápidamente los paquetes y las dependencias:

sudo apt-get install -y patch

5. Configuración de CloudLinux KernelCare

Para ver si KernelCare admite el kernel en ejecución, ejecute cualquiera de estos comandos:

curl -s -L https://kernelcare.com/checker | python

o

wget -qq -O – https://kernelcare.com/checker | python

Para instalar KernelCare, ejecute cualquiera de estos comandos:

curl -s -L https://kernelcare.com/installer | bash

o:

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

Si está utilizando una licencia basada en IP, no se requiere nada más. Si está utilizando una licencia basada en clave, ejecute este comando:

$ /usr/bin/kcarectl --register KEY

CLAVE es la cadena de código clave de registro que recibió cuando compró KernelCare o se registró para una prueba gratuita. Puede obtener una clave aquí.

Para cancelar el registro de un servidor, ejecute:

sudo kcarectl --unregister

Para comprobar el estado del servicio, ejecute:

sudo kcarectl --info

KernelCare comprueba automáticamente si hay nuevos parches cada 4 horas. Para realizar actualizaciones manualmente en lugar de automáticamente, ejecute:

/usr/bin/kcarectl –update

Conclusión

Estas instrucciones de instalación para varias soluciones de parches en vivo enumeran todos los pasos necesarios para instalar una en su entorno. Una vez hecho esto, disfrutará de los beneficios de la tecnología de parches en vivo:podrá actualizar el kernel sin detener el servidor, sin necesidad de reinicios posteriores durante meses o incluso años.

 


Linux
  1. Cómo actualizar Kernel en Linux Desktop

  2. Cómo configurar un servidor SFTP en Arch Linux

  3. Cómo configurar VSFTPD en CentOS 8

  4. Cómo configurar un servidor Wekan Kanban en Linux

  5. Cómo configurar un servidor Linux como un enrutador con NAT

Cómo configurar el servidor Pritunl VPN en Rocky Linux 8

Cómo configurar o cambiar el nombre de host en Linux

Cómo configurar actualizaciones automáticas del kernel en Linux

Cómo configurar un servidor TeamSpeak en CentOS 7

Cómo configurar un demonio Rsync en su servidor Linux

Cómo configurar un cortafuegos en su servidor Linux