长期支持版本

    社区创新版本

      安全启动

      概述

      安全启动(Secure Boot)就是利用公私钥对启动部件进行签名和验证。在启动过程中,前一个部件验证后一个部件的数字签名,如果能验证通过,则运行后一个部件;如果验证不通过,则暂停启动。通过安全启动可以保证系统启动过程中各个部件的完整性,防止没有经过认证的部件被加载运行,从而防止对系统及用户数据产生安全威胁。

      安全启动涉及的验证组件: BIOS->shim->grub->vmlinuz(依次验签通过并加载),其中vmlinuz是内核镜像。

      相关的EFI启动组件采用signcode方式进行签名。公钥证书由BIOS集成到签名数据库DB中,启动过程中BIOS对shim进行验证,shim和grub组件从BIOS的签名数据库DB中获取公钥证书并对下一级组件进行验证。

      背景和解决方案

      前期openEuler版本中,安全启动相关组件没有签名,无法直接使用安全启动功能保障系统组件的完整性。

      从22.03-LTS-SP3版本开始,openEuler使用社区签名平台对OS侧的相关组件进行签名,包括grub和vmlinuz组件,并将社区签名根证书内嵌于shim组件中。

      从24.03-LTS版本开始,openEuler提供了CFCA签名的安全启动组件。

      使能安全启动

      前置条件

      • 已安装openEuler-22.03-LTS-SP3及以上版本(若使用CFCA安全启动,则需安装openEuler-24.03-LTS及以上版本)
      • 配置openEuler-everything源
      • 系统配置为uefi启动方式

      使用步骤

      步骤1: 获取安全启动证书

      如采用openEuler证书,则在如下网址获取:https://www.openeuler.org/zh/security/security-bulletins/,进入“证书中心”目录下载。网页上根证书识别名称为“openEuler Shim Default CA”,default-x509ca.cert。

      如采用CFCA官网获取根证书,则在如下网址获取:https://www.cfca.com.cn/(当前证书暂未发布,如需使用,可联系openEuler安全委员会openeuler-security@openeuler.org)

      步骤2: 将获取的证书放置到/boot/efi/EFI目录:

      mv <证书文件> /boot/efi/EFI/
      

      步骤3: 安装shim-signed子包(若不使用CFCA签名的安全启动组件则跳过):

      yum install -y shim-signed
      

      步骤4: 如使用openEuler签名的shim文件,则跳过该步骤;如使用CFCA的shim文件,则需要安装如下步骤备份以及替换:

      mv /boot/efi/EFI/openEuler/shimx64.efi /boot/efi/EFI/openEuler/shimx64_bck.efi
      mv /boot/efi/EFI/BOOT/BOOTX64.EFI /boot/efi/EFI/BOOT/BOOTX64_bck.EFI
      cp /boot/efi/EFI/BOOT/BOOTX64_CFCA.EFI /boot/efi/EFI/BOOT/BOOTX64.EFI
      cp /boot/efi/EFI/BOOT/BOOTX64_CFCA.EFI /boot/efi/EFI/openEuler/shimx64.efi
      

      步骤5: 将根证书导入BIOS的db证书库中,并在BIOS中开启安全启动开关,可实现安全启动功能。BIOS证书导入方法及安全启动开启方法可参考具体BIOS厂商提供的资料。

      步骤6: 重启后,查看系统安全启动状态

      mokutil --sb
      
      • SecureBoot disabled:安全启动关闭

      • SecureBoot enabled:安全启动开启

      • not supported:系统不支持安全启动

      约束限制

      • 软件限制:OS系统需要采用UEFI启动
      • 架构限制:ARM/X86
      • 硬件约束:需要BIOS支持安全启动相关校验功能

      文档捉虫

      “有虫”文档片段

      问题描述

      提交类型 issue

      有点复杂...

      找人问问吧。

      PR

      小问题,全程线上修改...

      一键搞定!

      问题类型
      规范和低错类

      ● 错别字或拼写错误;标点符号使用错误;

      ● 链接错误、空单元格、格式错误;

      ● 英文中包含中文字符;

      ● 界面和描述不一致,但不影响操作;

      ● 表述不通顺,但不影响理解;

      ● 版本号不匹配:如软件包名称、界面版本号;

      易用性

      ● 关键步骤错误或缺失,无法指导用户完成任务;

      ● 缺少必要的前提条件、注意事项等;

      ● 图形、表格、文字等晦涩难懂;

      ● 逻辑不清晰,该分类、分项、分步骤的没有给出;

      正确性

      ● 技术原理、功能、规格等描述和软件不一致,存在错误;

      ● 原理图、架构图等存在错误;

      ● 命令、命令参数等错误;

      ● 代码片段错误;

      ● 命令无法完成对应功能;

      ● 界面错误,无法指导操作;

      风险提示

      ● 对重要数据或系统存在风险的操作,缺少安全提示;

      内容合规

      ● 违反法律法规,涉及政治、领土主权等敏感词;

      ● 内容侵权;

      您对文档的总体满意度

      非常不满意
      非常满意
      提交
      根据您的反馈,会自动生成issue模板。您只需点击按钮,创建issue即可。
      文档捉虫
      编组 3备份