Debian 机器上的审计文件

Debian 机器上的审计文件

是否可以列出系统上不属于软件包的每个文件?或者它们是否已被修改?

可能需要使用类似:apt-get、apt-files、dpkg-query 等

就上下文而言,想象一下继承一个无法格式化的旧服务器,并且您想要检查每个文件是否正常...我知道在 Debian 版本之间升级时或在没有“--purge”的情况下删除软件包后不会出现这种情况,因为它似乎留下了大量(通常是配置)文件。

同样,如果要用新服务器替换该服务器,您需要确保所有配置差异(与基本安装相比)都已转移(如果不再相关则忽略 - 例如,在 sshd_config 中添加了一条红色“端口”行)。

它还可以帮助识别是否在不使用 apt-get 的情况下安装了任何东西。

答案1

一切安装的文件可以通过查看列表来查看软件包cat /var/lib/dpkg/info/*.list。大多数软件包都包含文件内容的 md5sum,可以通过查看来查看cat /var/lib/dpkg/info/*.md5sums。但有些软件包不包含这些总和。

如果您安装了软件包 debsums,您可以像debsums -a这样运行该程序,它将检查所有已安装文件和配置的 md5sum。

请注意,有些软件包不会安装配置文件或内容。相反,这些文件是由这些软件包在安装时创建的。这些文件不会出现在与软件包关联的文件列表或 md5sums 列表中。就软件包系统而言,这些是它不拥有的数据文件。

同样,如果要用新服务器替换该服务器,您需要确保所有配置差异(与基本安装相比)都已转移(如果不再相关则忽略 - 例如,在 sshd_config 中添加了一条红色“端口”行)。

我认为你应该安装etckeeper安装系统后,首先要安装软件包。此软件包基本上会放入/etc您选择的版本控制系统(我更喜欢 git)。有了这个,您可以准确地看到何时发生了哪些变化。很容易将此存储库克隆到新系统,然后针对新系统进行差异分析。因此,您只需一个命令就可以准确地看到源系统和目标系统之间的差异。

答案2

cruft / etckeeper / debsums

Package: cruft
Description-en: program that finds any cruft built up on your system
 cruft is a program to look over your system for anything that shouldn't
 be there, but is; or for anything that should be there, but isn't..
 It bases most of its results on dpkg's database, as well as a list of
 `extra files' that can appear during the lifetime of various packages.
 cruft is still in pre-release; your assistance in improving its accuracy
 and performance is appreciated.

Package: debsums
Description-en: tool for verification of installed package files against MD5 checksums
 debsums can verify the integrity of installed package files against
 MD5 checksums installed by the package, or generated from a .deb
 archive.

Package: etckeeper
Description-en: store /etc in git, mercurial, bzr or darcs
 The etckeeper program is a tool to let /etc be stored in a git, mercurial,
 bzr or darcs repository. It hooks into APT to automatically commit changes
 made to /etc during package upgrades. It tracks file metadata that version
 control systems do not normally support, but that is important for /etc, such
 as the permissions of /etc/shadow. It's quite modular and configurable, while
 also being simple to use if you understand the basics of working with version
 control.

答案3

两个都老虎亨特将报告不属于任何已安装包的文件等等。

你可能还想看看德布苏姆斯检查文件自通过包管理器安装以来是否被修改。

这些程序有非常好的手册页,因此在使用之前阅读它们,你应该会没问题。

答案4

要查看 debian 软件包中是否有任何非配置文件自该软件包以来被修改过,您可以使用 debsums。

查看第三方软件包是否已安装比较棘手,您可以将版本号和校验和与来自 packages.debian.org 的信息进行比较,但我不确定自动执行这一操作有多困难。

检查配置文件的修改很困难,因为配置文件可以通过多种不同的方式管理。如果它们是“conffiles”,那么 dpkg 会知道它们是否被修改,但许多配置文件却没有。

如果服务器保持最新状态,那么与安装相同软件包的相同版本的 Debian 进行交叉比较可能是一个不错的选择。显然,如果您不想更新服务器,这种方法效果不佳(我想您可以制作服务器映像并对其进行更新,但这会引发一系列问题)。

相关内容