os-prober 是否存在安全风险?

Mur*_*ray 5 security grub debian

我正在进行安全审计,并在我的 Debian 系统上遇到了这个实用程序。(Debian 3.16.36-1+deb8u1)

我觉得像这样的软件不应该安装在安全的服务器上。我不知道它在找到任何已安装的操作系统时会做什么。我应该禁用 os-prober,我该怎么做?或者我应该禁用 grub,我该怎么做?

Rui*_*iro 5

os-prober有没有检测其他操作系统。如果您不需要该功能,则可以禁用它;在测试中遇到一些问题后,我在所有 Debian VM 中都这样做了。

您添加到/etc/default/grub该行:

GRUB_DISABLE_OS_PROBER=true
Run Code Online (Sandbox Code Playgroud)

然后,命令dpkg-reconfigurelinux-image-xxxxxupdate-grub不再使用os-prober.

另一种选择是卸载os-prober.

dpkg --purge os-prober
Run Code Online (Sandbox Code Playgroud)

正如Stephen Kitt指出的那样,“仅推荐(由grub-common 提供)包本身,因此包管理器将允许您删除它。”

或者只是为了安全起见,因为不再使用它,请同时执行这两个操作。

从这个链接

os-prober 是 debian-installer 的衍生产品。安装程序的功能之一是它可以为其他操作系统探测系统上的磁盘,并将它们添加到引导加载程序,这样安装 Debian 不会使您安装的其他操作系统难以启动。

请参阅Debian:升级内核(到 4.9)的新错误消息 - 重新加载 ioctl 错误

总结一下:在linux服务器上禁用os-prober是个好主意;此外,它也有利于 Unix 的(安全)哲学,即保持简单并安装较少的服务/软件。

虽然理论上你也可以在没有 grub 的情况下设法去,但我不会用它提供的标准方式、便利性、启动和调试功能的灵活性来换取其他场景。见LILO /ELILO;和u-boot-tools作为替代方案,至少在某些架构中是这样。

至于 grub 安全性,我会更担心添加密码。

  • GRUB2 是强加于 Linux 社区的可憎之物。它没有什么简单的 - 只需查看它安装的 shell 脚本、执行程序和配置文件的数量。存在一个主要的架构缺陷 - 如果您有多个 Linux 安装,每个 Linux 安装都会保留自己的 GRUB 配置状态概念。 (2认同)

fpm*_*phy -2

os-prober用于GRUB配置 GRUB 启动选项,例如菜单节。

EFI STUB如果您使用、coreboot或其他一些非 GRUB 机制(有很多!) 引导系统,您当然可以禁用/删除 GRUB 和 os-prober。

如果您使用 GRUB(这是默认引导机制)引导系统,请勿禁用/删除与 GRUB 相关的任何内容,包括 os-prober,否则您最终可能无法引导到多操作系统平台上的其他操作系统。

  • 删除“os-prober”不会导致系统无法启动;最坏的情况是,它会导致其他操作系统不再列在 Grub 启动菜单中。 (5认同)
  • @斯蒂芬基特。GRUB 旨在成为一个多重引导加载程序。当许多用户无法启动他们希望启动的已安装操作系统之一时,他们会认为系统无法启动。 (2认同)