Jakie narzędzie polecasz do śledzenia zmian na serwerze Linux / Unix

38

Zarządzam kilkoma serwerami Linux dla klientów pełniących różne role, takie jak poczta e-mail, buforowanie, serwowanie stron internetowych, filtrowanie, zapora ogniowa / routing itd.

Ponieważ nie posiadam tych komputerów i zapewniam tylko zdalne wsparcie, systemy centralnego zarządzania, takie jak Puppet, nie wydają się być właściwym narzędziem. (Popraw mnie, jeśli uważasz, że mylę się co do tego założenia)

Jakie narzędzia polecasz do śledzenia zmian plików konfiguracyjnych, instalacji pakietów i tak dalej?

Myślę, że coś takiego jak etckeeper może być blisko tego, czego potrzebuję, ale chcę wiedzieć, czy jest coś lepszego.


Aktualizacja

Będziemy mieć kopie zapasowe systemów i nie spodziewałbym się, że tego typu narzędzie będzie alternatywą dla kopii zapasowej. Chodzi o śledzenie zmian w konfiguracji i posiadanie systemu, który będzie wiedział, co się zmieniło, kiedy, przez kogo i miejmy nadzieję, dlaczego.

Zoredache
źródło
Zobacz także serverfault.com/questions/5410/…
Zoredache
głosowanie na etckeepera. Do tej pory o tym nie słyszałem.
icasimpan

Odpowiedzi:

14

Mam etckeeper na mojej osobistej stacji roboczej, ale nie musiałem z tym jeszcze wiele robić (poza śledzeniem wszystkich moich zmian). Wygląda na to, że rozsądnie się upewnia, że ​​przynajmniej wiesz, co zostało zrobione.

Nie odpuściłbym Puppet jako rozwiązania - o ile niektóre usługi na maszynie są twoim obowiązkiem do utrzymania, to system, który upewni się, że jeśli ktoś zmieni twoją konfigurację, to zostanie przywrócony tak, jak chcesz. jest darem niebios.

Z drugiej strony, jeśli inni regularnie wprowadzają zmiany (i zwykle tego nie psują), być może będziesz musiał po prostu śledzić, co zrobili inni ludzie w celu późniejszego przywrócenia systemu po awarii. Nie zapominaj, że wszystko będzie zmieniane w każdym miejscu, więc narzędzie do sprawdzania pełnej maszyny może być lepsze. Być może zastanowiłbym się nawet nad stworzeniem na nim przyrostowej kopii zapasowej całego dysku (np. Rdiff-backup lub coś takiego), aby mieć pewność, że śledzisz wszystko (może upuszczasz / home i inne obszary na poziomie użytkownika poza kopią zapasową, jeśli tylko chcesz do śledzenia zmian administracyjnych).

womble
źródło
6

Możesz spojrzeć na Tripwire lub AIDE

Oba będą śledzić zmiany plików konfiguracyjnych na twoich komputerach.

Mark Turner
źródło
Tripwire i AIDE są naprawdę dobrymi narzędziami, ale oba mają bardzo dużą wagę w porównaniu z torami zmian lub etckeeper. Jeśli potrzebujesz pełnej kontroli integralności i funkcji IDS opartych na hoście, są dobrym wyborem. Ale jeśli chcesz tylko monitorować zmiany wprowadzone przez innych administratorów, nie poleciłbym ich.
Christopher Cashell
1
Zgadzam się z twoją oceną, gdyby chodziło tylko o Tripwire .. ale AIDE jest niezwykle łatwy w użyciu do śledzenia tylko zmian w systemie plików.
Mark Turner
Minęło trochę czasu, odkąd grałem w AIDE lub Tripwire, ale kiedy szukałem czegoś do monitorowania zmian w konfiguracji (w końcu poszedłem z Changetrack), moja gra z AIDE sugerowała, że ​​trudno było lub nie można było po prostu wysłać różnic dowolnych plików zmienionych w ciągu ostatniej godziny, wysyłaj co godzinę (na przykład). To, a także przechowywanie zmian w jakimś systemie kontroli wersji było wszystkim, czego potrzebowałem, a AIDE wydawało się to uciążliwe. Było to jednak kilka lat temu, więc rzeczy na pewno mogły się zmienić.
Christopher Cashell
4

Spojrzałem na etckeepera, ale go nie użyłem. Jednak użyłem Changetrack . Używam go na wszystkich moich komputerach domowych od wielu lat, a podczas mojej poprzedniej pracy była to część naszej standardowej instalacji serwera. Używaliśmy go tam przez ostatnie pięć lat i zainstalowaliśmy go na około 200 pudełkach.

Konfiguracja jest trywialna (stworzyłem dla niej RPM przy moim ostatnim zadaniu), a konfiguracja jest naprawdę prosta. Zasadniczo konfiguruję go do monitorowania wszystkich plików / etc /.

Christopher Cashell
źródło
1
więc dlaczego nie przesłałeś RPM do projektu changetrack :)
gbjbaanb
1
Właściwie to właśnie to planowałem. Jednak skończyłem z ostatnią pracą, zanim zacząłem ją przesyłać i nie mam już do niej dostępu. Będę jednak pingować niektórych z moich byłych współpracowników, aby sprawdzić, czy dadzą radę.
Christopher Cashell
4

Do śledzenia zmian pakietów (instalacji, aktualizacji itp.) W systemach opartych na RPM, o ile wszystkie zmiany są wprowadzane przy pomocy yumlub yumex, każda zmiana pakietu jest zalogowana /var/log/yum.log.

Inne osoby już odpowiedziały na śledzenie zmian w /etc. Nie zapominaj, że chcesz również śledzić zmiany konfiguracji, bindktórych częściowo dotyczy /var(przynajmniej w wielu dystrybucjach Linuksa) i że strony internetowe znajdują się w /var/wwwwielu dystrybucjach Linuksa. Będą katalogi na zewnątrz, /etcktóre zawierają ważne informacje o konfiguracji.

W zależności od sposobu zarządzania, możesz również chcieć śledzić /usr/local/etci inne drzewa katalogów ( /optniektóre drzewa poniżej /vari wszystko inne, co jest specyficzne dla Twoich klientów).

Eddie
źródło
3

Na początek warto przyjrzeć się Blueprint , który analizuje konfigurację systemu. Chociaż ma na celu tworzenie konfiguracji dla Puppet lub Chef, nie ma powodu, dla którego nie mógłbyś użyć go tylko do raportowania.

geekozaur
źródło
2

Prostym skryptem do monitorowania plików jest filemon. Używam go na moim domowym komputerze, a w połączeniu z crontab robi to proste i łatwe zadanie. W celu uzyskania bardziej złożonego rozwiązania kontroli integralności (zmiany plików, zainstalowane nowe pakiety i wiele innych) używam OSSEC na kilku serwerach.

Dan
źródło
2

Możesz umieścić / etc pod dvcs, takimi jak git. Zobowiązujesz się za każdym razem, gdy wprowadzasz zmiany, a potem możesz po prostu git diff za każdym razem, gdy zaczynasz pracę i wyświetlasz wszystkie zmiany.

baudtack
źródło
1
Dobry pomysł, właśnie to robi etckeeper. Obsługuje git, merkurial lub bazar. Łączy się z systemem zarządzania pakietami, aby śledzić zmiany związane z dodawaniem / aktualizowaniem pakietów.
Zoredache
Oto post o ustawianiu czegoś takiego w Arch Linux ARM, powinien mieć zastosowanie równie dobrze tutaj. zduck.com/2012/storing-your-raspberry-pi-config-in-git
silent__ought
0

LBackup obsługuje rejestrowanie usuwania, modyfikacji i dodawania plików.


źródło