监控服务器是否存在自动化软件之外的更改

监控服务器是否存在自动化软件之外的更改

我所在的公司目前正在研究为我们的服务器(所有 Ubuntu/FreeBSD)部署集中式自动化系统(如 Salt 或 Puppet)。我们可能会采用 Salt,但我认为这与我的问题无关。

我的问题是:有没有一种好的方法可以监控机器中未包含在自动化系统中的本地变化?

例如:为了快速修复,有人在给定的机器上启动了一项服务或修改了配置文件。有没有办法使用 Salt/Puppet/whatever 检查这些事情?或者我需要使用 AIDE 等外部程序来实现这一点?

答案1

你可以使用绊线监控服务器上所有相关文件的变更。缺点是每次自动配置变更后,您都必须重置行程。

答案2

您可以使用 find(1) 和 md5(1) 编写一个脚本,获取所有相关文件的 MD5sum,并将其与异地存储的 MD5sum 进行比较。

答案3

与 Tripwire 的建议类似,我一直在实施助手在新系统上。此功能在您环境中的两个平台上均可用。

答案4

我非常喜欢盐的一点是状态测试:

# salt \* state.highstate test=True

为您提供一份漂亮的彩色报告,告诉您哪些内容符合您定义的状态,而无需实际应用更改。它为您提供了您想要的内容,因为它向您展示了系统状态与自动化系统希望的状态之间的偏差。这样做有充分的理由,也许您正在学习 salt 或者拥有一个精致的遗留系统,并且不想全力以赴地使用自动化系统。您向 salt 添加的状态越多越好,但这意味着您可以在学习的同时有机地成长。

http://docs.saltstack.com/ref/states/testing.html

相关内容