我有系统运行时度量,它显示了系统执行了哪些包文件。我想验证由Linux内核的完整性管理体系结构(IMA)计算的校验和与来自ubuntu repos的包文件的正式校验和。
以下计量实例:
10 bae6e0fe76b1eb0864410323fc013c83ca626a66 ima-ng sha256:c1b65dd1aae2d422d1c6a3b9ae4c50f9cbf25108b8051c5be280ebfe32981456 /usr/bin/dircolors
10 71e4941190fb8601a55f5bc8b6ab284d40df3be9 ima-ng sha256:00fba26dcaa2f6832987e9421c9aa42d9f4d47652e4a25fdf1b92f935ac81989 /usr/bin/sudo
10 d8eb38a20ee87ddf87f20218642cc9059f74cefa ima-ng sha256:212eabe6f44f9e8b720b105c9dbcb9fc67fcc7be5250e608b88b33e8ac436d5a /usr/bin/su
10 a80c90a7f139cd62a1cb0f40adc6dae4f11e535b ima-ng sha256:b4642f4f56e37a506f758a0fce4054ed91470e6ac35fe940eaf18da4883d2d95 /usr/bin/groups
10 5fa6842bd391b0ea52448754bf78cad87754df73 ima-ng sha256:5ae83908197820124d467db6ecc821402d667dd4617d8fab3f0e30dc5ef5a074 /usr/bin/git
10 76101b9b21175328d4f2df1b3aa8002492c7a7b3 ima-ng sha256:65481459b05f8898299b7ef354138dc2ab674438d74cc4c8bf5aeef09a0331e8 /usr/bin/nano
10 84e18b01843fda8fd130e0a500607e55e3aeb16a ima-ng sha256:c2a2db43da333527632872c629465e0fb3f5cbf87115836a7fcda428877589a5 /usr/bin/python3.11
10 45737dc3d038bac2a5e40d085accdd545a692fbd ima-ng sha256:afd18e93eaf9dbea58ce345a2add190efc1b000558dba084417904415439e875 /usr/bin/tpm2
10 b3e35da87c02c9841d2f991e816feb055874d190 ima-ng sha256:db905ca30da311c0bcd005b3d475d22e6fa395c3205ff5f17cdd9a02d830e1fb /usr/bin/x86_64-linux-gnu-g++-12
在哪里可以找到Ubnutu包的单个文件的校验和。假设有一个包g++-12,我可以清楚地看到它提供的sha1 & sha256 校验和。但是,是否有任何资源也提供包的所有个别档案的校验和?当然,我可以下载.deb文件并提取内容并手动计算,但是它对我的用例来说并不是非常有效的解决方案。
发布于 2023-05-29 11:46:46
Debian系统(dpkg
和.deb
包)在安装包时在内部生成MD5
和。不幸的是,输出只生成SHA1
和SHA256
和。要使其工作,您必须获得度量,以提供文件的MD5
和。
当您使用apt
/dpkg
安装包时,会为目录/var/lib/dpkg/info
中的包生成一个.md5sums
文件。
这意味着您可以轻松地检查所有文件的MD5
和,就像安装包时一样。这可用于确定在安装包后是否更改了任何文件。
一个来自我自己系统的例子(Ubuntu22.04.2)。如果我运行cat /var/lib/dpkg/info/sudo.md5sums
,就会得到以下信息:
e8e2fd5938804db1abb67773f84f5549 usr/bin/cvtsudoers
8176b78ba666fb64e72a3ae6a4851793 usr/bin/sudo
7cd774a8abe0586bdd75fb90c8bcaec7 usr/bin/sudoreplay
3f90917a245d4aafe98bb39a1fb9fa09 usr/include/sudo_plugin.h
9eb3041fcbb7ba1a64664d7a7a13cc15 usr/lib/tmpfiles.d/sudo.conf
8ccb24178b5cef512ac3fef3ad3b44f1 usr/libexec/sudo/audit_json.so
fc97536f5bf479b310cbffd9c5f030ec usr/libexec/sudo/group_file.so
4410a4f7ce928d5cbc79b5881e26194b usr/libexec/sudo/libsudo_util.so.0.0.0
c087bda8ff9210f79a94176ca817a4c8 usr/libexec/sudo/sample_approval.so
d8d8ca3f48bda0bb8a3e782379230284 usr/libexec/sudo/sesh
091c0ce05a872050dbe145bf156cea90 usr/libexec/sudo/sudo_intercept.so
d42066a08c1877f738c4c55c570f78e7 usr/libexec/sudo/sudo_noexec.so
4e920ee4b000c0bd9a1659a4368d5fdf usr/libexec/sudo/sudoers.so
59df52d5f1b4b01740df4abb34294711 usr/libexec/sudo/system_group.so
2f3db27567e8b72955cdccafb8d4750b usr/sbin/sudo_logsrvd
8f778373024750a98f7412593ac7fa39 usr/sbin/sudo_sendlog
e46edcfbb954c4bd8a599d3d76d53d9a usr/sbin/visudo
... (33 more lines omitted)
如果可以获得运行的度量值以提供文件的MD5
和,则可以对照.md5sums
文件中提供的值检查此值。
如果这是不可能的,那么不幸的是,dpkg
实用程序使用旧的MD5
散列,而内核不能输出这些哈希。在这种情况下,没有比直接从SHA256
文件中自己计算.deb
校验和更好的解决方案了。
https://askubuntu.com/questions/1469821
复制相似问题