← LeisureLinux 文章索引
LeisureLinux · 微信公众号文章

分发镜像被篡改?给你的 Linux 注入“UKI+MOK”绝对物理基因锁

安全/漏洞 阅读原文(微信)↗

【引言:信任的坍塌】

在 IT 交付中,最让人寝食难安的不是 Bug,而是**"中间人篡改"**。如果你分发的 ISO 镜像在传输或部署中被植入后门,所有的安全协议都将形同虚设。如何确保你交付的 Linux,就是你签名时的那个 Linux?

今天,LeisureLinux 带你构建一套基于 UKI (Unified Kernel Image)MOK (Machine Owner Key) 的终极防御链路。

一、 UKI:将系统内核"原子化"

传统的 Linux 引导链路是松散的:内核、Initrd、配置文件各散东西。UKI 的本质是将它们通过 systemd-ukify 强行合并为一个符合 UEFI 规范的 .efi 执行文件。

  • 物理意义:内核参数(包含 dm-verity Root Hash)被硬编码进二进制文件。

  • 不可篡改性:只要文件被修改 1 bit,整个数字签名立即失效,主板固件将拒绝引导。

二、 MOK:收回"信任的根源"

不要依赖微软的通用证书,那不叫主权。通过 MOK (Machine Owner Key),你在客户的机器上植入的是你自己的信任根

  • 私钥(Private Key):掌握在你手中,用于签署 UKI。

  • 证书(DER):分发给客户,用于在硬件层授权你的身份。

三、 交付流程:三步构建绝对闭环

Step 1: 铸造"金丹"(构建 UKI)

我们将内核参数与指纹锁死:

[Bash]{ngcontent-ng-c1474045893=""}

/usr/lib/systemd/ukify build \
    --linux=/boot/vmlinuz \
    --initrd=/boot/initrd.img \
    --cmdline="ro_root_hash=YOUR_STATIC_HASH quiet" \
    --output=leisure-linux.efi

Step 2: 加盖"法印"(数字签名)

使用你的 MOK 私钥为 .efi 文件背书:

[Bash]{ngcontent-ng-c1474045893=""}

sbsign --key custom.key --cert custom.der --output signed.efi leisure-linux.efi
```text

#### **Step 3: 客户授权MOK Enroll** {#step-3-客户授权mok-enroll path-to-node="26"}

客户在首次部署时导入你的证书

[Bash]{ngcontent-ng-c1474045893=""}

sudo mokutil --import custom.der ```

重启后,在蓝色的 MOK Manager 界面完成确认。自此,这台机器只认你的"印章"。

【IT 禅悟】

安全不是玄学,是概率的归零。 通过 UKI+MOK,我们将原本无形的信任链,固化成了数学上的单向函数对撞。你交付出的不仅仅是一段代码,而是一个自洽的、封闭的、不可被外部意志改变的逻辑宇宙

在这种架构下,假冒与篡改在硬件层就会灰飞烟灭。

结语

"掌握了私钥,你就是这台机器唯一的真理。"

有跑通过以上流程的大佬,留言区来普及一下吧。

本文整理自微信公众号 LeisureLinux 的原创内容(Linux / AI / 安全 硬核技术)。

· 阅读原文(微信公众号)

· 关注公众号 LeisureLinux,第一时间获取技术深度内容。

LeisureLinux 公众号二维码(微信扫一扫关注)