Para aprender un poco acerca de la administración del servidor, he configurado un servidor simple Ubuntu 14.04 en el que ejecuto un sitio web personal. Lo configuré para instalar automáticamente actualizaciones de seguridad, pero omitir las otras actualizaciones. Esto parece funcionar bastante bien. De vez en cuando recibo un mensaje al iniciar sesión en el servidor (con ssh) que dice:
*** System restart required ***
Las veces que esto sucedió, simplemente reinicié Ubuntu y todo estuvo bien. Esto está bien porque es un sitio web personal simple. Sin embargo, lo que me pregunto es cómo funciona esto para los servidores web, que deberían ser un 99,9999% de aumento del tiempo. ¿Simplemente no se reinician y corren el riesgo de que se infrinja la seguridad porque las actualizaciones de seguridad no están instaladas (lo cual no puedo imaginar)? ¿O dan por sentado el tiempo de inactividad (lo cual tampoco puedo imaginar)?
¿Cómo debo manejar esto si este fuera un servidor de producción muy importante que quiero mantener en funcionamiento? Todos los consejos son bienvenidos!
[EDITAR]
Se que puedo hacer cat /var/run/reboot-required.pkgs
para enumerar los paquetes que causan el reinicio. El comando actualmente produce lo siguiente:
linux-image-3.13.0-36-generic
linux-base
dbus
linux-image-extra-3.13.0-36-generic
linux-base
pero, ¿cómo puedo saber si las actualizaciones son pequeñas cosas de si tengo una vulnerabilidad de seguridad grave si no hago el reinicio?
[EDIT2] Bien, ahora combiné los comandos que he encontrado útiles en uno:
xargs aptitude changelog < /var/run/reboot-required.pkgs | grep urgency=high
Si esto no produce nada, no parece haber problemas de seguridad con una alta urgencia.
Una última pregunta sin embargo: son low
, medium
y high
Las únicas posibilidades de urgencia, o hay más como por ejemplo critical
o extremelyimportant
?
| grep 'urgency=' | egrep -v '=(low|medium)'
Respuestas:
No es una respuesta simple, ya que depende de las actualizaciones realizadas. Si el kernel tiene un problema de seguridad grave, es bueno reiniciarlo lo antes posible. Si el kernel solo tuviera correcciones menores, el reinicio podría posponerse.
Si garantiza una disponibilidad & gt; El 99.9% casi siempre tendrá un sistema en clúster donde podrá reiniciar los nodos uno por uno sin interrumpir el servicio.
Así que reinicia el primer sistema y lo vuelve a conectar al clúster. Luego el segundo y así sucesivamente. Entonces el servicio nunca dejará de estar disponible.
fuente
cat /var/run/reboot-required.pkgs
para obtener los paquetes que requieren el reinicio. Pero, ¿cómo puedo saber si estas son solo correcciones menores o si se trata de una vulnerabilidad de seguridad grave?aptitude changelog <package>
, aquí hay un ejemplo de salida: paste.ubuntu.com/8410798 (Esto es en un sistema Debian, no en Ubuntu, pero lo mismo funcionará en Ubuntu también).xargs aptitude changelog < /var/run/reboot-required.pkgs | grep urgency=high
(También se agregó a la pregunta inicial), lo que da una salida de qué paquetes tienen parches altamente urgentes. Después de eso, los paquetes individuales pueden, por supuesto, ser inspeccionados. ¡Un millón de gracias por todas las respuestas e ideas!Complemento para la solución del tema.
Realizo una comprobación similar para el 'requisito de reinicio' para el sistema de monitoreo de zabbix
Veo 2 problemas en la solución 'Topic':
Mi lógica es:
Utilizando Documentación de debian Encontré 5 valores posibles para 'urgencia' y también el hecho de que puede ser seguido por caracteres iguales ("=") o puntos y coma (":") También puede haber mayúsculas y minúsculas.
Así que terminé con lo siguiente:
Como resultado:
reboot_required_check.sh status
devuelve 1 si es necesario reiniciar, 0 si no lo esreboot_required_check.sh urgency
devuelve el nivel más alto de 'urgencia' o '0' si no es necesario reiniciarEspero que ayude a alguien a ahorrar tiempo;)
fuente
Los grandes servidores web se reinician cuando * Reinicio del sistema requerido * Aparece por razones de seguridad.
Pero esto es transparente para el usuario y el sitio nunca está inactivo porque los servidores grandes a menudo ejecutan dos o tres servidores que almacenan exactamente los mismos archivos y muestran el mismo sitio. El primero es el servidor principal, mientras que los otros dos son secundarios y se usan solo cuando el servidor principal está inactivo.
fuente
Big web servers
Ejecutar versiones personalizadas de Linux. No verán unSystem restart required
Diálogo, actualizan lo que necesitan para mantenerse seguros. En la mayoría de los casos, muchas, si no todas, las actualizaciones se pueden hacer mientras el sistema se está ejecutando (creo que incluso es posible actualizar un kernel de Linux en un sistema en ejecución sin reiniciar).Big web servers
Se ejecutan en servidores dedicados y VPS. Debido a esto, el administrador del sistema tiene más control sobre el software. ¿Amazon te da acceso de root shell a tu servidor?freezes execution of a computer so it is the only program running
al aplicar un parche, por lo que aún puede haber un poco de tiempo de inactividad (debido a que el proceso del servidor web está 'congelado'). Aquí es donde entra la respuesta de @Uwe Plonus.