Welches Tool empfehlen Sie, um Änderungen auf einem Linux / Unix-Server zu verfolgen?

38

Ich verwalte mehrere Linux-Server für Clients in verschiedenen Rollen wie E-Mail, Caching, Web-Serving, Filtern, Firewall / Routing und so weiter.

Da ich diese Computer nicht besitze und nur Remote-Support anbiete, scheinen zentrale Verwaltungssysteme wie Puppet nicht das richtige Werkzeug zu sein. (Bitte korrigieren Sie mich, wenn Sie denken, dass ich mich in dieser Annahme irre.)

Welche Tools empfehlen Sie, um Änderungen an Konfigurationsdateien, Paketinstallationen usw. nachzuverfolgen?

Ich denke, so etwas wie Etckeeper ist vielleicht in der Nähe von dem, was ich brauche, aber ich möchte wissen, ob es etwas besseres gibt.


Aktualisieren

Wir werden Sicherungen der Systeme haben, und ich würde nicht erwarten, dass diese Art von Werkzeug eine Alternative zu einer Sicherung ist. Hier geht es darum, Konfigurationsänderungen im Auge zu behalten und ein System zu haben, das weiß, was sich wann, von wem und hoffentlich warum geändert hat.

Zoredache
quelle
Siehe auch serverfault.com/questions/5410/…
Zoredache,
stimme für etckeeper. Ich habe bis jetzt noch nichts davon gehört.
Icasimpan

Antworten:

14

Ich habe eine Überwachungsfunktion auf meiner persönlichen Workstation, aber ich habe noch nicht viel damit zu tun gehabt (abgesehen davon, dass alle meine Änderungen protokolliert wurden). Scheint so, als ob es eine vernünftige Arbeit leistet, um sicherzustellen, dass Sie zumindest wissen, woran es gelegen hat.

Ich würde Puppet nicht als Lösung abschreiben - solange einige der Dienste auf der Maschine in Ihrer Verantwortung sind, dann ein System, das sicherstellt, dass, wenn jemand Ihre Konfiguration wackelt, diese so zurückgesetzt wird, wie Sie es möchten ist ein Glücksfall.

Wenn andere jedoch regelmäßig Änderungen vornehmen (und dies normalerweise nicht vermasseln), müssen Sie möglicherweise nur nachverfolgen, was andere für eine spätere Notfallwiederherstellung getan haben. Vergessen Sie nicht, dass die Dinge überall geändert werden, sodass ein Checkpoint-Tool mit vollem Rechner möglicherweise besser ist. Ich würde vielleicht sogar in Betracht ziehen, ein inkrementelles Backup auf der gesamten Festplatte durchzuführen (wie z. B. rdiff-backup oder so), um sicherzugehen, dass Sie alles protokollieren (möglicherweise Drop / Home-Bereiche und andere Bereiche auf Benutzerebene außerhalb des Backups, wenn Sie nur möchten administrative Änderungen verfolgen).

womble
quelle
6

Vielleicht möchten Sie sich Tripwire oder AIDE ansehen

Beide werden Konfigurationsdateiänderungen auf Ihren Maschinen verfolgen.

Mark Turner
quelle
Tripwire und AIDE sind wirklich gute Werkzeuge, aber beide sind sehr schwer im Vergleich zu Changetrack oder Etckeeper. Wenn Sie eine vollständige Integritätsprüfung und hostbasierte IDS-Funktionen benötigen, sind diese eine gute Wahl. Aber wenn Sie nur die Änderungen anderer Administratoren überwachen möchten, würde ich sie nicht empfehlen.
Christopher Cashell
1
Ich würde Ihrer Einschätzung zustimmen, wenn es nur um Tripwire ginge. Aber AIDE ist extrem einfach zu verwenden, um nur Dateisystemänderungen zu verfolgen.
Mark Turner
Es ist schon eine Weile her, dass ich mit AIDE oder Tripwire gespielt habe, aber als ich nach etwas suchte, um Konfigurationsänderungen zu überwachen (schließlich ging ich zu Changetrack), schlug mein Spielen mit AIDE vor, dass es schwierig oder unmöglich war, es einfach zum Senden von Diffs zu bringen Senden Sie alle Dateien, die in der letzten Stunde geändert wurden, stündlich (z. B.). Das und das Speichern der Änderungen in einer Art Revisionskontrollsystem war alles, was ich brauchte, und AIDE schien dafür umständlich zu sein. Das war jedoch einige Jahre her, so dass sich die Dinge definitiv geändert haben könnten.
Christopher Cashell
4

Ich habe mir etckeeper angeschaut, aber ich habe es nicht benutzt. Ich habe jedoch Changetrack verwendet . Ich benutze es seit vielen Jahren auf allen meinen Heimcomputern und bei meinem vorherigen Job war es Teil unserer Standard-Serverinstallation. Wir haben es dort in den letzten fünf Jahren verwendet und es auf ungefähr 200 Boxen installiert.

Das Setup ist trivial (ich habe bei meinem letzten Job ein RPM dafür erstellt) und die Konfiguration ist wirklich einfach. Ich habe es im Allgemeinen so eingerichtet, dass es die gesamte Datei / etc / überwacht.

Christopher Cashell
quelle
1
warum hast du die rpm nicht in das changetrack projekt hochgeladen :)
gbjbaanb 16.01.10
1
Genau das habe ich mir vorgenommen. Am Ende habe ich jedoch meinen letzten Job verlassen, bevor ich ihn hochgeladen habe, und habe keinen Zugriff mehr darauf. Ich werde jedoch einige meiner ehemaligen Kollegen anrufen, um zu sehen, ob sie das schaffen.
Christopher Cashell
4

Zum Nachverfolgen von Paketänderungen (Installationen, Upgrades usw.) auf RPM-basierten Systemen wird jede Paketänderung angemeldet , sofern alle Änderungen mit yumoder vorgenommen yumexwurden /var/log/yum.log.

Andere Personen haben bereits geantwortet, um Änderungen in nachzuverfolgen /etc. Vergessen Sie nicht, dass Sie auch Konfigurationsänderungen nachverfolgen möchten, binddie teilweise /var(zumindest bei vielen Linux-Distributionen) vorgenommen wurden und dass Webseiten /var/wwwbei vielen Linux-Distributionen nicht vorhanden sind. Es gibt Verzeichnisse außerhalb /etc, die wichtige Konfigurationsinformationen enthalten.

Abhängig davon, wie die Dinge verwaltet werden, möchten Sie möglicherweise auch /usr/local/etcandere Verzeichnisbäume verfolgen ( /opteinige Bäume darunter /varund alles andere, was für Ihre Kunden spezifisch ist).

Eddie
quelle
3

Als Ausgangspunkt sollten Sie sich Blueprint ansehen , mit dem eine Systemkonfiguration analysiert wird. Es ist zwar beabsichtigt, Konfigurationen für Puppet oder Chef zu erstellen, aber es gibt keinen Grund, warum Sie es nicht nur für die Berichterstellung verwenden könnten.

Geekosaurier
quelle
2

Ein einfaches Skript zur Dateiüberwachung ist filemon. Ich verwende es auf meinem Heim-PC und in Kombination mit crontab erledigt es einen einfachen und unkomplizierten Job. Für eine komplexere Lösung der Integritätsprüfung (Dateiänderungen, neu installierte Pakete und viele andere) verwende ich OSSEC auf einer Reihe von Servern.

Dan
quelle
2

Du könntest / etc unter ein dvcs wie git stellen. Sie würden jedes Mal festschreiben, wenn Sie Änderungen vornehmen, und dann könnten Sie jedes Mal, wenn Sie einen Job starten, einfach diff aktivieren und sich alle Änderungen anzeigen lassen.

Baudtack
quelle
1
Gute Idee, genau das macht etckeeper. Es unterstützt Git, Mercurial oder Basar. Es stellt eine Verbindung zu Ihrem Paketverwaltungssystem her, um Änderungen in Bezug auf das Hinzufügen / Aktualisieren von Paketen nachzuverfolgen.
Zoredache
Hier ist ein Beitrag darüber, wie man so etwas in Arch Linux ARM einrichtet, in dem es hier genauso gut gelten sollte. zduck.com/2012/storing-your-raspberry-pi-config-in-git
silent__thought
0

LBackup unterstützt die Protokollierung des Löschens, Änderns und Hinzufügens von Dateien.


quelle