Cómo evitar reinicios del servidor con Ubuntu Livepatch

Si administras tu (s) propio (s) servidor (es), tarde o temprano te enfrentas a este problema: tienes que reiniciar el sistema operativo, pero la máquina brinda un servicio importante que no puedes interrumpir.

Pero, ¿por qué reiniciar en primer lugar? Todo parece funcionar bien después de un apt-get upgrade mando. Sin embargo, las cosas no siempre son lo que parecen. Aunque el sistema continúa funcionando felizmente después de cada actualización, sin forzar un reinicio como lo hace Windows, es posible que aún lo necesite.

Por ejemplo, cuando se descubre una vulnerabilidad en el núcleo del sistema (kernel), se parchea y se envía a su servidor como un nuevo paquete. Después de instalar el kernel parcheado, algunos archivos se escriben en el disco, pero sigue siendo el kernel antiguo el que ejecuta el programa, ya que es el que está cargado en la memoria (RAM).

Esto significa que su servidor sigue siendo vulnerable a los agujeros de seguridad descubiertos anteriormente. Se pueden volver a cargar otros procesos, demonios y servicios sin reiniciar el sistema operativo. Sin embargo, el kernel se encuentra en el corazón del sistema y solo se puede volver a cargar en el próximo arranque.

Ubuntu Livepatch resuelve esto permitiéndole cerrar los agujeros de seguridad del kernel sin reiniciar. De esta forma, puede evitar o retrasar los reinicios durante semanas o meses sin comprometer la seguridad.

La idea central detrás del parche en vivo es simple: cuando una función es vulnerable, reescríbala, elimine fallas y cargue una nueva función en algún lugar de la memoria. Cuando se llama a la función, en lugar de ejecutar el código en el kernel, redirige la llamada para usar el código reescrito.

Texto del código de Ubuntu Livepatch

Pero, como ocurre con la mayoría de las cosas que parecen funcionar de forma sencilla, implementación y detalles técnicos no son tan simples.

Cómo configurar Livepatch en Ubuntu

Vaya a esta página y crea tu cuenta de Ubuntu One. (O simplemente inicie sesión si ya lo tiene). Revise su correo electrónico y luego haga clic en el enlace de confirmación de cuenta. A continuación, visite el Página del servicio Canonical Livepatch. Seleccione que es un “usuario de Ubuntu” y haga clic en el botón para generar su token. La siguiente página le mostrará los comandos exactos que debe ingresar en su servidor. Después del primer comando, ingrese

Espere unos segundos hasta que el paquete instantáneo esté completamente instalado. Cuando esté hecho, obtendrá un resultado similar al que puede ver en la siguiente imagen.

Instalar Snap de Ubuntu Livepatch

Finalmente, con el último comando de la página de Canonical,

el servicio se activa y aplica automáticamente parches de seguridad a su kernel, siempre que sea necesario, sin necesidad de que ingrese nada.

Instale Snap Daemon si es necesario

En raras ocasiones, el primer comando de la sección anterior puede fallar, con el siguiente mensaje de error: -bash: /usr/bin/snap: No such file or directory. En este caso, significa que su proveedor de servidor tiene una imagen del sistema operativo Ubuntu que no incluye el servicio snap daemon de forma predeterminada. Instálelo con:

Ahora ejecute los dos comandos de la sección anterior nuevamente.

Mantener su servidor actualizado

Livepatch aplicará todas las actualizaciones de seguridad necesarias a su kernel. Sin embargo, aún debe actualizar el resto de su sistema de forma regular con un comando como:

Debe hacer esto semanalmente, o incluso con más frecuencia, si puede. Los paquetes importantes del sistema pueden indicarle que deben reiniciarse para aplicar las últimas correcciones de seguridad.

Reinicio del servicio Ubuntu Livepatch

Por lo general, estos son reinicios elegantes, lo que significa que no interrumpen ningún servicio en el proceso. Por ejemplo, en este caso, el demonio SSH se reinició sin interrumpir la sesión SSH activa.

En otras situaciones, puede reiniciar los servicios usted mismo para asegurarse de que se vuelva a cargar el nuevo código parcheado y se apliquen las correcciones de seguridad. Por ejemplo, si observa que el paquete nginx se ha actualizado, puede ejecutar

para recargar el demonio nginx en la memoria. De lo contrario, aunque se actualice un paquete, es posible que se ejecute con el código antiguo y vulnerable, poniendo su servidor en riesgo de ataques conocidos. Algunas actualizaciones de paquetes hacen esto por usted, pero otras no. Por eso es un buen hábito prestar atención a lo que hace “apt upgrade” y reiniciar algunos servicios, si es necesario. También puede mirar los registros para ver si esto se ha hecho automáticamente.

Conclusión

Como puede ver, Canonical ha facilitado bastante la implementación de esto en un servidor. En lo que respecta al kernel, no es necesario que realice ningún trabajo de mantenimiento. Lo único que puedes hacer es correr

de vez en cuando para comprobar las cosas.

¿Es útil este artículo?

Puedes compartirlo con alguien que le vaya a interesar

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *