OnWorks Linux 和 Windows 在线工作站

商标

工作站免费在线托管

<上一页 | 内容 | 下一页>

审计包 dpkg --验证


dpkg --verify(或 dpkg -V)是一个有趣的工具,因为它显示已被修改(可能被攻击者修改)的系统文件,但是这个输出应该谨慎对待。 到

完成它的工作,dpkg 依赖于存储在它自己的数据库中的校验和,该数据库存储在硬盘上(在 /var/lib/dpkg/info/.md5sums)。 因此,彻底的攻击者会修改这些文件,使其包含被破坏文件的新校验和,或者高级攻击者会破坏 Debian 镜像上的软件包。 为了防止此类攻击,请使用 APT 的数字签名验证系统(请参阅部分 8.3.6, “验证包 真实性” [第 202 页])以正确验证软件包。


什么是文件 提醒一下:指纹是一个值,通常是一个数字(尽管在十六进制中没有- 指纹? tation),它包含一种文件内容的签名。 这个签名是用一种算法(MD5 或 SHA1 是众所周知的例子)计算的,更多的是

或更少保证即使文件内容中最微小的变化也会导致指纹的变化; 这被称为“雪崩效应”。 然后,一个简单的数字指纹可以作为检验文件内容是否已被更改的试金石。 这些算法是不可逆的; 换句话说,对于他们中的大多数人来说,知道指纹并不能找到相应的内容。 最近的数学进步似乎削弱了这些原则的绝对性,但到目前为止它们的使用并没有受到质疑,因为创建产生相同指纹的不同内容似乎仍然是一项艰巨的任务。

什么是文件 提醒一下:指纹是一个值,通常是一个数字(尽管在十六进制中没有- 指纹? tation),它包含一种文件内容的签名。 这个签名是用一种算法(MD5 或 SHA1 是众所周知的例子)计算的,更多的是

或更少保证即使文件内容中最微小的变化也会导致指纹的变化; 这被称为“雪崩效应”。 然后,一个简单的数字指纹可以作为检验文件内容是否已被更改的试金石。 这些算法是不可逆的; 换句话说,对于他们中的大多数人来说,知道指纹并不能找到相应的内容。 最近的数学进步似乎削弱了这些原则的绝对性,但到目前为止它们的使用并没有受到质疑,因为创建产生相同指纹的不同内容似乎仍然是一项艰巨的任务。


运行 dpkg-V 将验证所有已安装的软件包,并将为每个验证失败的文件打印一行。 每个字符表示对某些特定元数据的测试。 很遗憾, 的dpkg 不存储大多数测试所需的元数据,因此会为它们输出问号。 目前只有校验和测试可以在第三个字符上产生 5(当它失败时)。


# dpkg-V

??5???? /lib/systemd/system/ssh.service

??5???? c /etc/libvirt/qemu/networks/default.xml

??5???? c /etc/lvm/lvm.conf

??5???? c /etc/salt/roster

# dpkg-V

??5???? /lib/systemd/system/ssh.service

??5???? c /etc/libvirt/qemu/networks/default.xml

??5???? c /etc/lvm/lvm.conf

??5???? c /etc/salt/roster


在上面的例子中,dpkg 报告了管理员对打包文件所做的对 SSH 服务文件的更改,而不是使用适当的 /etc/systemd/system/ssh.service 覆盖(将存储在下面 /等 就像任何配置更改一样)。 它还列出了多个经过合法修改的配置文件(由第二个字段中的“c”字母标识)。


OnWorks 的顶级操作系统云计算: