Linux培训
达内IT学院

400-996-5531

你知道Linux 系统的安全启动吗

  • 发布:Linux培训
  • 来源:Kvaser克萨
  • 时间:2018-04-20 16:22

今天小编给大家带来一篇关于Linux系统安全启动的文章,想要做Linux运维工程师和对Linux系统感兴趣的小伙伴们,来看一看,希望能对你有帮助哦~

什么是安全启动

“安全启动” 是 2012 年出现的 Windows 8 预装电脑里的 UEFI 功能。目前所有的 Ubuntu 64位(非32位)版本支持此功能。简而言之,安全启动工作原理是在固件中启用信任源机制,虽然其它实现方式是可能的,但在实践中通过 x509 证书来实现信任链。根证书( 根证书是由受信任的证书颁发机构 CA 颁发的证书)嵌入在固件中,使得它可以验证签名的引导加载程序,然后,签名的引导加载程序可以验证已签名内核或已签名的第二级引导加载程序等。为了使用安全启动,我们需要使用UEFI启动系统,而不是旧的 BIOS。

有关安全启动的更多信息见 Ubuntu 维基(有关安全启动的更多内容见 Ubuntu 维基#/SecurityTeam/SecureBoot/)。

BIOS与UEFI有什么区别?

两者都可初始化计算机,任务是加载操作系统。BIOS 通过读取硬盘上的第一个扇区(主引导记录 MBR)并执行它来启动,相比之下,UEFI 通过从硬盘上的分区(称为 EFI 系统分区 ESP)加载EFI程序文件(使用 .efi 文件扩展名)来启动。(有关 BIOS 和 UEFI 之比较见超级用户文章:

#/questions/496026/what-is-the-difference-in-boot-with-bios-and-boot-with-uefi)

如何判断Linux系统是使用UEFI还是BIOS启动的?

最简单的方法是检查文件夹 /sys/firmware/efi 是否存在。

secureBoot:~$ ls /sys/firmware/efi/

config_table fw_platform_size runtime systab

efivars fw_vendor runtime-map vars

如果 Linux 计算机使用传统 BIOS 启动,则不会出现 /sys/firmware/efi 文件夹。

legacy:~$ ls /sys/firmware/efi

ls: cannot access /sys/firmware/efi: No such file or directory

如何判断Linux系统是否使用安全启动?

mokutil 命令用于管理机主密钥(MOK),这些密钥由 shim 层用于验证 grub2和内核映像,也可用于验证安全启动是否启用。

secureBoot:~$ mokutil --sb-state

SecureBoot enabled

或者也可以使用 mokutil 命令来查看当前所有已注册的密钥。

secureBoot:~$ mokutil --list-enrolled

Linux 系统安全启动

未签名模块的特征是什么?

如果在启用了安全启动的计算机上编译并安装了无有效签名的 Kvaser 驱动程序模块,即使连上了 Kvaser 分析仪,在运行 listChannels 示例的时候也不会侦测到任何通道。

secureBoot:~$ ./listChannels

Canlib version 5.20

Found 0 channel(s).

可以使用 lsusb 命令验证 Kvaser 分析仪实际上是由 USB 子系统连接和识别的。

secureBoot:~$ lsusb | grep Kvaser

Bus 003 Device 008: ID 0bfd:0108 Kvaser AB

通过查找系统日志中的错误,并会发现类似错误 “所需密钥不可用”。

apr 19 16:05:38 mypc /usr/sbin/mhydra.sh[22789]: modprobe: ERROR: could not insert ’mhydra’:

Required key not available

apr 19 16:05:38 mypc systemd-udevd[22776]: Process ’/usr/sbin/mhydra.sh start’ failed with exit code 1.

这需要签名模块使其在计算机上工作。在下篇文章中将介绍如何构建和签署 Kvaser 驱动程序模块,以便能够在启用了安全启动的 Linux 计算机上使用它们。

以上就是小编今天与大家分享的Linux系统安全启动的相关知识,希望看过本文之后能对你有帮助。想了解更多Linux相关知识,欢迎来达内Linux官网。最后祝愿你能成为一名优秀的Linux运维工程师。

预约申请免费试听课

填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:Linux系统之入门命令的详解(二)
下一篇:为什么说 2018年必须学点Linux了?

什么学历的人才能学云计算?

学习云计算有哪些途径?

云计算学起来难不难?

云计算与虚拟化技术是需要学什么?

Copyright © 2023 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省