¿Qué herramienta recomienda para realizar un seguimiento de los cambios en un servidor Linux / Unix?

38

Administro varios servidores Linux para clientes en varios roles, como correo electrónico, almacenamiento en caché, servicio web, filtrado, firewall / enrutamiento, etc.

Como no soy dueño de estas computadoras y solo proporciono soporte remoto, los sistemas de administración central como Puppet no parecen ser la herramienta correcta. (Corrígeme si crees que estoy equivocado acerca de esta suposición)

¿Qué herramientas recomienda para rastrear cambios de archivos de configuración, instalaciones de paquetes, etc.?

Estoy pensando que algo así como etckeeper puede estar cerca de lo que necesito, pero quiero saber si hay algo mejor.


Actualizar

Tendremos copias de seguridad de los sistemas, y no esperaría que este tipo de herramienta sea una alternativa a una copia de seguridad. Se trata de hacer un seguimiento de los cambios de configuración y tener un sistema para saber qué cambió cuándo, quién y con suerte por qué.

Zoredache
fuente
Ver también serverfault.com/questions/5410/…
Zoredache
votando por etckeeper. No he oído hablar de eso hasta ahora.
icasimpan

Respuestas:

14

Tengo etckeeper en mi estación de trabajo personal, pero todavía no he tenido que hacer mucho (aparte de hacer un seguimiento de todos mis cambios). Parece que hace un trabajo razonable al asegurarse de que al menos sepa lo que se ha manipulado.

No descartaría Puppet como solución, siempre y cuando algunos de los servicios en la máquina sean su responsabilidad de mantener, entonces un sistema que se asegura de que si alguien agita su configuración, la vuelva a poner de la manera que lo desea. Es un regalo del cielo.

Por otro lado, si otros hacen cambios regularmente (y generalmente no lo arruinan), es posible que tenga que recurrir a rastrear lo que otras personas han hecho para la recuperación de desastres posterior. No olvide que las cosas cambiarán por todas partes, por lo que una herramienta de punto de control de máquina completa podría ser mejor. Tal vez incluso consideraría realizar una copia de seguridad incremental de disco completo (como rdiff-backup o algo así) para asegurarme de que está rastreando todo (tal vez descartar / inicio y otras áreas de nivel de usuario fuera de la copia de seguridad, si solo desea para rastrear cambios administrativos).

womble
fuente
6

Es posible que desee mirar Tripwire o AIDE

Ambos rastrearán los cambios del archivo de configuración en sus máquinas.

Mark Turner
fuente
Tripwire y AIDE son herramientas realmente buenas, pero ambas son muy pesadas en comparación con changetrack o etckeeper. Si necesita una verificación de integridad completa y características IDS basadas en host, son una buena opción. Pero si solo desea monitorear los cambios realizados por otros administradores, no los recomendaría.
Christopher Cashell
1
Estoy de acuerdo con su evaluación si solo se tratara de Tripwire ... pero AIDE es extremadamente fácil de usar para rastrear solo los cambios en el sistema de archivos.
Mark Turner
Ha pasado un tiempo desde que jugué con AIDE o Tripwire, pero cuando estaba buscando algo para monitorear los cambios de configuración (eventualmente fui con Changetrack), mi juego con AIDE sugirió que era difícil o imposible hacer que simplemente enviara diferencias. de cualquier archivo cambiado en la última hora, envíe cada hora (por ejemplo). Eso, además de almacenar los cambios en algún tipo de sistema de control de revisiones, era todo lo que necesitaba, y AIDE me pareció engorroso. Sin embargo, eso fue hace algunos años, por lo que las cosas definitivamente pueden haber cambiado.
Christopher Cashell
4

He mirado a etckeeper, pero no lo he usado. Sin embargo, he usado Changetrack . Lo he estado usando en todas mis máquinas domésticas durante muchos años, y en mi trabajo anterior era parte de la instalación de nuestro servidor estándar. Lo usamos allí durante los últimos cinco años y lo instalamos en unas 200 cajas.

La configuración es trivial (creé un RPM para ella en mi último trabajo), y la configuración es realmente simple. Generalmente lo configuro para monitorear todo / etc /.

Christopher Cashell
fuente
1
Entonces, ¿por qué no has subido las rpm al proyecto changetrack :)
gbjbaanb
1
En realidad planeé hacer exactamente eso. Sin embargo, terminé dejando mi último trabajo antes de cargarlo y ya no tengo acceso a él. Sin embargo, haré ping a algunos de mis antiguos compañeros de trabajo para ver si pueden hacerlo.
Christopher Cashell
4

Para rastrear cambios de paquetes (instalaciones, actualizaciones, etc.) en sistemas basados ​​en RPM, siempre que todos los cambios se realicen con yumo yumex, cada cambio de paquete se registre /var/log/yum.log.

Otras personas ya han respondido los cambios de seguimiento en /etc. No olvide que también desea realizar un seguimiento de los cambios de configuración bindque están parcialmente en /var(al menos en muchas distribuciones de Linux) y que las páginas web están /var/wwwen muchas distribuciones de Linux. Habrá directorios externos /etcque tienen información de configuración importante sobre ellos.

Dependiendo de cómo se gestionen las cosas, es posible que también desee realizar un seguimiento /usr/local/etcy otros árboles de directorio ( /opt, algunos árboles debajo /vary cualquier otra cosa que sea específica para sus clientes).

Eddie
fuente
3

Como punto de partida, es posible que desee mirar Blueprint , que analiza la configuración de un sistema. Si bien está destinado a crear configuraciones para Puppet o Chef, no hay razón para que no pueda usarlo solo para informar.

geekosaur
fuente
2

Un script de monitoreo de archivos simple es filemon . Lo uso en la PC de mi casa y, combinado con crontab, hace un trabajo simple y fácil. Para una solución más compleja de verificación de integridad (cambios de archivos, nuevos paquetes instalados y muchos otros), uso OSSEC en un montón de servidores.

Dan
fuente
2

Podrías poner / etc debajo de un dvcs como git. Te comprometerías cada vez que hicieras cambios y luego podrías tener diff cada vez que comenzaras un trabajo y mostrarte todos los cambios.

baudtack
fuente
1
Buena idea, esto es exactamente lo que hace etckeeper. Es compatible con git, mercurial o bazar. Se conecta a su sistema de gestión de paquetes para realizar un seguimiento de los cambios relacionados con las adiciones / actualizaciones de paquetes.
Zoredache
Aquí hay una publicación sobre cómo configurar algo como esto en Arch Linux ARM, que debería aplicarse igualmente bien aquí. zduck.com/2012/storing-your-raspberry-pi-config-in-git
silent__thought
0

LBackup tiene soporte para el registro de eliminación, modificación y adición de archivos.


fuente