如何验证(Linux)服务器上的安装?

如何验证(Linux)服务器上的安装?

问题:

首先要说的是,这是为软件公司开发的,而且是内部的。这些人都不是“用户”,他们都是员工。

  • 我们在服务器上进行测试,包括升级现有安装以证明升级过程有效等。
  • 人们有时会登录这些服务器来测试更改。
  • 他们没有将其恢复到预期的生产状态,这意味着环境现在被认为是“肮脏的”。
    • 检查这一点远不止“这个应用程序是否安装正确”。这更多的是为了确保以下内容(作为一个子集)与生产相匹配:
      • 网络接口和路由
      • 配置文件
      • 部署到服务器的包
      • 服务器上的脚本
      • 虚拟机配置
      • 磁盘使用情况、权限、位置等。
      • 我还没想过的事情
  • 需要花费时间和金钱来查找为什么行动没有按预期进行。
  • 对于那些建议使用 CI/CD 来解决这个问题的人(我是它的忠实粉丝,并且同意它在所有其他用例中的做法),“擦除并重新部署”大约需要 4 个小时。

问题:

  • 有没有一种方法可以轻松验证安装是否“正常”?
  • 请注意,对磁盘进行 md5summing 之类的操作不会有帮助,因为磁盘上有时间相关的文件。
  • 请注意,如果有人对服务器进行胡乱操作,只要他们能恢复原状,我就不会在意。这意味着文件时间戳对此没有帮助。

在我开始编写一个对所有“必要”文件进行无尽哈希检查的脚本之前,我至少会错过其中的一两个,而有人会自然地更改那些文件,而且只更改那些文件(所有愤怒的表情符号),有没有更好的方法可以做到这一点,我可以将其附加到构建或升级脚本中,以便让我知道安装是否可靠?

答案1

要验证安装是否“正确”,您可以尝试 AIDE。https://aide.github.io/

根据我的经验,需要进行大量配置才能识别应忽略的文件/路径,因为这些文件/路径经常会发生变化,而且在正确设置所有设置之前,您会得到很多误报。但这绝对比尝试使用自己的系统完整性检查器要好,因为后者会遇到同样的问题。

相关内容