AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 761866
Accepted
LaserBeam
LaserBeam
Asked: 2023-11-20 08:07:26 +0800 CST2023-11-20 08:07:26 +0800 CST 2023-11-20 08:07:26 +0800 CST

加密启动分区:加密启动分区的优点

  • 772

我想了解有关 Linux 启动过程以及启动分区加密如何工作的更多信息。我有几个问题。

  • 我知道UEFI系统必须有ESP分区,可以挂载在/boot/efi或/efi. ESP 分区包含引导加载程序和内核。在我的 Endeavor OS 系统上,我也有/boot,它只包含英特尔微代码。我的理解是,系统首先加载引导加载程序(在我的例子中是 systemd-boot),然后加载所选的内核。/boot那么,根据我当前的配置以及一般在 UEFI 系统中的情况,如果单独存在的话,其目的是什么/efi?

  • 然后,我想加密我的系统,并且我正在阅读 Arch Wiki 指南“加密启动分区 (GRUB)”。在这种情况下,未加密的是 GRUB 和 ESP。对于UEFI系统来说,这种方式有什么好处呢?现在加密的内容在“正常”配置中是这样的?ESP 里面还有什么?

  • 我也在尝试了解什么是 EFISTUB 以及它是如何工作的。据我了解,不使用引导加载程序,统一的内核映像放在 ESP 内。这种情况下/boot还有必要吗?

grub
  • 1 1 个回答
  • 65 Views

1 个回答

  • Voted
  1. Best Answer
    telcoM
    2023-11-28T21:20:37+08:002023-11-28T21:20:37+08:00

    当您拥有 UEFI 系统时,其固件将期望至少找到您想要在 ESP 中启动的任何内容的第一部分。第一部分可能是 GRUB 的 UEFI 版本、其他一些引导加载程序(例如systemd-boot)或带有 EFISTUB 的统一内核映像。

    (如果您使用安全启动,并且固件不允许您更改内置安全启动密钥,则您必须shimx64.efi首先使用安全启动垫片 ( ),然后才能使用其他任何内容。如果您可以将固件配置为使用您自己的安全启动密钥,并使用您自己的密钥自行签署引导加载程序和内核,您不需要垫片。)

    除非你有一些非常特殊的 UEFI 固件,否则 ESP 永远不会被加密,否则固件无法理解它。但对于安全启动,ESP 中的任何可执行代码都必须经过签名,因此对 ESP 的任何重大篡改都将阻止系统启动(假设实现正确)。

    内核需要位于何处取决于您用作引导加载程序的内容。如果您使用 GRUB,内核可以位于 GRUB 可以理解的任何文件系统上(LVM 或经典分区;加密与否)。有了systemd-boot,我知道内核需要位于 ESP 上;对于 EFISTUB,固件被告知直接读取适当准备的内核文件,因此它显然需要位于 ESP 上。

    GRUB 可以执行某些形式的磁盘加密,但它可能尚不支持最新的磁盘加密算法。此外,如果您想使用智能卡或 Yubikey 之类的安全设备作为磁盘加密密钥,那么您可能需要一个 initramfs 文件,该文件将包含访问该安全设备所需的基础结构并向系统提供任何必要的提示。用户。通常,initramfs 文件位于内核所在的同一位置。

    /boot如果您将内核(以及 initramfs,如果需要)放置到 ESP,您可能根本不需要单独的(或者您的 ESP 可以安装在 处/boot,如 @muru 所评论的)。如果您使用 GRUB,情况也是如此,它可以直接从根文件系统读取内核(如果需要,还可以读取 initramfs),即如果需要加密并且对 GRUB 提供的加密选项感到满意。

    但“以一定便利为代价的绝对最大安全性”选项可能是这样的:

    • ESP 仅包含安全启动垫片(如果需要)和 GRUB,两者均受安全启动签名保护
    • GRUB 将提示输入密码来解锁加密的/boot,并从那里读取内核和 initramfs (已加密,但可能不是最好的加密)
    • initramfs 包含请求智能卡/Yubikey/等的基础设施。其中将包含用于解锁任何其他文件系统的密钥。这些现在可以使用硬件安全设备和/或内核支持的最新和最好的加密算法。如果系统包含 TPM 芯片,您甚至可以使用其 PCR 寄存器来验证固件或启动过程的任何先前组件没有被篡改。
    • 0

相关问题

  • 无法在 Arch Linux 中安装 grub

  • 如何安全地重新排序分区?使用 gdisk 'sort' 选项安全吗?编辑 fstab + grub.cfg 有必要吗?

  • “尝试访问分区边界外的块” grub 错误

  • 升级发行版会生成新的和不同的启动映像

  • GRUB - 不是双启动,为什么它仍然默认显示?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve