受保护Hyper-V环境和受保护虚拟机Guarded fabric and shielded VMs

发布时间:2020-05-28 13:33:00 作者:ZJUNSEN
来源:网络 阅读:2326

无论是企业内部还是托管在IDC或云服务商的虚拟机,如何保障运行的环境是安全的,虚拟机是安全的(虚拟机文件里的数据以及看到的监视器画面)成为此篇文章和大家探讨研究的。

比如您正在运行的虚拟机,管理员是可以通过虚拟化平台通过监视器看到您的系统并操作的,比如关机,开启,重启等等操作,其次如果有别有用心的管理员或者不法分子在拿到您虚拟机的虚拟磁盘文件后拷贝到自己的电脑展开查看等,那么虚拟机里的数据一览无遗,甚至严重一点的拿到您AD虚拟机的虚拟磁盘后对域控用户数据库解密,获取到企业用户的登录信息及密码,那么后果就相当严重了。

其次如果有人把虚拟机的虚拟磁盘拷贝出来放到竞争对手的虚拟机环境里导入运行,那么是否会有虚拟机业务成果的山寨呢?

当然我这里只是列举可能出现的风险和案例,针对这样的问题而展开如何确保虚拟机运行安全以及虚拟机运行所处的环境是可信任的展开话题讨论。

针对以上的痛点,在Windows Server 2016开始提供了一个新的技术叫“受保护者服务”可以使用受保护的结构(Hyper-V主机环境)为VM提供更安全的运行环境。受保护的结构主要有三个部分组成:

在Windows Server 2016里只支持Windows系统的虚拟机保护,而在Windows Server 2019里还新增支持了Linux系统的虚拟机保护。

那么整个受保护的虚拟机运行在受保护的结构环境中,拓扑如下:

受保护Hyper-V环境和受保护虚拟机Guarded fabric and shielded VMs  

对于工作模式只要分为2中:TPM模式和主机密钥模式

用到的安全手段主要大致可以为四种:TPM(vTPM)、签名证书、加密证书、Bitlocker

从受保护的主机来判断是否受信任和安全主要是根据这3点来衡量:提取主机的系统特征,硬件基准,以及当前运行环境作为代码完整性策略

从受保护的虚拟机来判断虚拟机是否安全主要是根据这4点来衡量:虚拟磁盘模板是否加密,卷签名目录,受保护的数据文件PDK(监护人证书:签名和加密;防护数据文件所有者:签名和加密),vTPM

受保护的虚拟机工作关系结构是这样的:

受保护Hyper-V环境和受保护虚拟机Guarded fabric and shielded VMs  

受保护的虚拟机在受保护的Hyper-V主机工作关系结构是这样的:

受保护Hyper-V环境和受保护虚拟机Guarded fabric and shielded VMs  

  1. 请求开启受保护的虚拟机VM01
    在受保护的主机可以启动受保护的VM之前,首先必须证明它是可信任的。为了证明它是可信任的,它必须向密钥保护服务(KPS)提供受信任证明。受信任证书通过证明过程获得。

主机请求证明。
受保护的主机请求证明。认证模式由受保护主机服务群集决定:
TPM可信证明:Hyper-V主机发送的信息包括:

备注:受保护的Hyper-V主机启动后每8小时进行一次验证,如果由于某种原因,当受保护的VM尝试启动时收保护的主机没有认证证书也会触发请求。

主机密钥证明:Hyper-V主机发送密钥对的公钥。HGS验证主机密钥是否已注册。
管理员信任的证明:Hyper-V主机发送Kerberos票证,该票证标识主机所在的安全组。HGS验证主机属于先前由受信任的HGS管理员配置的安全组。(在Windows Server 2019中该模式已经取消)

  1. 证明成功(或失败)
    成功证明主机受信任所需的检查:

  2. 认证证书已发送给主机
    假设证明成功,则向主机发送受信任证书,并且主机被视为“被保护”(被授权运行受保护的VM)。主机使用信任证书授权密钥保护服务安全地发放使用受保护虚拟机所需的密钥

  3. 主机请求VM密钥
    受保护的主机没有启动受保护的VM(本例中为VM01)所需的密钥。要获得必要的密钥,受保护的主机必须向KPS提供以下内容:

  4. 发布密钥
    KPS检查受信任证书以确定其有效性。证书不得过期,KPS必须信任颁发证书的证明服务。

  5. 密钥返回给主机
    如果受信任证书有效,KPS会尝试解密该密钥并安全地返回启动VM所需的密钥。请注意,密钥已加密到受保护主机的VBS。

  6. 主机启动VM01

那么部署这样一套受保护的结构需要多少步骤呢?下面这张图列了关键步骤:

受保护Hyper-V环境和受保护虚拟机Guarded fabric and shielded VMs  

部署这样一套受保护的Hyper-V环境和受保护的虚拟机最后是可以通过Powershell来管理,也或者使用SCVMM或Windows Azure Pack来管理的。

过程不复杂,但要注意的点和涉及的知识是比较复杂的。

简单来说怎么实现虚拟机安全以及达到的效果,我的总结是:

这项功能我觉得针对业务场景也解决如下需求:

后续如何实现主要核心三个章节:

    最后感谢王泽和高毅的功能介绍,让我有更深入的研究与实践把这样一个好的技术和功能分享给大家。


    推荐阅读:
    1. 云计算学习体系-1.1-计算机基础学习使用VMware建虚拟机超详细图文教程
    2. Azure管理员-第7章 配置 Azure 文件-4-1-Azure 文件共享

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

    云计算 云平台 shielded vm

    上一篇:获取在SCVMM虚拟机磁盘信息

    下一篇:java九九乘法表代码

    相关阅读

    您好,登录后才能下订单哦!

    密码登录
    登录注册
    其他方式登录
    点击 登录注册 即表示同意《亿速云用户服务条款》