53 最佳实践-安全最佳实践-虚拟机可信启动

这篇具有很好参考价值的文章主要介绍了53 最佳实践-安全最佳实践-虚拟机可信启动。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

53 最佳实践-安全最佳实践-虚拟机可信启动

53.1 概述

可信启动包含度量启动和远程证明。其中虚拟化组件主要提供度量启动功能,远程证明由用户自己在虚拟机中安装相关软件(RA client)及搭建远程证明服务器(RA server)进行使能。

度量启动的两个基本要素是信任根和信任链,其基本思想是首先在计算机系统中建立一个信任根,信任根的可信性由物理安全、技术安全和管理安全共同确保,即CRTM(Core Root of Trust for Measurement)。然后建立一条信任链,从信任根开始到BIOS/BootLoader、操作系统、再到应用,一级度量认证一级,一级信任一级,最终把这种信任扩展到整个系统。上述过程看起来如同一根链条一样环环相扣,因此称之为“信任链”。

CRTM是度量启动的根,是系统启动的首个组件,没有其它代码来检查CRTM本身的完整性。所以,作为信任链的起点,必须保证它是绝对可信的信任源。因此,技术上需要将CRTM设计成一段只读或更新严格受限的代码,抵御BIOS攻击,防止远程注入恶意代码或在操作系统上层修改启动代码。通常物理主机中由CPU中的微码作为CRTM,在虚拟化环境中,一般选择vBIOS的sec部分为CRTM。

启动过程中,前一个部件度量(计算HASH值)后一个部件,然后把度量值扩展入可信存储区例如TPM的PCR中。CRTM度量BootLoader把度量值扩展到PCR中,BootLoader度量OS把度量值扩展到PCR中。

53.2 配置vTPM设备,使能度量启动
53.2.1 安装swtpm和libtpms软件

swtpm提供了一个可集成到虚拟化环境中的TPM仿真器(TPM1.2和TPM2.0)。到目前为止,他已经集成到了QEMU中,同时也作为RunC中的原型系统。swtpm是利用libtpms来提供TPM1.2和TPM2.0的模拟功能。 目前openEuler 22.03 LTS 版本中提供了libtpms和swtpm的源,可以直接使用yum命令安装。

# yum install libtpms swtpm swtpm-devel swtpm-tools
53.2.2 虚拟机配置vTPM设备
  1. 虚拟机配置文件中添加如下配置:

    <domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
    	...
        <devices>
            ...
    	    <tpm model='tpm-tis'>
    		    <backend type='emulator' version='2.0'/>
    	    </tpm>
            ...
    	</devices>
        ...
    </domain>
    

    53 最佳实践-安全最佳实践-虚拟机可信启动说明:
    目前,openEuler 20.09 版本 AArch64 架构上的虚拟机可信启动不支持 ACPI 特性,所以虚拟机请勿配置 ACPI 特性,否则启动虚拟机后无法识别 vTPM 设备。AArch64 架构在openEuler 22.03 LTS 之前的版本,tpm model 配置为 。

  2. 创建虚拟机。

    # virsh define MeasuredBoot.xml
    
  3. 启动虚拟机

    启动虚拟机前需要使用chmod命令给目录/var/lib/swtpm-localca/赋予如下权限,否则libvirt无法拉起swtpm。

    # chmod -R 777 /var/lib/swtpm-localca/
    #
    # virsh start MeasuredBootVM
    
53.2.3 确认度量启动使能成功

度量启动功能使能与否由vBIOS决定,目前 openEuler 22.03 LTS 版本中的vBIOS已经具备了度量启动的能力。若宿主机采用其他版本的edk2组件,请确认其是否支持度量启动功能。

使用root用户登录虚拟机,确认虚拟机中是否安装了tpm驱动、tpm2-tss协议栈及tpm2-tools工具。 openEuler 22.03 LTS 版本中默认安装了tpm驱动(tpm_tis.ko)、tpm2-tss协议栈和tpm2-tools工具。若使用其他操作系统,可以使用如下命令检查是否安装了驱动和相关工具。

# lsmod |grep tpm
tpm_tis          16384   0
#
# yum list installed | grep -E 'tpm2-tss|tpm2-tools'
#
# yum install tpm2-tss tpm2-tools

可以使用tpm2_pcrread(低版本tpm2_tools中使用tpm2_pcrlist)命令列出所有的pcr值。

# tpm2_pcrread
sha1 :
  0  : fffdcae7cef57d93c5f64d1f9b7f1879275cff55
  1  : 5387ba1d17bba5fdadb77621376250c2396c5413
  2  : b2a83b0ebf2f8374299a5b2bdfc31ea955ad7236
  3  : b2a83b0ebf2f8374299a5b2bdfc31ea955ad7236
  4  : e5d40ace8bb38eb170c61682eb36a3020226d2c0
  5  : 367f6ea79688062a6df5f4737ac17b69cd37fd61
  6  : b2a83b0ebf2f8374299a5b2bdfc31ea955ad7236
  7  : 518bd167271fbb64589c61e43d8c0165861431d8
  8  : af65222affd33ff779780c51fa8077485aca46d9
  9  : 5905ec9fb508b0f30b2abf8787093f16ca608a5a
  10 : 0000000000000000000000000000000000000000
  11 : 0000000000000000000000000000000000000000
  12 : 0000000000000000000000000000000000000000
  13 : 0000000000000000000000000000000000000000
  14 : 0000000000000000000000000000000000000000
  15 : 0000000000000000000000000000000000000000
  16 : 0000000000000000000000000000000000000000
  17 : ffffffffffffffffffffffffffffffffffffffff
  18 : ffffffffffffffffffffffffffffffffffffffff
  19 : ffffffffffffffffffffffffffffffffffffffff
  20 : ffffffffffffffffffffffffffffffffffffffff
  21 : ffffffffffffffffffffffffffffffffffffffff
  22 : ffffffffffffffffffffffffffffffffffffffff
  23 : 0000000000000000000000000000000000000000
sha256 :
  0  : d020873038268904688cfe5b8ccf8b8d84c1a2892fc866847355f86f8066ea2d
  1  : 13cebccdb194dd916f2c0c41ec6832dfb15b41a9eb5229d33a25acb5ebc3f016
  2  : 3d458cfe55cc03ea1f443f1562beec8df51c75e14a9fcf9a7234a13f198e7969
  3  : 3d458cfe55cc03ea1f443f1562beec8df51c75e14a9fcf9a7234a13f198e7969
  4  : 07f9074ccd4513ef1cafd7660f9afede422b679fd8ad99d25c0659eba07cc045
  5  : ba34c80668f84407cd7f498e310cc4ac12ec6ec43ea8c93cebb2a688cf226aff
  6  : 3d458cfe55cc03ea1f443f1562beec8df51c75e14a9fcf9a7234a13f198e7969
  7  : 65caf8dd1e0ea7a6347b635d2b379c93b9a1351edc2afc3ecda700e534eb3068
  8  : f440af381b644231e7322babfd393808e8ebb3a692af57c0b3a5d162a6e2c118
  9  : 54c08c8ba4706273f53f90085592f7b2e4eaafb8d433295b66b78d9754145cfc
  10 : 0000000000000000000000000000000000000000000000000000000000000000
  11 : 0000000000000000000000000000000000000000000000000000000000000000
  12 : 0000000000000000000000000000000000000000000000000000000000000000
  13 : 0000000000000000000000000000000000000000000000000000000000000000
  14 : 0000000000000000000000000000000000000000000000000000000000000000
  15 : 0000000000000000000000000000000000000000000000000000000000000000
  16 : 0000000000000000000000000000000000000000000000000000000000000000
  17 : ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
  18 : ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
  19 : ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
  20 : ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
  21 : ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
  22 : ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
  23 : 0000000000000000000000000000000000000000000000000000000000000000

👍 点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向!

✏️ 评论,你的意见是我进步的财富!

53 最佳实践-安全最佳实践-虚拟机可信启动文章来源地址https://www.toymoban.com/news/detail-497620.html

到了这里,关于53 最佳实践-安全最佳实践-虚拟机可信启动的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 《确保安全:PostgreSQL安全配置与最佳实践》

    🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🐅🐾猫头虎建议程序员必备技术栈一览表📖: 🛠️ 全栈技术 Full Stack : 📚 MERN/MEAN/MEVN Stack | 🌐 Jamstack | 🌍 GraphQL | 🔁 RESTful API | ⚡ WebSockets | 🔄 CI/CD | 🌐 Git Version Control | 🔧 DevOps 🌐 前端技术 Frontend : 🖋️ HTML CSS |

    2024年02月09日
    浏览(32)
  • Go语言的安全编程实践与最佳实践

    Go语言,也被称为Golang,是一种现代的编程语言,由Google的Robert Griesemer、Rob Pike和Ken Thompson于2009年开发。Go语言旨在简化系统级编程,提供高性能和可扩展性。随着Go语言的发展,安全编程变得越来越重要。本文旨在探讨Go语言的安全编程实践与最佳实践,帮助读者更好地编写

    2024年02月20日
    浏览(35)
  • MySQL 安全最佳实践指南

    MySQL 以其可靠性和效率在各种可用的数据库系统中脱颖而出。然而,与任何保存有价值数据的技术一样,MySQL 数据库是网络犯罪分子利润丰厚的目标。 这使得 MySQL 安全不仅是一种选择,而且是一种必需。这份综合指南将深入探讨保护 MySQL 数据库的最佳实践。 从初始设置到高

    2024年01月16日
    浏览(29)
  • Docker安全最佳实践

    目录 1、探测容器开放端口和服务漏洞 2、宿主机、网络、镜像、DockerApi安全 3、更新Docker、日志、事件 4、Docker安全测试 5、Docker安全最佳实践 使用Nmap扫描Docker容器中的开放端口 使用docker ps命令获取正在运行的容器ID或名称。 在主机上安装Nmap工具。 使用以下命令扫描Docker容

    2024年02月04日
    浏览(34)
  • 安全测试的最佳实践

    昨天简单介绍了安全测试的相关概念,今天看看具体的安全测试操作。 安全测试检查软件是否容易受到网络攻击,并测试恶意或意外输入对其操作的影响。安全测试提供证据,证明系统和信息是安全可靠的,并且它们不接受未经授权的输入。 安全测试是一种非功能测试。与

    2024年02月06日
    浏览(33)
  • 云计算:从基础架构原理到最佳实践之:虚拟化技术与容器化

    作者:禅与计算机程序设计艺术 作为一名资深软件工程师、架构师、CTO或者云计算相关技术人员,如果想要提升自己对于云计算的理解和掌握能力,那么文章将会非常有帮助。文章将从云计算的最底层——基础架构开始介绍,向高级用户展示如何利用云服务提供商提供的基础

    2024年02月08日
    浏览(34)
  • PHP加密与安全的最佳实践

    PHP加密与安全的最佳实践 概述 在当今信息时代,数据安全是非常重要的。对于开发人员而言,掌握加密和安全的最佳实践是必不可少的。PHP作为一种常用的后端开发语言,提供了许多功能强大且易于使用的加密和安全性相关函数和类。本文将介绍一些PHP中加密与安全的最佳

    2024年02月12日
    浏览(33)
  • Kafka安全性配置最佳实践

    Kafka 在整个大数据生态系统中扮演着核心的角色,对于系统数据的安全性要求相对较高。因此进行 Kafka 安全配置是非常必要的。 通过合理的安全配置,可以有效地保障 Kafka 系统数据的机密性与完整性。这样可以有效地防止信息泄漏与篡改等安全风险。 提高 Kafka 系统的可靠

    2024年02月10日
    浏览(25)
  • 制造业网络安全最佳实践

    网络安全已成为生产部门的一个重要关注点,制造业网络安全现在是高管层的主要考虑因素。 在工业 4.0和物联网 ( IoT )出现的推动下,当今的互连工业系统提供了多种优势,但也使组织面临新的风险和漏洞。 让我们探讨一些制造业网络安全最佳实践,并讨论设备可见性、风

    2024年02月08日
    浏览(39)
  • 重温《深入理解Java虚拟机:JVM高级特性与最佳实践(第二版)》 –– 学习笔记(一)

    第1章:走近Java 1.1 Java的技术体系 SUN 官方所定义的 Java 技术体系包括:Java程序设计语言、Java虚拟机、Class文件格式、Java API类库、第三方(商业机构和开源社区)Java类库。 其中,「Java程序设计语言」、「Java虚拟机」、「Java API类」这三个被称为 JDK(Java Deployment Kit),即

    2024年01月23日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包