Какой инструмент вы рекомендуете отслеживать изменения на сервере Linux / Unix

38

Я управляю несколькими Linux-серверами для клиентов в нескольких ролях, таких как электронная почта, кэширование, веб-обслуживание, фильтрация, межсетевой экран / маршрутизация и так далее.

Поскольку я не владею этими компьютерами и просто предоставляю удаленную поддержку, системы централизованного управления, такие как Puppet, не кажутся правильным инструментом. (Пожалуйста, поправьте меня, если вы думаете, что я ошибаюсь по поводу этого предположения)

Какие инструменты вы рекомендуете отслеживать изменения файлов конфигурации, установки пакетов и т. Д.?

Я думаю, что-то вроде etckeeper может быть рядом с тем, что мне нужно, но я хочу знать, есть ли что-то лучше.


Обновить

У нас будут резервные копии систем, и я не ожидаю, что этот тип инструмента будет альтернативой резервному копированию. Речь идет о том, чтобы отслеживать изменения конфигурации и иметь систему, чтобы знать, что изменилось, когда, кем и, надеюсь, почему.

Zoredache
источник
Также см. Serverfault.com/questions/5410/…
Zoredache
голосование за etckeeper. Я не слышал об этом до сих пор.
icasimpan

Ответы:

14

У меня есть etckeeper на моей личной рабочей станции, но мне еще не приходилось с этим много работать (кроме того, что он отслеживал все мои изменения). Похоже, что он делает разумную работу, чтобы убедиться, что вы, по крайней мере, знаете, что теребили.

Я бы не стал списывать Puppet как решение - если вы несете ответственность за обслуживание некоторых служб на компьютере, то система, которая гарантирует, что если кто-то покажет ваши настройки, они вернутся так, как вы этого хотите. это находка

С другой стороны, если другие регулярно вносят изменения (а они обычно не облажаются), вам, возможно, придется прибегнуть к простому отслеживанию действий других людей для последующего аварийного восстановления. Не забывайте, что все будет меняться повсюду, поэтому лучше использовать инструмент для контрольных точек с полной машиной. Возможно, я бы даже подумал о том, чтобы создать на нем инкрементное резервное копирование на весь диск (например, rdiff-backup или что-то в этом роде), чтобы убедиться, что вы отслеживаете все (возможно, удаление / home и другие области уровня пользователя из резервной копии, если вы просто хотите отслеживать административные изменения).

romble
источник
6

Вы можете посмотреть на Tripwire или AIDE

Оба будут отслеживать изменения файла конфигурации на ваших машинах.

Марк Тернер
источник
Tripwire и AIDE - действительно хорошие инструменты, но они оба очень тяжелые по сравнению с changetrack или etckeeper. Если вам нужна полная проверка целостности и функции IDS на основе хоста, это хороший выбор. Но если вы просто хотите отслеживать изменения, сделанные другими администраторами, я бы не рекомендовал их.
Кристофер Кашелл
1
Я бы согласился с вашей оценкой, если бы речь шла только о Tripwire ... но AIDE чрезвычайно прост в использовании для отслеживания только изменений файловой системы.
Марк Тернер
Прошло много времени с тех пор, как я играл с AIDE или Tripwire, но когда я искал что-то для отслеживания изменений конфигурации (я в конечном итоге пошел с Changetrack), моя игра с AIDE показала, что было трудно или невозможно заставить его просто отправлять diff любых файлов, измененных за последний час, отправляйте каждый час (например). Все, что мне было нужно, плюс хранение изменений в какой-то системе контроля версий, и AIDE показалось мне обременительным. Однако это было несколько лет назад, поэтому, возможно, все изменилось.
Кристофер Кашелл
4

Я посмотрел на etckeeper, но я не использовал его. Тем не менее, я использовал Changetrack . Я использовал его на всех своих домашних машинах много лет, и на моей предыдущей работе это было частью нашей стандартной установки сервера. Мы использовали его там в течение последних пяти лет и установили его примерно на 200 коробок.

Установка тривиальна (я создал RPM для нее на моей последней работе), и конфигурация действительно проста. Я обычно настраиваю его для мониторинга всего / etc /.

Кристофер Кашелл
источник
1
так почему бы вам не загрузить rpm в проект changetrack :)
gbjbaanb
1
Я действительно планировал сделать именно это. Тем не менее, я закончил тем, что оставил свою последнюю работу, прежде чем я смог загрузить ее, и у меня больше нет доступа к ней. Я буду пинговать некоторых из моих бывших коллег, хотя, посмотрим, смогут ли они это сделать.
Кристофер Кашелл
4

Для отслеживания изменений пакетов (установок, обновлений и т. Д.) В системах на основе RPM, при условии, что все изменения выполняются с yumили yumexкаждое изменение пакета регистрируется /var/log/yum.log.

Другие люди уже ответили на отслеживание изменений в /etc. Не забывайте, что вы также хотите отслеживать изменения конфигурации, bindкоторые частично присутствуют /var(по крайней мере, во многих дистрибутивах Linux), а веб-страницы находятся /var/wwwво многих дистрибутивах Linux. Внешние каталоги будут /etcсодержать важную информацию о конфигурации.

В зависимости от того, как все управляется, вы также можете отслеживать /usr/local/etcи другие деревья каталогов ( /optнекоторые деревья в разделе /varи все остальное, что характерно для ваших клиентов).

Эдди
источник
3

В качестве отправной точки вы, возможно, захотите взглянуть на Blueprint , который анализирует конфигурацию системы. Хотя он предназначен для создания конфигураций для Puppet или Chef, нет причин, по которым вы не могли бы использовать его только для отчетов.

geekosaur
источник
2

Простым скриптом для мониторинга файлов является filemon. Я использую его на своем домашнем ПК, и в сочетании с crontab он делает простую и легкую работу. Для более сложного решения проверки целостности (изменения файлов, новые пакеты установлены и многие другие) я использую OSSEC на нескольких серверах.

Дэн
источник
2

Вы можете поместить / etc под dvcs, такие как git. Вы выполняете коммит каждый раз, когда вносите изменения, а затем вы можете просто использовать git diff всякий раз, когда начинаете работу, и вам будут показаны все изменения.

baudtack
источник
1
Хорошая идея, это именно то, что делает etckeeper. Он поддерживает git, mercurial или bazaar. Он подключается к вашей системе управления пакетами, чтобы отслеживать изменения, связанные с добавлением / обновлением пакетов.
Зоредаче
Вот пост о настройке чего-то подобного в Arch Linux ARM, который должен применяться здесь одинаково хорошо. zduck.com/2012/storing-your-raspberry-pi-config-in-git
silent__thought
0

LBackup поддерживает регистрацию удаления, модификации и добавления файлов.


источник