什么样的 Linux 可以像 debsums(Debian) 一样验证它的所有文件/包,但更多?

per*_*ity 2 security package-management

# debsums -a, --all  check configuration files (normally excluded)
Run Code Online (Sandbox Code Playgroud)

但是,不仅在 tmp-dir 中,到处都有大量的临时辅助文件。

python的大约4000个二进制.pyc文件,默认不能禁用:

# cat /etc/python/debian_config  
# standard, optimize 
byte-compile = standard
Run Code Online (Sandbox Code Playgroud)

等等...

是否有任何 Linux 发行版,它们具有在线存储库,能够安全地验证安装在我机器上的每个文件?

我说的是包管理器,如基于主机的入侵检测系统,具有能够防止/检测任何感染的现代密码学。

War*_*ung 6

基于 RPM 的系统有rpm -q --verify,它做类似的事情。

但是,我认为这些功能中的任何一个都不是 IDS 的合适替代品。关键问题是校验和在有问题的机器上,所以如果它已经被泄露,你就不能相信本地校验和。

也许您可以从 Internet 存储库中获取新的校验和,但我仍然认为您使用包校验和的方式是错误的。

更好的选择是使用专用的文件完整性检查器,如AIDETripwire。这些工具让您在系统进入已知良好状态后计算校验和,然后将它们存储在可移动只读介质(例如 CD-R)上以供以后比较。

包校验和方法的另一个问题是不能期望检查/etc文件之类的东西,因为已知它们会故意从库存内容中更改。使用 AIDE 之类的工具,您可以在对这些文件的库存版本进行更改计算校验和,因此您可以自信地判断是否需要进行更改。

这并不是说包校验和验证没有用。只是它不是为了检测恶意修改。它用于检测意外变化,因此可以修复它们。例如,有人可能执行了一个笨手笨脚的chmod -R命令,然后Ctrl-C在意识到错误后在它运行很长时间之前点击,因此您验证包以找出哪些包的文件权限被修改。