保护虚拟桌面基础设施中的登出虚拟机的技术的制作方法

xiaoxiao2020-7-22  12

保护虚拟桌面基础设施中的登出虚拟机的技术的制作方法
【专利摘要】本文披露了保护虚拟机桌面基础设施(VDI)中登出的虚拟机的多种技术。在一个具体示例性实施例中,这些技术可以实现为一种保护登出的来宾虚拟机的方法,该方法包括接收一条请求以便登出由一个服务器网络元件托管的一个来宾虚拟机,其中登出该来宾虚拟机包括将该来宾虚拟机的管理权从该服务器网络元件传递至一个客户端网络元件。这种保护登出的来宾虚拟机的方法还可以包括为该来宾虚拟机配置一个安全模块以便保护该来宾虚拟机,并且当该来宾虚拟机登出时向该来宾虚拟机提供该安全模块。
【专利说明】保护虚拟桌面基础设施中的登出虚拟机的技术
[0001]披露领域
[0002]本披露总体上涉及虚拟桌面基础设施中的虚拟机(VM),并且更具体地涉及保护虚拟桌面基础设施(VDI)中的登出虚拟机(VM)的技术。
[0003]披露背景
[0004]虚拟桌面基础设施(VDI)可以包括远程地访问在数据中心中作为虚拟机(VM)运行的桌面镜像。当虚拟机(VM)连接至虚拟桌面基础设施(VDI)时,安全虚拟机(SVM)可以为多个虚拟机(VM)提供安全服务。虚拟桌面基础设施(VDI)可以使断开连接的用户继续访问虚拟机(VM),方式是通过允许它们“登出”虚拟机(VM)(例如,从数据中心向用户装置转移虚拟机(VM)的管理权)。当断开连接的用户登出虚拟机(VM)时,登出的虚拟机可能缺乏端点安全功能。
[0005]鉴于前述内容,可以理解的是可能存在重大问题和缺陷,这些问题和缺陷与保护虚拟机桌面基础设施(VDI)中的登出虚拟机(VM)的技术相关联。
[0006]披露综述
[0007]本文披露了保护虚拟机桌面基础设施(VDI)中登出的虚拟机(VM)的多种技术。在一个具体示例性实施例中,这些技术可以实现为一种保护登出的来宾虚拟机的方法,该方法包括接收一条请求以便登出由一个服务器网络元件托管的一个来宾虚拟机,其中登出该来宾虚拟机包括将该来宾虚拟机的管理权从该服务器网络元件传递至一个客户端网络元件。这种保护登出的来宾虚拟机的方法还可以包括为该来宾虚拟机配置一个安全模块以便保护该来宾虚拟机,并且当该来宾虚拟机登出时向该来宾虚拟机提供该安全模块。
[0008]根据该具体示例性实施例的其他方面,该方法可以进一步包括向该客户端网络元件传送一个探测数据包以搜集与该客户端网络元件相关联的信息。
[0009]根据该具体示例性实施例的进一步方面,可以至少部分地基于与该客户端网络元件相关联的信息来配置该来宾虚拟机的安全模块。
[0010]根据该具体示例性实施例的附加方面,与该客户端网络元件相关联的信息可以包括虚拟化平台、管理程序、安全信息、安全隐患、权限、存储器、CPU利用率、内存和网络输入/输出(I / O)中的至少一个。
[0011]根据该具体示例性实施例的又一个方面,与该客户端网络元件相关联的安全信息可以包括安全应用程序、制造商、版本、日期、历史、杀毒软件、反垃圾邮件程序、恶意软件和接口中的至少一个。
[0012]根据该具体示例性实施例的其他方面,该方法可以进一步包括确定一个安全应用程序是否与该客户端网络元件相关联。
[0013]根据该具体示例性实施例的进一步方面,为该来宾虚拟机配置该安全模块的步骤可以包括为该安全模块配置一个接口以便与该客户端网络元件相交互。
[0014]根据该具体示例性实施例的附加方面,用于该安全模块的接口可以被配置成用于与一个安全应用程序相交互,该安全应用程序与该客户端网络元件相关联。
[0015]根据该具体示例性实施例的又一个方面,为该来宾虚拟机配置该安全模块的步骤可以包括为该安全模块配置一个接口以便与该服务器网络元件相交互。
[0016]根据该具体示例性实施例的其他方面,为该来宾虚拟机配置该安全模块的步骤可以包括为该安全模块配置反病毒软件、反恶意软件软件、防火墙软件、入侵防护软件、和数据泄露防护软件中至少一个的完整版本。
[0017]根据该具体示例性实施例的进一步方面,为该来宾虚拟机配置该安全模块的步骤可以包括为该安全模块配置反病毒软件、反恶意软件软件、防火墙软件、入侵防护软件、和数据泄露防护软件中至少一个的部分版本。
[0018]根据该具体示例性实施例的附加方面,为该来宾虚拟机配置该安全模块的步骤可以包括为该安全模块配置反病毒软件、反恶意软件软件、防火墙软件、入侵防护软件、和数据泄露防护软件中至少一个的更新版本。
[0019]根据该具体示例性实施例的又一个方面,该方法可以进一步包括至少部分地基于与该客户端网络元件相关联的信息确定与该客户端网络元件相关联的权限。
[0020]根据该具体示例性实施例的其他方面,该方法可以进一步包括至少部分地基于该客户端网络元件不具有权限的决定来显示一个登出错误消息。
[0021]根据该具体示例性实施例的进一步方面,至少一种永久处理器可读存储介质,用于存储由指令构成的一个计算机程序,这些指令被配置成可由至少一个处理器读取,以指令该至少一个处理器执行一个计算机进程从而执行前述的用于保护登出的来宾虚拟机的方法。
[0022]在另一个具体示例性实施例中,这些技术可以实现为一种保护登出的来宾虚拟机的系统,该系统包括通信性地连接至一个网络的一个或多个处理器;其中该一个或多个处理器可以被配置成用于接收一条请求以便登出由一个服务器网络元件托管的一个来宾虚拟机,其中登出该来宾虚拟机包括将该来宾虚拟机的管理权从该服务器网络元件传递至一个客户端网络元件。该一个或多个处理器还可以被配置成用于为该来宾虚拟机配置一个安全模块以便保护该来宾虚拟机并且当该来宾虚拟机登出时向该来宾虚拟机提供该安全模块。
[0023]根据该具体示例性实施例的其他方面,该一个或多个处理器可以进一步被配置为向该客户端网络元件传送一个探测数据包以搜集与该客户端网络元件相关联的信息。
[0024]根据该具体示例性实施例的进一步方面,可以至少部分地基于与该客户端网络元件相关联的信息来配置该安全模块。
[0025]根据该具体示例性实施例的附加方面,该一个或多个处理器可以进一步被配置为确定一个安全应用程序是否与该客户端网络元件相关联。
[0026]根据该具体示例性实施例的进一步方面,该一个或多个处理器可以进一步被配置为至少部分地基于与该客户端网络元件相关联的信息确定与该客户端网络元件相关联的权限。
[0027]现在将参考附图中所示的本披露的示例性实施例更为详细地描述本披露。尽管以下参考示例性实施例描述本披露,但应当理解的是本披露不用于限制于此。利用这些技术的本领域普通技术人员将认识到,附加的实现方式、修改方式和实施例以及其他领域的使用都在本文所描述的披露的范围之内,并且对它们而言本披露可以具有显著效用。
[0028]附图简要说明[0029]为了帮助更完整地理解本披露,现在参考附图,其中相似的元素以相似的数字来引用。这些附图不应当解释为限制本披露,而是仅用于示例。
[0030]图1根据本披露的一个实施例展示了描绘一个网络架构100的框图,该网络架构用于保护虚拟机桌面基础设施(VDI)中登出的虚拟机(VM)。
[0031]图2根据本披露的一个实施例描绘了一种计算机系统的框图。
[0032]图3根据本披露的一个实施例展示了一个安全虚拟机。
[0033]图4根据本披露的一个实施例描绘了一种向虚拟机桌面基础设施(VDI)中登出的虚拟机提供安全性的方法。
[0034]图5根据本披露的一个实施例描绘了一种向虚拟机桌面基础设施(VDI)中的虚拟机提供安全性的方法。
[0035]示例性实施方案的详细说明
[0036]图1根据本披露的一个实施例展示了描绘一种网络架构100的框图,该网络架构用于保护虚拟机桌面基础设施(VDI)中登出的虚拟机(VM)。图1是网络架构100的简化视图,该网络架构可以包括并未绘出的附加元素。网络架构100可以包含客户端网络元件110-130以及服务器网络元件140A和140B(它们中的一个或多个可以利用图2中所示的计算机系统200来实施)。客户端网络元件110-130可以通信性地连接至网络150。服务器网络元件140A可以通信性地连接至网络190和150。服务器网络元件140B可以通信性地连接至存储装置160A(1)-(N)。服务器网络元件140B可以通信性地连接至SAN(存储区域网络)结构170。SAN结构170可以支持服务器网络元件140B和网络元件110通过网络150来访问存储装置180A(1)-(N)。
[0037]以下说明描述了一种系统和方法的网络元件、计算机和/或组件,该系统和方法用于保护虚拟桌面基础设施(VDI)中登出的虚拟机,该虚拟机桌面基础设施可以包括一个或多个模块。如本文所用,术语“模块”可以理解为指代计算软件、固件、硬件和/或它们的各种组合。然而,这些模块不应当解释为不在硬件、固件中实现的或记录在处理器可读可记录存储介质中的软件(即,模块不是软件本身)。需要注意的是这些模块是示例性的。可以组合、集成、分离和/或复制这些模块以支持各种应用。另外,本文描述为在特定模块上执行的功能可以在一个或多个其他模块上和/或由一个或多个其他装置来执行,来代替在该特定模块上执行的功能或实现除该功能以外的其他功能。进一步地,这些模块可以在多个装置和/或彼此接近或远离的其他装置之间实现。另外,这些模块可以从一个装置上移除并添加到另一个装置,和/或包含在两个装置中。
[0038]服务器网络元件140A和140B可以通信性地连接至SAN(存储区域网络)结构170。SAN结构170可以支持服务器网络元件140A和140B和客户端网络元件110-130通过网络150来访问存储装置ISO(I)-(N)。服务器网络元件140A可以通信性地连接至网络190。根据一些实施例,服务器网络元件140A可以是代理服务器、数据中心和/或能够托管一个或多个虚拟机(VM)的其他网络装置。服务器网络元件140A可以通信性地连接至网络190。
[0039]服务器网络元件140A可以包括托管虚拟化环境145的平台。例如,服务器网络元件140A可以包括通过远程桌面协议(RDP)托管虚拟化环境的虚拟桌面基础设施(VDI)。虚拟化环境145能够托管一个或多个虚拟机,例如像来宾虚拟机156A-C和安全虚拟机158。例如,安全虚拟机158可以向该多个来宾虚拟机156A-C提供安全服务。本领域技术人员可以理解的是,可以实现多个安全虚拟机158以便向多个来宾虚拟机156提供安全服务。
[0040]客户端网络元件110-130可以通信性地连接至服务器网络元件140A并通过网络150远程地访问来宾虚拟机156A-C(例如通过远程桌面协议(RDP))。例如,客户端网络元件110可以远程地访问来宾虚拟机156A,客户端网络元件120可以远程地访问来宾虚拟机156B,并且客户端网络元件130可以远程地访问来宾虚拟机156C。服务器网络元件140A可以将客户端虚拟机156A-C的管理权转移至客户端网络元件110-130并因此使虚拟机156A-C甚至在客户端网络元件110-130通信性地脱离(例如,“登出(checked-out)”)服务器网络元件140A之后能够继续运行。
[0041]为了使虚拟机156A-C在客户端网络元件110-130通信性地脱离服务器网络元件140A之后继续运行,客户端网络元件110-130的每一个可以各自包括一个托管虚拟化环境145A-C的平台。每个虚拟化环境145A-C能够支持一个或多个登出的来宾虚拟机,例如像来宾虚拟机156A-C。根据一些实施例,虚拟化环境145A-C可以是由客户端网络元件110-130托管的管理程序或虚拟机管理器(VMM)。
[0042]虚拟化可以出现在不同的抽象等级上。根据一些实施例,来宾虚拟机156A-C可以在硬件等级上抽象并且可以位于操作系统(例如,虚拟机工作站和微软虚拟PC / Server)的顶层。根据其他实施例,来宾虚拟机156A-C可以抽象在硬件等级上并可以不位于操作系统的顶层(即,它们可以是裸机实现方式)。根据一些实施例,来宾虚拟机156A-C还可以在其他等级上进行抽象,这些等级包括但不限于操作系统(OS)等级、OS系统调用等级、指令集仿真、应用程序二进制接口仿真、用户级OS仿真等。
[0043]通信性地脱离服务器网络元件140A之后由每个客户端网络元件110-130托管的来宾虚拟机156A-C的每一个可以分别包含安全模块158A-C中的一个。例如,当来宾虚拟机156A-C的管理权从服务器网络元件140A转移到客户端网络元件110-130时,可以激活安全模块158A-C以向来宾虚拟机156A-C提供安全服务。根据一些实施例,当来宾虚拟机156A-C由客户端网络元件110-130上的虚拟化环境145A-C托管时,安全模块158A-C能够为来宾虚拟机156A-C提供安全服务。例如,包括在来宾虚拟机156A-C中的安全模块158A-C可以类似于位于服务器网络兀件140A上的安全虚拟机158。在另一个不例中,安全模块158A-C可以包括应用程序接口(API)或预装在客户端网络元件110-130上的安全程序的接口,以便为来宾虚拟机156A-C提供安全服务。在其他示例中,安全模块158A-C可以包括预防、检测和/或移除计算机病毒、蠕虫、入侵、数据泄露和/或恶意软件的软件、代码或脚本,以便为来宾虚拟机156A-C提供安全服务。根据一些实施例,当客户端网络元件110-130重新建立与服务器网络元件140A的通信时,可以不使用安全模块158A-158C(例如,利用服务器网络元件140A的安全虚拟机158可以提供来宾虚拟机156A-C的安全服务)。如以下更为详细讨论的,当客户端网络元件110-130通信性地脱离服务器网络元件140A(例如,“登出的”虚拟机)时,安全模块158A-C可以为客户端网络元件110-130托管的来宾虚拟机156A-C提供安全服务。
[0044]参见图2的计算机系统200,调制解调器247、网络接口 248或某一其他方法可以用于提供从客户端网络元件110-130中的一个到网络150的连接。客户端网络元件110-130能够利用例如网络浏览器或其他客户端软件访问服务器网络元件140A或140B上的信息。这种客户端可以允许客户端网络元件110-130访问服务器网络元件140A或140B或存储装置 160A(1)-(N)、160B(1)-(N)和 / 或 180 (I)-(N)之一托管的数据。
[0045]网络150和190可以是局域网(LAN)、广域网(WAN)、互联网、蜂窝网络、卫星网络、或允许在客户端110-130、服务器140A和140B与通信性地连接至150和190的其他装置之间进行通信的其他网络。网络150和190可以进一步包括作为一个独立网络或彼此配合操作的这些上述示例性类型网络中的一个或任意数量。网络150和190可以利用它们所通信性地连接到其上的一个或多个客户端110-130或服务器网络元件140A和140B的一个或多个协议。网络150和190可以转换到其他协议或从其他协议转换到网络装置的一个或多个协议。尽管网络150和190各自被描绘为一个网络,应当理解的是,根据一个或多个实施例,网络150和190各自可以包括多个互联的网络。
[0046]存储装置160A(1)-(N)、160B(1)-(N)、和/或180 (I)-(N)可以是网络可访问存储器并且可以是位于服务器网络元件140A或140B本地、远离它们或两者结合。存储装置160A(l)-(N)、160B(l)-(N)jP/*180(l)-(N)可以利用廉价磁盘冗余阵列(“RAID”)、磁带、磁盘、存储区域网络(“SAN”)、互联网小型计算机系统接口( “iSCSI”)SAN、光纤信道SAN、通用互联网文件系统(“CIFS”)、网络连接存储(“NAS”)、网络文件系统(“NFS”)、光基存储器、或其他计算机可访问存储器。存储装置160A(1)-(N)、160B(1)-(N)、和/或ISO(I)-(N)可用于备份或归档目的。
[0047]根据一些实施例,客户端网络元件110-130可以是智能电话、PDA、桌上计算机、膝上计算机、服务器、另一种计算机、或通过无线或有线连接与网络150相连接的另一个装置。客户端网络元件110-130可以从用户输入、数据库、文件、网络服务、和/或应用程序编程接口接收数据。根据一些实施例,客户端网络元件110-130可以是移动装置,例如像智能电话。虚拟化和虚拟环境之间的转换可以出现在服务器侧平台上并且客户端网络元件110-130可以根据当前的虚拟环境接收用于显示的数据。
[0048]服务器网络元件140A和140B可以是应用服务器、归档平台、虚拟化环境平台、备份服务器、网络存储装置、媒体服务器、电子邮件服务器、文档管理平台、娱乐搜索服务器、或通信性地连接至网络150的其他装置。服务器网络元件140A或140B可以利用存储装置160A (I) - (N)、160B (I) - (N)、和/或180 (I) - (N)中的一个来存储应用程序数据、备份数据或其他数据。服务器网络元件140A或140B可以是主机(例如应用程序服务器),这些主机可以处理客户端网络元件110-130与备份平台、备份进程和/或存储器之间传输的数据。根据一些实施例,服务器网络元件140A或140B可以是用于对数据进行备份和/或归档的平台。
[0049]根据一些实施例,当客户端网络元件110-130通信性地连接至服务器网络元件140A时,安全虚拟机158可以向来宾虚拟机156A-C提供安全服务。安全虚拟机158可以向来宾虚拟机158A-C提供安全模块158A-C,在客户端网络元件110-130通信性地脱离服务器网络元件140A后,这些安全模块将由客户端网络元件110-130(例如,“登出的”)来托管。例如,安全虚拟机158可以向来宾虚拟机158A-C中的每一个提供相同的安全模块158A-C。安全虚拟机158可以将安全模块158A-C配置成具有与安全虚拟机158相似的功能,以便在登出到客户端网络元件110-130 (例如,由客户端网络元件110-130托管)时向客户端虚拟机156A-C提供安全服务。
[0050]安全虚拟机158可以至少基于与托管客户端元件110-130相关联的参数向不同的来宾虚拟机156A-C提供安全模块158A-C。例如,安全虚拟机158可以探测客户端网络元件110-130,以便确定与客户端网络元件110-130相关联的一个或多个参数。与客户端网络元件110-130相关联的一个或多个参数可以包括虚拟化平台、管理程序、安全性、安全隐患、权限、存储器、CPU利用率、内存、网络输入/输出(I / O)和与客户端网络元件110-130相关联的其他参数。客户端网络元件110-130通信性地脱离服务器网络元件140A之后,安全虚拟机158可以向客户端网络元件110-130托管的来宾虚拟机156A-C提供安全模块158A-C。
[0051]在一个示例性实施例中,安全模块158A-C可以包括应用程序接口(API)或其他接口以便与安全虚拟机158交互。安全虚拟机158可以通过接口与安全模块158A-C进行通信。例如,安全虚拟机158可以向安全模块158A-C传送一条或多条指令。安全虚拟机158可以向安全模块158A-C传送激活指令。安全虚拟机158可以向安全模块158A-C传送去激活指令。安全虚拟机158可以向安全模块158A-C传送卸载指令。安全虚拟机158可以通过接口向安全模块158A-C提供一个或多个更新。例如,安全虚拟机158可以向安全模块158A-C提供更新的杀毒软件、反恶意软件软件、防火墙软件、入侵防护软件、数据泄露防护软件和/或其他安全软件。安全虚拟机158可以定期地更新安全模块158A-C。例如,当客户端网络元件110-130通信性地连接至服务器网络元件140A时,安全虚拟机158可以更新安全模块158A-C。
[0052]安全模块158A-C的接口可以与预装在客户端网络元件110-130上的安全程序相交互。例如,安全模块158A-C的接口可以与预装在客户端网络元件110-130上的安全程序相互通信。例如,安全模块158A-C可以向预装在客户端网络元件110-130上的安全应用程序传送一条或多条指令。安全模块158A-C可以向预装在客户端网络元件110-130上的安全应用程序传送激活指令。安全模块158A-C可以激活预装在客户端网络元件110-130上的安全应用程序,以便为来宾虚拟机156A-C提供安全服务。安全模块158A-C可以向预装在客户端网络元件110-130上的安全应用程序传送去激活指令。
[0053]图2根据本披露的一个实施例描绘了一种计算机系统200的框图。计算机系统200适合于实施与本披露相一致的技术。计算机系统200可以包括总线212,该总线将计算机系统200的主要子系统相互连接,例如中央处理器214、系统内存217 (例如RAM(随机存取存储器)、R0M(只读存储器)、闪存RAM、或类似的存储器)、输入/输出(I / O)控制器218、外部音频装置(例如经由音频输出接口 222的扬声器系统220)、外部装置(例如经由显示适配器226的显示屏224)、串行端口 228和230、键盘232 (与键盘控制器233连接)、存储接口 234、可操作用于接收软盘238的软盘驱动器237、可操作用于与光纤通道网络290相连接的主机总线适配器(HBA)接口卡235A、可操作用于连接至SCSI总线239的主机总线适配器(HBA)接口卡235B、以及可操作用于接收光盘242的光盘驱动器240。还可以包括鼠标246 (或其他点击装置,经由串行端口 228连接至总线212)、调制解调器247 (经由串行端口 230连接至总线212)、以及网络接口 248 (直接连接至总线212)、电源管理器250、以及电池252。
[0054]如前所述,总线212允许中央处理器214与系统内存217之间的数据通信,该系统内存可以包括只读存储器(ROM)或闪存(均未示出)、以及随机存取存储器(RAM)(未示出)。RAM可以是可加载操作系统和应用程序的主存储器。除其他代码之外,ROM或闪存可以包含基本输入输出系统(BIOS),该系统控制基本的硬件操作,如与外围部件的交互。与计算机系统210共同驻留的多个应用程序通常存储在一种计算机可读介质上,例如硬盘驱动器(例如,固定盘244)、光盘驱动器(例如,光盘驱动器240)、软盘单元237、或者其他存储介质,并且可以通过该计算机可读介质来访问这些应用程序。例如,安全虚拟机158可以驻留在系统内存217中。
[0055]如计算机系统210的其他存储器接口一样,存储器接口 234可以连接至标准计算机可读介质用于信息的存储和/或检索,例如固定盘驱动器244。固定盘驱动器244可以是计算机系统210的一部分或可以是分离的并且可以通过其他接口系统来访问。调制解调器247可以通过一个电话链路提供到远程服务器上的直接连接、或者通过互联网服务提供商(ISP)提供到互联网的直接连接。网络接口 248可以通过一个直接网络链路提供到一个远程服务器的直接连接、或者通过一个POP(存在点)提供到互联网的直接连接。网络接口248还可以使用无线技术提供此类连接,包括数字蜂窝电话连接、蜂窝数字包数据(CDro)连接、数字卫星数据连接或类似的连接。
[0056]许多其他装置或子系统(未示出)可以用类似的方式(例如,文档扫描仪、数码照相机等等)进行连接。相反,实施本披露并不要求图2中示出的所有装置都存在。这些装置和子系统可以采用与图2中所示的不同方式相互连接。实施本披露的代码可以存储在计算机可读存储介质中,例如系统内存217、固定盘244、光盘242或软盘238中的一种或多种。实施本披露的代码还可以经由一个或多个接口来接收并存储在存储器中。在计算机系统210上所提供的操作系统可以是MS-DOS?、MS-WINDOWS?、OS/2?、OS X?、UNIX?、Linux?、或另一种已知的操作系统。
[0057]电源管理器250可以监控电池252的功率等级。电源管理器250可以提供一个或多个API (应用程序接口)以允许确定功率等级、在计算机系统200关机之前留下的时间窗、电源耗用速率、是否计算机系统接通主电源(例如,AC电源)或电池电源)的指示、以及其他电源相关信息。根据一些实施方案,电源管理器250的API可以远程访问(例如,可通过网络连接访问远程备份管理模块)。根据一些实施方案,电池252可以是位于计算机系统200本地或远离它的不间断电源供应器(UPS)。在这些实施方案中,电源管理器250可以提供与UPS的功率等级相关的信息。
[0058]参见图3,图3根据本披露的一个实施例展示了一个安全虚拟机310。如图所示,安全虚拟机310可以包含一个或多个组件,这些组件包括探测模块312、接口模块314、配置模块316和/或更新模块320。
[0059]探测模块312可以探测客户端网络元件110-130以便捕获与客户端网络元件110-130相关联的信息和/或参数。例如,探测模块312可以向客户端网络元件110-130传输探测数据包。探测数据包可以捕获与客户端网络元件110-130相关联的信息和/或参数。具有捕获的信息和/或参数的探测数据包可以返回到探测模块312。探测模块312可以提取与客户端网络元件110-130相关联的信息和/或参数。例如,与客户端网络元件110-130相关联的信息和/或参数可以包括虚拟化平台、管理程序、安全信息、安全隐患、权限、存储器、CUP利用率、内存、网络输入/输出(I / O)以及与客户端网络元件110-130相关联的其他参数。
[0060]在示例性实施例中,与客户端网络元件110-130相关联的安全信息可以包括与预装在客户端网络元件110-130上的安全应用程序相关联的信息。与预装在客户端网络元件110-130上的安全应用程序相关联的信息可以包括安全应用程序、制造商、版本、日期、历史、反病毒程序、反垃圾邮件程序、接口、和/或与安全应用程序相关联的其他特性。在另一个示例性实施例中,与客户端网络元件110-130相关联的安全信息可以指示可能没有安全应用程序预装在客户端网络元件110-130上。与客户端网络元件110-130相关联的安全信息可以包括与安全模块158A-C相关联的信息,这些安全模块与来宾虚拟机156A-C相关联。探测模块312可以向安全虚拟机310的不同模块(例如,接口模块314、配置模块316、权限模块318和/或更新模块320)提供与客户端网络元件110-130相关联的信息和/或参数。
[0061]接口模块314可以与客户端网络元件110-130托管的来宾虚拟机156A-C的安全模块158A-C相交互。例如,接口模块314可以向安全模块158A-C传送一条或多条指令。接口模块314可以向安全模块158A-C传送激活指令。接口模块314可以向安全模块158A-C传送去激活指令。接口模块314可以向安全模块158A-C传送卸载指令。接口模块314可以向安全模块158A-C提供一个或多个更新。
[0062]配置模块316可以包括一个或多个处理器以便配置安全模块158A-C。当来宾虚拟机156A-C被登出至客户端网络元件110-130时(例如,当客户端网络元件110-130通信性地脱离服务器网络元件140A时由客户端网络元件110-130托管),安全模块158A-C可以提供给来宾虚拟机156A-C。配置模块316可以从安全虚拟机310的其他模块接收信息以便配置来宾虚拟机156A-C的安全模块158A-C。
[0063]配置模块316可以接收与客户端网络元件110-130(将要托管来宾虚拟机156A-C)相关联的信息和/或参数。配置模块316可以部分地基于与将要托管来宾虚拟机156A-C的客户端网络元件110-130相关联的信息和/或参数来配置安全模块158A-C。在一个示例性实施例中,配置模块316可以配置安全模块158A-C以包括具有预装在客户端网络元件110-130上的安全应用程序的接口。安全模块158A-C的接口可以同与装载在客户端网络元件110-130上的安全应用程序相交互。例如,安全模块158A-C的接口可以与预装在客户端网络元件110-130上的安全应用程序相交互,以便为来宾虚拟机156A-C提供安全服务。
[0064]例如,配置模块316可以确定客户端网络元件110-130可以安装陈旧的安全应用程序或可以至少部分地基于与客户端网络元件110-130相关联的信息和/或参数不预装安全应用程序。配置模块316可以配置安全模块158A-C以包括反病毒软件、反恶意软件软件、防火墙软件、入侵防护软件、数据泄露防护软件、和/或其他安全软件以便向登出至客户端网络元件110-130的来宾虚拟机156A-C提供安全服务(例如,当客户端网络元件110-130通信性地脱离服务器网络元件140A时由客户端网络元件110-130来托管)。在一个示例性实施例中,当客户端网络元件110-130可能未安装安全应用程序时,配置模块316可以配置安全模块158A-C以包括反病毒软件、反恶意软件软件、防火墙软件、入侵防护软件、数据泄露防护软件、和/或其他安全软件的完整版本以便向来宾虚拟机156A-C提供安全服务。在其他示例性实施例中,当安全网络元件110-130预装了陈旧的安全应用程序时,配置模块316可以配置安全模块158A-C以包括反病毒软件、反恶意软件软件、防火墙软件、入侵防护软件、数据泄露防护软件、和/或其他安全软件的部分版本以便结合装载在客户端网络元件110-130上的陈旧的安全应用程序来运行。在其他示例性实施例中,配置模块316可以配置安全模块158A-C以使所有的客户端网络元件110-130具有相同的反病毒软件、反恶意软件软件、防火墙软件、入侵防护软件、数据泄露防护软件、和/或其他安全软件。
[0065]权限模块318可以确定与客户端网络元件110-130相关联的权限。权限模块318可以部分地基于与客户端网络元件110-130相关联的信息和/或参数确定与客户端网络元件110-130相关联的权限。例如,权限模块318可以确定客户端网络元件110-130是否有权限来登出来宾虚拟机156A-C。权限模块318还可以确定客户端网络元件110-130是否有权限来接收反病毒软件、反恶意软件软件、防火墙软件、入侵防护软件、数据泄露保护软件、和/或安全模块158A-C的其他安全软件。权限模块318可以确定客户端网络元件110-130是否有权限来接收完整版本或部分版本的反病毒软件、反恶意软件软件、防火墙软件、入侵防护软件、数据泄露保护软件、和/或其他安全软件。权限模块318可以确定客户端网络元件110-130是否有权限接收安全模块158A-C的更新。
[0066]更新模块320可以更新由客户端网络元件110-130托管的来宾虚拟机156A-C的安全模块158A-C。例如,更新模块320可以通过接口模块314向安全模块158A-C提供更新的反病毒软件、反恶意软件软件、防火墙软件、入侵防护软件、数据泄露保护软件、和/或其他安全软件。更新模块320可以定期地更新由客户端网络元件110-130托管的来宾虚拟机156A-C的安全模块158A-C。例如,每当客户端网络元件110-130托管的来宾虚拟网络156A-C通信性地连接至服务器网络元件140A时,更新模块320就可以更新安全模块158A-C。
[0067]参见图4,该图描绘了根据本披露的一个实施例一种向虚拟桌面基础设施(VDI)中登出的虚拟机提供安全性的方法400。在方框402,方法400可以开始。
[0068]在方框404,与一个或多个客户端网络元件110-130相关联的用户可以发起登出过程。例如,一个或多个客户端网络元件110-130可以通过网络150通信性地连接至服务器网络元件140A。与一个或多个客户端网络元件110-130相关联的用户可以远程地访问由服务器网络元件140A托管的一个或多个客户端虚拟机156A-C(例如,通过远程桌面协议(RDP))。用户可以决定从服务器网络元件140A通信性地分离客户端网络元件110-130,但仍可以希望继续访问客户端虚拟机156A-C。用户可以发起登出处理,以便将来宾虚拟机156A-C的管理权从服务器网络元件140A转移到客户端网络元件110-130 (例如,来宾虚拟机156A-C将由客户端网络元件110-130托管)。在客户端网络元件110-130通信性地脱离服务器网络元件140A时,用户可以发送一条请求以发起登出处理以便继续访问来宾虚拟机 156A-C。
[0069]在方框410,配置模块316可以为来宾虚拟机156A-C配置安全模块158A-C。配置模块316可以配置安全模块158A-C以包括反病毒软件、反恶意软件软件、防火墙软件、入侵防护软件、数据泄露保护软件、和/或其他安全软件,以便向将要由客户端网络元件110-130托管的来宾虚拟机156A-C提供安全服务。在一个示例性实施例中,配置模块316可以配置安全模块158A-C以包括一个接口,从而与将在客户端网络元件110-130上托管的来宾虚拟机156A-C进行通信。安全模块158A-C的接口可以直接与来宾虚拟机156A-C进行通信以便向来宾虚拟机156A-C提供安全服务。
[0070]在方框406,安全虚拟机310可以探测客户端网络元件110-130以接收与客户端网络元件110-130相关联的信息和/或参数。例如,安全虚拟机310的探测模块312可以向客户端网络元件110-130传输探测数据包以获取与客户端网络元件110-130相关联的信息和/或参数。在一个示例性实施例中,与客户端网络元件110-130相关联的信息和/或参数可以包括虚拟化平台、管理程序、安全信息、安全隐患、权限、存储器、CPU利用率、内存、网络输入/输出(I / O)、和与客户端网络元件110-130相关联的其他参数。探测模块312可以从探测数据包中提取与客户端网络元件110-130相关联的信息和/或参数。探测模块312可以向安全虚拟机310的其他模块提供与客户端网络元件110-130相关联的信息和/或参数。
[0071]在方框408,可以确定安全应用程序是否预装在客户端网络元件110-130上。例如,安全虚拟机310的配置模块316可以确定安全应用程序是否预装在客户端网络元件110-130上。配置模块316可以确定安全应用程序是否至少基于与客户端网络元件110-130相关联的信息和/或参数预装在客户端网络元件110-130上。
[0072]在一个替代实施例中,在方框410,配置模块316可以确定安全应用程序预装在客户端网络元件110-130上,并且配置模块316可以配置安全模块158A-C。配置模块316可以至少部分地基于与客户端网络元件110-130相关联的安全信息配置安全模块158A-C。在一个示例性实施例中,配置模块316可以配置安全模块158A-C以包括具有预装在客户端网络元件110-130上的安全应用程序的接口。安全模块158A-C的接口可以与预装在客户端网络元件110-130上的安全应用程序相交互。例如,安全模块158A-C的接口可以与预装在客户端网络元件110-130上的安全应用程序相交互,以便为来宾虚拟机156A-C提供安全服务。
[0073]在另一个示例性实施例中,配置模块316可以确定客户端网络元件110-130可以具有安装在客户端网络元件110-130上的陈旧的安全应用程序。配置模块316可以配置安全模块158A-C以便与预装在客户端网络元件110-130上的陈旧的安全应用程序相交互。在另一个示例性实施例中,配置模块316可以配置安全模块158A-C以包括更新的反病毒软件、反恶意软件软件、防火墙软件、入侵防护软件、数据泄露保护软件、和/或其他安全软件,以便向将由客户端网络元件110-130托管的来宾虚拟机156A-C提供安全服务。在其他示例性实施例中,配置模块316可以配置安全模块158A-C以包括反病毒软件、反恶意软件软件、防火墙软件、入侵防护软件、数据泄露保护软件、和/或其他安全软件,不管安全应用程序是否预装在客户端网络元件110-130上。
[0074]在方框412,配置模块316可以确定安全应用程序未预装在客户端网络元件110-130上,并且权限模块318可以确定客户端网络元件110-130是否有权限接收安全模块158A-C。例如,权限模块318可以验证客户端网络元件110-130是否有权限接收反病毒软件、反恶意软件软件、防火墙软件、入侵防护软件、数据泄露保护软件、和/或安全模块158A-C的其他安全软件。另外,权限模块318可以授予权限以允许客户端网络元件110-130接收包括反病毒软件、反恶意软件软件、防火墙软件、入侵防护软件、数据泄露保护软件、和/或其他安全软件的安全模块158A-C。
[0075]如果权限模块318确定客户端网络元件110-130有权限接收安全模块158A-C,方法400可以返回到方框410。在其他实施例中,在方框410,配置模块316可以配置安全模块158A-C以包括反病毒软件、反恶意软件软件、防火墙软件、入侵防护软件、数据泄露保护软件、和/或其他安全软件的完整版本,以便向来宾虚拟机156A-C提供安全服务。在另一个示例性实施例中,配置模块316可以配置安全模块158A-C以包括反病毒软件、反恶意软件软件、防火墙软件、入侵防护软件、数据泄露保护软件、和/或其他安全软件的部分版本,以便结合预装在客户端网络元件110-130上的陈旧的应用程序来操作。
[0076]在方框414,权限模块318确定客户端网络元件110-130不具有接收安全模块158A-C的权限,安全虚拟机310可以向客户端网络元件110-130提供出错消息。例如,配置模块316可以向客户端网络元件110-130展示出错消息,以通知用户来宾虚拟机156A-C不能由客户端网络元件110-130托管。
[0077]在方框416,安全模块158A-C可以提供给来宾虚拟机156A-C,以便向将由客户端网络元件110-130托管的来宾虚拟机156A-C提供安全服务。例如,安全模块158A-C可以整合为来宾虚拟机156A-C的一部分并将来宾虚拟机156A-C的管理权从服务器网络元件140A转移到客户端网络元件110-130。可以激活安全模块158A-C以便在来宾虚拟机156A-C的管理权从服务器网络元件140A转移到客户端网络元件110-130时提供服务。
[0078]在方框418,方法400可以结束。
[0079]参见图5,该图根据本披露的一个实施例描绘了一种向虚拟桌面基础设施(VDI)中的虚拟机提供安全性的方法500。在方框502,方法500可以开始。
[0080]在方框504,与一个或多个客户端网络元件110-130相关联的用户可以发起登入(check-1n)过程。例如,一个或多个客户端网络元件110-130可以不通过网络150通信性地连接至客户端网络元件140A。与可以托管一个或多个来宾虚拟机156A-C的客户端网络元件110-130相关联的用户可以建立与服务器网络元件140A的通信链路。用户可以决定重新建立与服务器网络元件140A的通信链路并将来宾虚拟机156A-C的管理权从客户端网络元件110-130转回到服务器网络元件140A。用户发送一条请求以发起登入过程,从而将来宾虚拟机156A-C的管理权从客户端网络元件110-130转回到服务器网络元件140A(例如,来宾虚拟机156A-C将由服务器网络元件140A托管)。
[0081]在方框506,安全虚拟机310可以使客户端网络元件110-130托管的来宾虚拟机156A-C与服务器网络元件140A托管的来宾虚拟机156A-C同步。在一个示例性实施例中,安全虚拟机310可以确定客户端网络元件110-130托管的来宾虚拟机156A-C与服务器网络元件140A托管的来宾虚拟机156A-C之间的差异。安全虚拟机310可以利用客户端网络元件110-130托管的来宾虚拟机156A-C与服务器网络元件140A托管的来宾虚拟机156A-C之间的差异来更新服务器网络元件140A托管的来宾虚拟机156A-C。
[0082]在方框508,可以确定是否客户端网络元件110-130托管的来宾虚拟机156A-C的安全模块158A-C需要更新。例如,接口模块314可以与客户端网络元件110-130托管的来宾虚拟机156A-C的安全模块158A-C相交互。接口模块314可以搜集与客户端网络元件110-130托管的来宾虚拟机156A-C的安全模块158A-C相关联的信息。接口模块314可以向更新模块320提供客户端网络元件110-130托管的来宾虚拟机156A-C的安全模块158A-C。更新模块320可以确定是否更新客户端网络元件110-130托管的来宾虚拟机156A-C的安全模块158A-C。
[0083]在方框510,更新模块320可以确定更新客户端网络元件110-130的来宾虚拟机156A-C的安全模块158A-C。更新模块320可以更新客户端网络元件110-130托管的来宾虚拟机156A-C的安全模块158A-C。例如,更新模块320可以通过接口模块314向安全模块158A-C提供更新的反病毒软件、反恶意软件软件、防火墙软件、入侵防护软件、数据泄露防护软件、和/或其他安全软件。
[0084]在方框512,更新模块320可以确定不更新客户端网络元件110-130托管的来宾虚拟机156A-C的安全模块158A-C。安全虚拟机310可以去激活客户端网络元件110-130托管的来宾虚拟机156A-C的安全模块158A-C。例如,接口模块314可以向安全模块158A-C传送一条或多条指令。在一个不例性实施例中,接口模块314可以向安全模块158A-C传送去激活指令。在另一个示例性实施例中,接口模块314可以向安全模块158A-C传送卸载指令。
[0085]在方框514,方法500可以结束。
[0086]此时应当注意的是,以上根据本披露描述的基于虚拟环境的网络客户端管理在某种程度上通常包括处理输入数据和生成输出数据。这种输入数据处理和输出数据生成可以采用硬件或软件来实施。例如,可以在安全虚拟机或类似或相关的电路中使用特定的电子组件,以实施与上述根据本披露的保护虚拟桌面基础设施中登出的虚拟机相关联的功能。可替代地,依据多条指令操作的一个或多个处理器可以实施与上述根据本披露的保护虚拟桌面基础设施中登出的虚拟机相关联的功能。如果情况确实如此,在本披露范围内这些指令可以存储在一个或多个处理器可读存储介质(例如,磁盘或其他存储介质)中,或通过实例化在一个或多个载波中的一种或多种信号来传输至一个或多个处理器。
[0087]本披露不应当限制在本文描述的具体实施例所限定的范围中。的确,除了在此描述的那些,从前述说明和附图可见本披露的其他各种实施例和修改形式对本领域普通技术人员将是明显的。因此,这些其他实施例和修改形式意在落于本披露的范围内。而且,尽管本文出于特定目的已经在具体环境的【具体实施方式】的情况下描述了本披露,但本领域的那些普通技术人员将认识到的是它的有效性不限于此,并且出于任何目的本披露可以在任意环境中有益地实施。因此,以下给出的权利要求应当根据在此描述的本披露的完整广度和精神来解释。
【权利要求】
1.一种保护登出的来宾虚拟机的方法,包括: 接收一条请求以便登出由一个服务器网络元件托管的一个来宾虚拟机,其中登出该来宾虚拟机包括将该来宾虚拟机的管理权从该服务器网络元件传递至一个客户端网络元件; 为该来宾虚拟机配置一个安全模块以便保护该来宾虚拟机;并且 当该来宾虚拟机登出时向该来宾虚拟机提供该安全模块。
2.如权利要求1所述的方法,进一步包括向该客户端网络元件传送一个探测数据包以搜集与该客户端网络元件相关联的信息。
3.如权利要求2所述的方法,其中至少部分地基于与该客户端网络元件相关联的信息来配置该来宾虚拟机的安全模块。
4.如权利要求2所述的方法,其中与该客户端网络元件相关联的信息包括虚拟化平台、管理程序、安全信息、安全隐患、权限、存储器、CPU利用率、内存和网络输入/输出(I /O)中的至少一个。
5.如权利要求4所述的方法,其中与该客户端网络元件相关联的安全信息包括安全应用程序、制造商、版本、日期、历史、杀毒软件、反垃圾邮件程序、恶意软件和接口中的至少一个。
6.如权利要求1所述的方法,进一步包括确定一个安全应用程序是否与该客户端网络元件相关联。
7.如权利要求1所述的方法,其中为该来宾虚拟机配置该安全模块包括为该安全模块配置一个接口以便与该客户端网络元件相交互。
8.如权利要求7所述的方法,其中用于该安全模块的接口被配置成用于与一个安全应用程序相交互,该安全应用程序与该客户端网络元件相关联。
9.如权利要求1所述的方法,其中为该来宾虚拟机配置该安全模块包括为该安全模块配置一个接口以便与该服务器网络元件相交互。
10.如权利要求1所述的方法,其中为该来宾虚拟机配置该安全模块包括为该安全模块配置反病毒软件、反恶意软件软件、防火墙软件、入侵防护软件、和数据泄露防护软件中至少一个的完整版本。
11.如权利要求1所述的方法,其中为该来宾虚拟机配置该安全模块包括为该安全模块配置反病毒软件、反恶意软件软件、防火墙软件、入侵防护软件、和数据泄露防护软件中至少一个的部分版本。
12.如权利要求1所述的方法,其中为该来宾虚拟机配置该安全模块包括为该安全模块配置反病毒软件、反恶意软件软件、防火墙软件、入侵防护软件、和数据泄露防护软件中至少一个的更新版本。
13.如权利要求2所述的方法,进一步包括至少部分地基于与该客户端网络元件相关联的信息确定与该客户端网络元件相关联的权限。
14.如权利要求13所述的方法,进一步包括至少部分地基于该客户端网络元件不具有权限的决定来显示一个登出出错消息。
15.至少一种永久处理器可读存储介质,用于存储由指令构成的一个计算机程序,这些指令被配置成可由至少一个处理器读取,以指令该至少一个处理器执行一个计算机进程从而执行根据权利要求1中所述的方法。
16.一种保护登出的来宾虚拟机的系统,包括: 通信性地连接至一个网络的一个或多个处理器;其中该一个或多个处理器被配置成用于: 接收一条请求以便登出由一个服务器网络元件托管的一个来宾虚拟机,其中登出该来宾虚拟机包括将该来宾虚拟机的管理权从该服务器网络元件传递至一个客户端网络元件; 为该来宾虚拟机配置一个安全模块以便保护该来宾虚拟机;并且 当该来宾虚拟机登出时向该来宾虚拟机提供该安全模块。
17.如权利要求16所述的系统,其中该一个或多个处理器进一步被配置成用于: 向该客户端网络元件传送一个探测数据包以搜集与该客户端网络元件相关联的信息。
18.如权利要求17所述的系统,其中至少部分地基于与该客户端网络元件相关联的信息来配置该安全模块。
19.如权利要求16所述的系统,其中该一个或多个处理器进一步被配置成用于: 确定一个安全应用程序是否与该客户端网络元件相关联。
20.如权利要求17所述的系统,其中该一个或多个处理器进一步被配置成用于: 至少部分地基于与该 客户端网络元件相关联的信息确定与该客户端网络元件相关联的权限。
【文档编号】G06F21/57GK103917982SQ201280020824
【公开日】2014年7月9日 申请日期:2012年3月14日 优先权日:2011年3月16日
【发明者】B·E·麦科肯德尔, W·E·曹贝乐, M·R·巴内斯 申请人:赛门铁克公司

最新回复(0)