"Actualización automática" automatizada para mantener el servidor seguro: ¿pros y contras?

8

Estoy considerando agregar un cronjob que se ejecuta yum -qy updateregularmente en algunas máquinas que no reciben mantenimiento regular. El objetivo sería mantener las máquinas actualizadas con respecto a los parches de seguridad que de otro modo se aplicarían demasiado tarde. Solo estoy usando los repositorios base de CentOS.

Preguntas:

  • En su experiencia, ¿qué tan "seguro" sería este enfoque? ¿Debo esperar actualizaciones fallidas de vez en cuando? ¿Aproximadamente con qué frecuencia este enfoque requeriría reiniciar?
  • ¿Pros / contras u otras trampas con este enfoque?
  • ¿Cómo mantiene sus máquinas actualizadas utilizando la automatización?
knorv
fuente
2
reemplace yum -qy con: / usr / bin / yum -R 120 -e 0 -d 0 -y actualice yum AND / usr / bin / yum -R 10 -e 0 -d 0 -y actualice
Adam Benayoun
Adam: Gracias por tu sugerencia. ¿Podría explicar por qué eso es mejor?
knorv
1
Primero actualiza yum y luego actualiza los paquetes, el -R significa que proporciona el tiempo máximo de espera del comando, lo que significa que no se agotará el tiempo si tengo razón. el -e y -d son solo nivel de error / depuración
Adam Benayoun
No estoy seguro acerca de "-R [tiempo en minutos]" - "establece la cantidad máxima de tiempo que esperará antes de ejecutar un comando; se aleatoriza con el tiempo". Parece que yum esperará rand () * minutos antes de emitir un comando? ¿Es bueno eso? :-)
knorv

Respuestas:

6

Depende

En mi experiencia con CentOS, es bastante seguro ya que solo está utilizando los repositorios base de CentOS.

Si espera actualizaciones fallidas de vez en cuando ... sí ... en el mismo nivel que debería esperar un disco duro defectuoso o una CPU fallida de vez en cuando. Nunca puede tener demasiadas copias de seguridad. :-)

Lo bueno de las actualizaciones automáticas es que se le aplica parches (y, por lo tanto, es más seguro) más rápido que hacerlo manualmente.

Los parches manuales siempre parecen ser rechazados o considerados como "de baja prioridad" para tantas otras cosas, por lo que si va a pasar al modo manual, PROGRAMAR TIEMPO EN SU CALENDARIO para hacerlo.

He configurado muchas máquinas para hacer udpates de yum automático (a través del trabajo cron) y rara vez he tenido un problema. De hecho, no recuerdo haber tenido un problema con los repositorios BASE. Cada problema que se me ocurre (desde mi cabeza, según mi experiencia) siempre ha sido una situación de terceros.

Dicho esto ... Tengo varias máquinas para las que MANUALMENTE hago las actualizaciones. Cosas como servidores de bases de datos y otros sistemas EXTREMADAMENTE críticos Me gusta tener un enfoque "práctico".

La forma en que lo descubrí personalmente fue así ... Pienso en el escenario "qué pasaría si" y luego trato de pensar cuánto tiempo tomaría reconstruir o restaurar desde una copia de seguridad y qué (si algo) se perdería .

En el caso de varios servidores web ... o servidores cuyo contenido no cambia mucho ... Continúo y actualizo automáticamente porque la cantidad de tiempo para reconstruir / restaurar es mínima.

En el caso de servidores de bases de datos críticos, etc., programo tiempo una vez por semana para revisarlos y parchearlos manualmente ... porque el tiempo necesario para reconstruir / restaurar consume más tiempo.

Dependiendo de qué servidores tiene USTED en su red y cómo se implementa su plan de respaldo / recuperación, sus decisiones pueden ser diferentes.

Espero que esto ayude.

KPWINC
fuente
6

Pro : su servidor siempre está en el último nivel de parche, generalmente incluso contra exploits de 0 días.

Con : Cualquier código que se ejecute en su servidor que use características eliminadas en versiones posteriores, cualquier archivo de configuración que cambie la sintaxis y cualquier nueva "característica" de seguridad que evite la ejecución de código que pueda ser explotado puede hacer que las cosas que se ejecutan en ese servidor se rompan sin usted. sabiéndolo hasta que alguien te llame con un problema.

Práctica recomendada: haga que el servidor le envíe un correo electrónico cuando sea necesario actualizarlo. Haga una copia de seguridad o sepa cómo deshacer las actualizaciones.

Karl Katzke
fuente
+1: recomiendo inscribirse en la lista de correo de centos, hacen un gran trabajo al enviar avisos sobre parches y prioridades antes de enviarlos a los repositorios.
Adam Benayoun
3
No hay parches contra exploits de 0 días, por definición. Un exploit de 0 días es uno para el que aún no hay parche.
MarkR
Considero que 0 días es el día en que se descubre / explota / anuncia, y Redhat generalmente repara vulnerabilidades severas en unas pocas horas, lo que, por coincidencia, aún durante el día en que se descubrió.
Karl Katzke
2

Además de lo que la mayoría de la gente dijo aquí, recomiendo inscribirse en la lista de correo de centos, siempre publican correos electrónicos sobre parches y sus prioridades justo antes de enviarlos a los repositorios. Es útil saber de antemano qué paquetes deben actualizarse.

Mi configuración le permite a yum actualizar automáticamente el sistema una vez al día, hago que me envíe un correo electrónico con los paquetes instalados o actualizados inmediatamente después. También recibo correo cuando yum tiene un conflicto y necesita intervención manual (cada 4 horas).

Hasta ahora, todo funciona sin problemas (durante más de 4 años), la única vez que me sorprendió fue cuando yum actualicé el kernel normal (virtualicé mi servidor) y cambié el grub y empujé el kernel normal por defecto, 2 semanas Más tarde, durante el mantenimiento, mi sistema se reinició y todos mis servidores virtuales desaparecieron durante unos minutos hasta que tuve que intervenir manualmente.

Aparte de eso, realmente no tuve ningún problema.

Adam Benayoun
fuente
1

siempre y cuando no tenga ningún paquete personalizado y esté utilizando solo los repositorios Base de CentOS, debería ser bastante seguro.

Además, una mejor manera de lograr esto sería usar yum-updatesd con do_update = yesset.

dlu
fuente
1
El servicio yum-updatesd no es lo suficientemente maduro para un entorno empresarial, y el servicio puede introducir una sobrecarga innecesaria. Usaría: / usr / bin / yum -R 120 -e 0 -d 0 -y update yum AND / usr / bin / yum -R 10 -e 0 -d 0 -y update
Adam Benayoun
0

Supongo que mientras tenga copias de seguridad automáticas, no sería una gran preocupación, siempre que pueda vivir con el tiempo de inactividad del servidor.

No he intentado esto; No quisiera hacerlo personalmente porque existe un riesgo significativo de romper algo o de que se presente un problema oscuro inusual debido a una solución aguas arriba. Es aún peor si este es un servidor que rara vez llama la atención, por lo que si algo sale mal, es posible que no lo sepas.

Si puede vivir con el servidor en cuestión cayendo por un período de tiempo si / cuando algo se rompe, y tiene un plan de respuesta para restaurar el sistema al estado anterior, así como un sistema para enviarle actualizaciones a través de registros o correo electrónico informar cuándo y qué se actualizó (para que sepa que no está en un estado atascado o esperando una respuesta a algo que requiere intervención), puede probarlo. Si es un servidor crítico o algo importante ... no me gustaría arriesgarlo.

Sin embargo, mis servidores no son tuyos :-)

Bart Silverstrim
fuente