RPM 是否可以在不确认的情况下控制主文件夹中的文件?

RPM 是否可以在不确认的情况下控制主文件夹中的文件?

RPM 扩展文件可以通过双击来运行,无论包内有什么,然后它会要求输入 root 密码才能将某些东西安装到您的系统上,但如果我不提供它,会对我的文件造成任何损害在主文件夹中?

我确定我从正确的 URL 下载了 RPM,但我担心中间人攻击,10MB 文件与官方网站描述的 100MB 大小相差甚远,所以也许下载会话因互联网连接失败而停止,或者可能是恶意软件的大小?

答案1

原则上,任何通过双击运行的程序损害您的主文件夹中的文件(假设您在那里有写权限,这是正常情况)。

通过单击 RPM 调用的程序不太可能是恶意软件,因为它是随发行版安装一起提供的,但 RPM 中的脚本和可执行文件可能包含恶意软件,并且它们确实可以访问您的主目录(或更准确地说,可以访问任何目录)。文件(单击 RPM 所用的用户帐户将打开)。

你的问题如果将要无法回答是否会造成任何伤害,因为这取决于包括包装内容在内的多种因素。但也有可能,因此您应该使用来自可信来源的 RPM。

(如果 RPM 包含恶意软件,那么提供 root 密码将使其造成更大的损害)。

答案2

如果您怀疑任何 RPM 相关文件,您应该始终先下载它们并在安装之前检查它们。

例子

$ rpm -qpl /home/saml/rtmpdump-2.4-0.1.20110811gitc58cfb3e.fc14.x86_64.rpm
/usr/bin/rtmpdump
/usr/sbin/rtmpgw
/usr/sbin/rtmpsrv
/usr/sbin/rtmpsuck
/usr/share/doc/rtmpdump-2.4
/usr/share/doc/rtmpdump-2.4/COPYING
/usr/share/doc/rtmpdump-2.4/README
/usr/share/man/man1/rtmpdump.1.gz
/usr/share/man/man8/rtmpgw.8.gz

可以将这些文件提取到临时目录以供进一步检查:

$ rpm2cpio /home/saml/rtmpdump-2.4-0.1.20110811gitc58cfb3e.fc14.x86_64.rpm | \
  cpio -idmv
./usr/bin/rtmpdump
./usr/sbin/rtmpgw
./usr/sbin/rtmpsrv
./usr/sbin/rtmpsuck
./usr/share/doc/rtmpdump-2.4
./usr/share/doc/rtmpdump-2.4/COPYING
./usr/share/doc/rtmpdump-2.4/README
./usr/share/man/man1/rtmpdump.1.gz
./usr/share/man/man8/rtmpgw.8.gz
296 blocks

然后我们可以进一步检查内容。

检查签名

您可以确认 RPM 是使用您已有的 GPG 密钥进行签名的。如果是这样,那么 RPM 可能完全正常并且可以信任。

$ rpm -K /home/saml/rtmpdump-2.4-0.1.20110811gitc58cfb3e.fc14.x86_64.rpm
/home/saml/rtmpdump-2.4-0.1.20110811gitc58cfb3e.fc14.x86_64.rpm: sha1 md5 OK

请注意,它最后显示“sha1 md5 OK”。这意味着 RPM 已使用签名进行签名,并且检查结果正常。

如果失败,可能有多种原因,例如:

  1. 未签名
  2. 签名损坏
  3. 你缺少它的签名密钥
例如:
$ rpm -K rpm-2.3-1.i386-bogus.rpm
rpm-2.3-1.i386-bogus.rpm: size PGP MD5 NOT OK

以这种方式使用 RPM 的详细信息将在 Maxium RPM 教程中进一步讨论,标题为:最大 RPM:将红帽软件包管理器发挥到极限

使用 RPM 验证您的系统

要进一步阅读如何使用 RPM 检查文件是否已被篡改,请查看 SANS 上这篇文章,标题为:入侵检测常见问题解答:使用红帽 RPM 验证文件

参考

答案3

简而言之 - 如果你当 RPM 安装软件要求时提供密码 - RPM 文件的内容不会被解析并且不能以任何方式损害您的系统。

如果您确实提供了密码(并且您是管理员或提供了 root 密码),则 RPM 可用于在您的系统上安装恶意软件,以管理员权限运行它并访问您系统上的任何文件。

请务必确保从软件制造商处下载软件并验证 RPM 签名。幸运的是,Linux 操作系统中的内置软件管理器会自动为您完成此操作,因此在您从糟糕的互联网上下载文件之前,请先尝试查看软件管理器是否有您需要的内容。

相关内容