Компания, в которой я работаю, в настоящее время изучает возможность развертывания централизованной системы автоматизации (например, Salt или Puppet) для наших серверов (все Ubuntu / FreeBSD). Мы, вероятно, согласимся с Salt, но я думаю, что это не имеет отношения к моему вопросу.
Мой вопрос: есть ли хороший способ отслеживать машины на предмет локальных изменений, не включенных в систему автоматизации?
Например: для быстрого исправления кто-то запустил службу или изменил файл конфигурации на данном компьютере. Есть ли способ проверить такие вещи с помощью Salt / Puppet / чего угодно? Или мне для этого нужно использовать сторонние программы вроде AIDE?
Вы могли бы использовать растяжка для отслеживания изменений всех соответствующих файлов на сервере. Обратной стороной является то, что после каждого автоматического изменения конфигурации вам придется сбрасывать поездки.
Что мне действительно нравится в соли, так это государственное тестирование:
# salt \* state.highstate test=True
Предоставляет вам красивый цветной отчет, в котором рассказывается, что соответствует вашим определенным состояниям, без фактического применения изменений. Это дает вам то, что вы хотите, поскольку показывает, где состояние ваших систем отличается от того, что система автоматизации хочет видеть. Для этого есть веские причины. Возможно, вы изучаете соль или имеете хрупкую устаревшую систему и не хотите выкладываться на полную с системой автоматизации. Чем больше состояний вы добавите в соль, тем лучше, но это означает, что вы можете расти органически по мере обучения.
Aide будет использовать aide.conf, чтобы точно выяснить, какие файлы / каталоги нужно отслеживать и как. Можно было бы написать шаблон Puppet, который мог бы настроить aide.conf так, чтобы он не смотрел директории / файлы, которые создаются (и могут быть проверены) с помощью rpm.
С другой стороны, вы можете просто указать файл, который хотите отслеживать ...
Чтобы повторно инициализировать базу данных Aide при обновлении пакетов, необходимо запускать команду aide --init всякий раз, когда yum запускается через Puppet (тогда вновь созданную базу данных необходимо переместить на место). Aide так долго запускает эту инициализацию, что это неприемлемо (для нас). В твоем случае это может быть нормально.
Используйте приятное, чтобы получить помощника, чтобы не быть ресурсоемким. Www.howtoforge.com предложил хороший коэффициент -19.
В том же духе, что и предложение Tripwire, я реализовал Помощник на новых системах. Это доступно на обеих платформах в вашей среде.
Вы можете написать сценарий с помощью find (1) и md5 (1), который берет суммы MD5 всех соответствующих файлов и сравнивает их с суммами MD5, хранящимися за пределами сайта.
Не уверен, что вы уже нашли решение, но можете использовать Программное обеспечение Metafor для отслеживания изменений всех соответствующих файлов и пакетов.
Это было бы намного проще, чем AIDE, и намного дешевле, чем Tripwire (Metafor находится в бесплатной бета-версии).
В дополнение к мониторингу изменений, не включенных в систему автоматизации, вы можете использовать Metafor для проверки истинного состояния ваших серверов после запуска Salt / Puppet.