如何安全地验证软件包安装的文件是否与原始文件匹配(Debian)?

如何安全地验证软件包安装的文件是否与原始文件匹配(Debian)?

从问题来看如何验证软件包安装的文件与原始文件是否匹配?据我所知,您可以对包运行以下命令:

dpkg -V <package>

然而,我进行这次审计的原因是,我怀疑系统可能受到损害。

如果攻击者成功地破坏了 <package>,他也可能成功地破坏了包装袋审计命令本身。因此,我不能相信自我参照审计:

dpkg -V dpkg

因此,我想对公司进行自查包装袋来自另一个系统的命令。

所以,我将这台计算机的磁盘挂载为文件夹/mnt/审计在我的第二台电脑上,我仍然信任它。现在,我想审核安装足迹包装袋/mnt/审计从第二台计算机。在我的第二台计算机上执行什么命令?是否有一个选项允许我执行类似于以下操作的操作:

dpkg -V dpkg --remote-target /mnt/audit

一旦我相信了自我审核包装袋,我也应该能够信任它的 <package> 输出。

答案1

一般来说,如果您怀疑您的系统已受到损害,您应该重新安装它。看具有奇怪随机名称的进程消耗大量网络和 CPU 资源。有人在黑我吗?一些有用的指示。

dpkg -V对于检测意外损坏很有用。它依赖于本地元数据(.md5sum中的文件/var/lib/dpkg/info),因此在受损的系统上,无法保证此元数据仍然准确。如果你想从外部验证你的系统,你可以下载所有相应的软件包,并检查你正在检查的系统与软件包的总和,甚至重新安装所有软件包;但这仍然会让您暴露在外——特别是,包元数据不涵盖引导加载程序和 initramfs。

为了解决您的实际问题,dpkg可以针对用户指定的目录运行;例如,要/mnt/audit在假设其内容大部分可信的情况下进行检查,请运行

dpkg --root=/mnt/audit -V dpkg

管理目录和安装目录是可以区分的,因此如果您的审核系统与被审核系统具有相同的软件包版本,您可以运行

dpkg --instdir=/mnt/audit -V dpkg

使用审核系统的元数据来验证审核系统dpkg

相关内容