在虚拟环境中提供网络访问控制的系统和方法

文档序号:6352036阅读:209来源:国知局
专利名称:在虚拟环境中提供网络访问控制的系统和方法
在虚拟环境中提供网络访问控制的系统和方法
背景技术
组织机构的独立端点的管理状态可以在其信息技术(“IT”)基础设施和相关商业运作的整体安全性和可利用性中扮演重要角色。复杂犯罪软件的新浪潮不仅针对特定的公司,而且也以台式机和笔记本电脑作为后门入口通道进入这些公司的商业运作和有价值的资源。为了保护它们自身免受这些有目标的威胁,组织机构可能需要一种措施来保证每个端点持续地符合公司安全和配置管理策略。无法保证符合端点策略可能使组织机构易于受到大范围威胁。这些威胁可以包括整个企业中恶意代码的扩散、重要商业服务的破坏、增加IT恢复和管理成本、机密信息的曝光、公司品牌的损害、和/或由于不符合而导致的管理罚政。网络访问控制技术可以使组织机构能够在允许用户端点访问公司网络上的资源之前确保对用户端点的适当配置和安全状态,用户端点包括现场雇员、远程雇员、客户、承·包人、以及临时工人。网络访问控制技术可以发现并评估端点符合状态,提供适合的网络访问,并提供调节能力以确保端点安全策略与标准相符合。虚拟化环境可以应对企业环境中困难的安全挑战。由于虚拟机相对易于创建、克隆、存储、和移动,它们很容易与公司策略不一致(例如不具有软件和补丁级上的认证版本)。允许这类虚拟机与企业网络中的网络连接一起启动可能是不安全。因此,需要更高效的和更有效的机制来提供虚拟机环境中的网络访问控制。发明概述如以下更为详细说明的,本披露总体上涉及在虚拟环境中提供网络访问控制的多种系统及方法。本披露的实施方案可以采用各种方式来提供虚拟环境中的网络访问控制。例如在虚拟环境中提供网络访问控制的方法可以包括I)将暂态安全代理注入到在主机上运行的虚拟机中;2)从该暂态安全代理接收虚拟机是否符合一个或多个网络访问控制策略的指示;以及3)基于该虚拟机是否符合该一个或多个网络访问控制策略的指示来控制虚拟机的网络访问。在一些实施方案中,可以通过该主机上的注入模块将该暂态安全代理注入到该虚拟机中。将该暂态安全代理注入到该虚拟机中可以包括1)向该虚拟机的异常处理程序存储单元插入一个或多个计算机可执行指令,这些指令被配置用于协助从该虚拟机向该注入模块的传输控制;2)在该虚拟机的执行过程中触发一个异常以使得执行该异常处理程序存储单元中的一个或多个计算机可执行指令;3)在该至少一个计算机可执行指令执行之后,从该虚拟机获得控制;并且4)将该暂态安全代理插入到该虚拟机中。根据不同的实施方案,可以在该主机的网络访问控制模块上接收该虚拟机是否符合该一个或多个网络访问控制策略的指示。在这种实施方案中,通过进程间通信向该网络访问控制模块发送该虚拟机是否符合该一个或多个网络访问控制策略的指示。该网络访问控制模块包括一个网络通信过滤器,该网络通信过滤器基于该虚拟机是否符合该一个或多个网络访问控制策略的指示来控制该虚拟机的网络访问。在至少一个实施方案中,在远离该主机的一个网络访问控制服务器上接收该虚拟机是否符合该一个或多个网络访问控制策略的指示,并且基于该虚拟机是否符合该一个或多个网络访问控制策略的指示,该网络访问控制服务器控制该虚拟机的网络访问。根据一个或多个实施方案,该方法可以进一步包括从该虚拟机移除该暂态安全代理。当该虚拟机不再需要网络访问时可以从该虚拟机移除该暂态安全代理。作为在虚拟环境中提供网络访问控制的一个第二实例,一种方法可以包括1)在虚拟机中提供一个安全代理,该虚拟机运行在主机上;2)提供驻留在该主机上但位于该虚拟机外部的一个网络通信过滤器;3)在控制 该网络通信过滤器的一个访问控制模块上,接收该虚拟机是否符合该一个或多个网络访问控制策略的指示,该指示通过进程间通信从该安全代理发送至该访问控制模块;并且4)基于该虚拟机是否符合该一个或多个网络访问控制策略的指示,利用该网络通信过滤器来控制该虚拟机的网络访问。在一些实施方案中,在该虚拟机中提供安全代理可以包括将该代理注入到该虚拟机中。该主机上的注入模块可以将该代理注入到该虚拟机中。另外或可替代地,在该虚拟机中提供该安全代理可以包括在该虚拟机上安装代理。可以利用该虚拟机的一个安装进程将该安全代理安装在该虚拟机上。根据不同的实施方案,该符合的指示可以通过虚拟机间通信从该安全代理发送到该访问控制模块。可替代地,可以通过将该符合指示存储在该安全代理和该访问控制模块所共享的一个存储单元中将该指示从该安全代理发送到该访问控制模块。在某些实施方案中,该符合指示可以表示该虚拟机不符合该一个或多个网络访问控制策略,并且该网络通信过滤器通过阻断该虚拟机的一个或多个网络通信来控制该虚拟机的网络访问。在这种情况中,该方法可以包括校正该虚拟机以使得该虚拟机符合该一个或多个网络访问控制策略。该网络通信过滤器可以允许该虚拟机访问用于校正该虚拟机的一个或多个网络资源。作为在虚拟环境中提供网络访问控制的一个第三实例,一种方法可以包括1)识别在主机上运行的虚拟机;2)提供驻留在该主机上并位于该虚拟机外部的一个网络通信过滤器;3)利用在该主机上执行的并且位于该虚拟机外部的一个进程来检查该虚拟机的一个或多个资源以确定该虚拟机是否符合一个或多个网络访问控制策略;4)在控制该网络通信过滤器的一个访问控制模块上,接收该虚拟机是否符合该一个或多个网络访问控制策略的指示;5)基于该虚拟机是否符合该一个或多个网络访问控制策略的指示,利用该网络通信过滤器来控制该虚拟机的网络访问。来自上述任一个实施方案的多种特征可以根据在此说明的通用原理彼此相互结合使用。通过阅读以下的详细说明连同附图
和权利要求,将会更加全面地理解这些以及其他的实施方案、特征、和优点。附图简要说明附图展示了多个示例性实施方案并且是本说明书的一部分。这些附图与以下的说明共同展现并解释了本披露的不同原理。图I是在虚拟环境中提供网络访问控制的一个示例性系统的方框图。图2是通过在虚拟机中提供安全代理来提供虚拟环境中网络访问控制的一个示例性系统的方框图。图3是通过在虚拟机中提供安全代理来提供虚拟环境中网络访问控制的另一个示例性系统的方框图。图4是通过在虚拟机中提供安全代理来提供虚拟环境中网络访问控制的一个示例性方法的流程图。图5是通过安全代理和访问控制模块之间的进程间通信来提供虚拟环境中网络访问控制的一个示例性方法的流程图。图6是通过检查虚拟机资源来提供虚拟环境中网络访问控制的一个示例性系统的方框图。图7是通过检查虚拟机资源来提供虚拟环境中网络访问控制的一个示例性方法的流程图。图8是一个示例性计算系统的方框图,该计算系统能够实施在此说明和/或展示的这些实施方案中的一个或多个。 图9是一种示例性计算网络的框图,该计算网络能够实施在此说明和/或展示的这些实施方案中的一个或多个。贯穿这些附图,相同的参考字符以及描述表示相似的但并不一定完全相同的要素。虽然在此说明的这些示例性实施方案可容许进行不同的修改以及多种替代形式,在此仍在附图中以举例的方式示出多个具体的实施方案并且对其进行了详细的说明。然而,在此说明的多个示例性实施方案无意限制于所披露的这些具体形式。相反,本披露涵盖了落入所附权利要求范围内的所有修改形式、等效形式、以及替代方案。示例性实施方案的详细说明如以下更为详细说明的,本披露总体上涉及在虚拟环境中提供网络访问控制的多种系统及方法。在此描述的系统和方法可以采用各种方式来提供网络访问控制。例如,安全代理可以注入或安装到在主机上运行的虚拟机中来评估虚拟机以符合访问控制策略。安全代理可以使用进程间和/或网络通信以便与主机上和/或远程服务器上的网络访问控制系统进行通信。网络访问控制系统可以基于安全代理提供的信息利用网络通信过滤器和/或任意其他适合的机构来控制虚拟机的网络访问。在一些实施方案中,不是在虚拟机中使用安全代理,主机上的网络访问控制系统可以检查虚拟机的资源以确定是否虚拟机符合访问控制策略。以下将参考图I至3以及图6给出在虚拟环境中提供网络访问控制的示例性系统的详细描述。还将结合图4、5、和7提供相应的计算机实施方法的详细说明。另外,将结合图8和9分别地提供一种示例性计算系统和网络架构的详细说明,它们能够实施在此说明的这些实施方案中的一个或多个。图I是在虚拟环境中提供网络访问控制的示例性系统100的方框图。如图中所不,不例性系统100可以包括用于执行一项或多项任务的一个或多个模块110。例如,如以下更为详细解释的,示例性系统100可以包括代理提供模块112,该模块被编程以便通过注入、安装、或任意其他处理来提供具有网络访问控制安全代理的虚拟机,从而为虚拟机提供安全代理。示例性系统100还可以包括访问控制模块114,该模块被编程以便提供各种网络访问控制功能。换言之,访问控制模块114可以充当允许或拒绝虚拟机访问网络的门。在一些实施方案中,访问控制模块114可以在虚拟机上强制实施端点安全策略。例如,如果虚拟机不符合网络安全策略,访问控制模块114可以阻断或隔离该虚拟机访问网络和网络资源。在一些实施方案中,访问控制模块114可以在一台机器上使用网络通信过滤器,该机器托管虚拟机以控制该虚拟机的的网络访问。可替代地,访问控制模块114可以是远程访问控制服务器的一部分,该服务器控制虚拟机的网络访问。如果虚拟机与网络策略不兼容,访问控制模块114还可以执行该虚拟机的校正。在一些实施方案中,这种校正对虚拟机的用户而言可以是完全透明的。在其他实施方案中,访问控制模块114可以向用户提供校正信息以便进行手动校正。示例性系统100可以包括代理116,该代理可以实施端点评估技术,这些技术评估端点(例如虚拟机)的状态(检查是否符合策略)。例如,代理116可以针对反病毒软件、反间谍软件、安装的补丁、以及各种其他安全设置来检查虚拟机。在一些实施方案中,代理116可以测试虚拟机相对于预定义模板的完整性,从而确定是否虚拟机具有所要求的补丁级别、服务包、反病毒程序和/或定义、和/或在这种模板中所指示的防火墙状态。另外或可替代地,代理116可以使用定制创建的检查(例如,由管理员创建的策略)来确定虚拟机是否是符合网络访问控制的。 代理116可以包括能够分析虚拟机符合网络访问策略的任意类型或形式的计算机可执行代码。例如,代理116可以实施为操作系统可执行代码(例如WINDOWS, exe)或操作系统特定脚本(例如,LINUX或WINDOWS壳脚本)。在某些实施方案中,图I中模块110的一个或多个可以代表一个或多个软件应用程序或程序,这些软件应用程序或程序在由计算装置执行时可以使该计算装置执行一项或多项任务。例如,如以下更为详细描述的,模块110中的一个或多个可以代表存储的并且配置用于在一个或多个计算装置上运行的软件模块,例如图2所示的系统、图3所示系统的一个或多个、图6所示的系统、图8中的计算系统810、和/或图9中示例性网络架构900的多个部分。图I中模块110的一个或多个还可以代表被配置用于执行一项或多项任务的一个或多个专用计算机的全部或多个部分。系统100可以包括执行模块110的一个或多个的处理器120。系统100的处理器120可以包括一个或多个微处理器和/或中央处理单元,它们被配置用于执行模块110的一个或多个的一条或多条指令。例如,处理器120可以包括图8中的处理器814。如图I所示,示例性系统100还可以包括一个或多个数据库130。数据库130可以代表一个单一数据库或计算装置或多个数据库或计算装置的多个部分。在一个实施方案中,示例性系统100可以包括存储一个或多个网络访问控制策略的一个网络访问控制策略数据库132。网络访问控制策略数据库132可以包括一个或多个规则,这些规则表示所要求的反病毒软件、反间谍软件、安装的补丁、允许访问网络的用户、和/或允许虚拟机访问网络所需的各种其他安全设置。数据库130还可以包括一个校正数据库134。校正数据库134可以包括一个或多个补丁、反病毒软件定义、反间谍软件应用程序、和/或需要提供给虚拟机以便使虚拟机符合一项或多项网络访问控制策略的任意其他软件。图I中的数据库130可以代表一个或多个计算装置的一部分。例如,数据库130可以表不图2中系统200、图3中网络访问控制服务器306、图6中王机602、图8中计算系统810的一部分、和/或图9中示例性网络架构900的多个部分。可替代地,图I中数据库130可以代表能够由计算装置访问的一个或多个物理上分离的装置,例如图2中系统200、图3中网络访问控制服务器306、图6中主机602、图8中计算系统810、和/或图9中示例性网络架构900的多个部分。图I中的示例性系统100可以采用各种方式进行部署。例如,示例性系统100的全部或一部分可以代表云计算或基于网络的环境的多个部分,如图3所示的示例性系统300。云计算环境可以通过互联网提供各种服务和应用程序。这些基于云的服务(例如,软件即服务、平台即服务、基础设施即服务等等)可以通过网络浏览器或其他的远程接口进行访问。在此所述的不同功能可以通过远程桌面环境或任何其他的基于云的计算环境来提供。在其他实施方案中,示例性系统100可以在一个单一主机上实施。例如,图2展示了系统100可以如何在主机的各种虚拟机上实施。图2展示了在虚拟环境中提供网络访问控制的示例性系统200。系统200可以包括网络访问控制虚拟机210和在管理程序240上运行的用户虚拟机230。网络访问控制虚拟机210可以包括用户级212和内核级218。用户级212可以包括代理提供模块112和访 问控制模块114。如图所示,代理提供模块112可以包括代理插入模块213,可以对代理插入模块编程以执行将代理插入到虚拟机中的相关步骤中的一个或多个。代理提供模块112还可以包括代理调用模块214,可以对代理调用模块编程以执行调用虚拟机中的代理的相关步骤中的一个或多个。用户级212还可以包括校正数据库134和网络访问控制策略数据库 132。用户级212中的模块的一个或多个可以运行在域0(例如,当系统200启动时开始的第一个域)中。在一些实施方案中,用户级212中提供的模块的一个或多个可以包括一个网络访问控制服务器(例如,安全装置)。这种网络访问控制服务器可以为运行在系统200上的一个或多个虚拟机(例如用户虚拟机230)提供网络访问控制。如图2所示,用户虚拟机230可以包括用户级232和内核级238。内核级238可以包括代理116,该代理可以通过代理插入模块213注入到用户虚拟机230中。网络访问控制虚拟机210中的访问控制模块114可以与代理116进行通信以评估用户虚拟机230是否与网络访问控制策略一致。用户虚拟机230和网络访问控制虚拟机210可以运行在管理程序240上。管理程序240可以包括任意适合的虚拟软件,例如VMWARE、Oracle VM, ESX服务器、XEN、HYPER_V、LYNXSECURE、TRANGO, IBM POWER、KVM、和/或任意其他适合的管理程序。管理程序240可以包括网络通信过滤器242,该网络通信过滤器拦截、阻断、允许、修改、和/或在其他方面处理用户虚拟机230的网络包。例如,网络通信过滤器242可以监控并拦截来自网络接口(例如虚拟网络接口卡244)的通信。网络通信过滤器242可以过滤来自用户虚拟机230的网络通信,以便为用户虚拟机230提供网络访问控制。网络通信过滤器242的实例包括但不限于XEN的domO过滤器、VMARE的dvFilter、和/或HYPER-V的NDIS过滤器库。管理程序240还可以提供虚拟开关246,该虚拟开关可以包括使虚拟机(例如网络访问控制虚拟机210和用户虚拟机230)能够进行通信的逻辑切换结构。如图所示,系统200还可以包括物理网络接口卡250,该物理网络接口卡使网络访问控制虚拟机210和/或用户虚拟机230能够与外部装置进行通信。尽管图2提供了不依赖于802. Ix通信而实施的宿主网络访问控制服务器,但本披露的一些实施方案可以在具有远程网络访问控制服务器的环境中实施。例如,图3展示了远离主机302的具有网络访问控制服务器306的系统300。主机302可以包括代理提供模块112和虚拟机303。代理提供模块112可以包括代理插入模块213和代理调用模块214,而虚拟机303可以包括代理116。主机302通常代表能够读取计算机可执行指令的任意类型或形式的计算装置。主机302的实例包括(但不限于)膝上型计算机、桌上型计算机、服务器、蜂窝电话、个人数字助理(PDA)、多媒体播放器、嵌入式系统、图8中相同的示例性计算系统810的一个或多个的组合、或任意其他适当的计算装置。网络访问控制服务器306可以包括访问控制模块114、网络访问控制策略数据库132,以及校正数据库134。网络访问控制服务器306通常代表能够对端点装置实施并强制实施网络访问控制的任意类型或形式的计算装置。网络访问控制服务器306的实例包括(但不限于)被配置用于提供各种数据库服务和/或运行某些软件应用程序的应用程序服务器和数据库服务器。 主机302和网络访问控制服务器306可以在网络304上进行通信。网络304通常代表能够协助通信或数据传输的任意媒质或架构。网络304的实例包括(但不限于)内部网、广域网、局域网、个人区域网、互联网、电力线通信、蜂窝网络(例如GSM网络)、图9中的示例性网络架构900等等。网络304可以使用无线或有线连接来协助通信或数据传送。图4是在虚拟化环境中提供网络访问控制的示例性计算机实施方法400的流程图。图4中所示的步骤可以由任意适合的计算机可执行代码和/或计算系统来执行。在一些实施方案中,图4中所示步骤可以由图I的系统100、图2的系统200和/或图3的系统300中的多个组件的一个或多个来执行。在图4的步骤402中,在此描述的系统的一个或多个可以将暂态安全代理注入到在主机上运行的虚拟机中。例如,代理插入模块213可以将代理116注入到用户虚拟机230中。代理插入模块213可以采用各种方式将代理116注入到用户虚拟机230中。例如,代理插入模块213可以向用户虚拟机230的异常处理程序存储单元插入一条或多条计算机可执行指令,这些指令被配置用于协助从用户虚拟机230向代理插入模块213的传输控制。代理插入模块213可以将跳转或分支指令插入到异常处理程序单元。跳转指令可以跳转到为代理116分配内存的代码(例如,内存分配模块)并且可以向代理插入模块213传输控制以允许代理插入模块213将代理116插入到用户虚拟机230中。跳转指令还可以跳转到以任意其他适合的方式向代理插入模块213传输控制的代码。除了或替代跳转指令夕卜,被配置用于协助从用户虚拟机230向代理插入模块213传输控制的一个或多个计算机可执行指令还可以包括其他指令。代理插入模块213还可以在虚拟机230执行过程中触发一个异常以使得执行异常处理程序存储单元中的一个或多个计算机可执行指令。代理插入模块213可以采用多种方式触发异常。例如,如以下描述的,代理插入模块213可以通过插入一条指令来触发异常,该指令将异常触发到用户虚拟机230中。本披露的实施方案可以利用任意异常来实施,该异常可以使得执行程序传输到内存分配模块(或被配置用于使能代理插入的任意其他代码)已经插入到其中的单元中。例如,代理插入模块213可以将带有无效作业码的指令插入到用户虚拟机230中以产生“无效作业码”异常。当执行具有无效作业码的指令时,可以将控制传输至无效作业码被期望驻留的存储单元(即,例如异常处理程序单元这样的单元,在该单元上代理插入模块213插入了被配置用于协助从用户虚拟机230向代理插入模块213的控制传输的一个或多个计算机可执行指令)。在先前描述的计算机可执行指令在用户虚拟机230上执行后,代理插入模块213可以从虚拟机230获得控制。换言之,当代理插入模块213而非用户虚拟机230在底层物理系统上执行时,代理插入模块213可以获得控制。在一些实施方案中,代理插入模块213可以获得控制以作为在异常处理程序单元中执行计算机可执行指令的直接结果。在其他实施方案中,在异常处理程序中的指令执行之后并且在代理插入模块213获得控制之前,可以执行一个或多个步骤。例如,异常处理程序存储单元中的指令可以向所插入的内存分配模块传输控制,而内存分配模块可以协助为代理可能插入到其中的内存区域的分配内存。然后,内存分配模块可以向代理插入模块213传输控制。在从用户虚拟机230获得控制后,代理插入模块213可以将代理116插入到虚拟 机230中。例如,通过将代理116拷贝到内存分配模块所分配的用户虚拟机230的内存区域中,代理插入模块213可以将代理116插入到用户虚拟机230中。因此,部署代理116的方式可以是对用户透明的和/或不涉及用户虚拟机230的安装过程。在这种实施方案中,代理116可以称为暂态代理,因为它是由用户虚拟机230之外的进程而注入的并且不是利用传统的安装机制安装在用户虚拟机230上。因为暂态代理不可能永久安装在虚拟机上,所以暂态代理可以比永久安装的代理更不易受到攻击。将代理插入虚拟机的附加细节和实例在2009年6月3日提交的名称为“插入并调用虚拟装置代理的方法和系统(Methods and Systems for Inserting and InvokingVirtual Appliance Agents)”的美国专利申请第12/477,810号中进行了披露,该披露全文通过引用结合在此。在图4的步骤404中,在此描述的系统的一个或多个可以从暂态安全代理接收虚拟机是否符合一个或多个网络访问控制策略的指示。例如,代理116插入到用户虚拟机230后,代理调用模块214可以调用代理116以确定用户虚拟机230是否符合一个或多个网络访问控制策略。代理116可以评估用户虚拟机230是否兼容并且可以通知访问控制模块114用户虚拟机230是否符合访问控制策略。在一些实施方案中,用户虚拟机230是否符合一个或多个网络访问控制策略的指示可以通过进程间通信来发送。例如,这种指示可以通过虚拟机间进程(例如,利用任何通信机制经由虚拟开关246产生的通信)来发送。又例如,这种指示可以是利用共享的内存页面(例如,代理116和访问控制模块114都可访问的内存页面)从代理116向访问控制模块114的通信。可替代地,虚拟机是否符合一个或多个网络访问控制策略的指示可以在远离主机(例如图3所示的实施方案中的)网络访问控制服务器上接收。在图4的步骤406中,在此描述的系统的一个或多个可以基于虚拟机是否符合一个或多个网络访问策略的指示来控制对虚拟机的网络访问。在一些实施方案中,网络通信过滤器242可以控制用户虚拟机230的网络访问,如图2所示。另外或可替代地,如图3所示,网络访问控制服务器306上的访问控制模块114可以控制网络304中任意适合的点上虚拟机303的网络访问。
在一些实施方案中,暂态安全代理可以从虚拟机上移除。例如,当不再需要代理116时,代理116可以从虚拟机230和/或303移除。根据某些实施方案,在代理116评估了虚拟机的网络访问控制符合性之后和/或在任意其他适合的时间点,当虚拟机不再需要网络访问时,代理116可以从虚拟机移除。在一些实施方案中,如图4的处理过程所描述的,可以通过注入的方式来提供安全代理。另外或可替代地,安全代理可以通过安装和/或通过任意其他适合的在虚拟机中提供软件的机构来提供。图5中所示的处理过程是注入的或安装的安全代理所协助的处理过程的实例。图5是在虚拟化环境中提供网络访问控制的示例性计算机实施方法500的流程图。图5中所示的步骤可以由任何适当的计算机可执行代码和/或计算系统来执行。在一些实施方案中,图5所示的步骤可以由图I中系统100和/或图2中系统200的多个组件的一个或多个来执行。在图5的步骤502中,在此描述的系统的一个或多个可以在运行于主机上的虚拟机中提供安全代理。例如,代理插入模块213可以将代理116插入到用户虚拟机230中。可 替代地,代理提供模块112可以提示用户虚拟机230利用用户虚拟机230的一个或多个安装进程安装代理116。在这种实施方案中,访问控制模块114可以监控代理116的页面以确保代理116不被篡改。在图5的步骤504中,在此描述的系统的一个或多个可以提供网络通信过滤器,该过滤器驻留在主机上但位于虚拟机之外。例如,访问控制模块114可以提供驻留在用户虚拟机230之外的系统200上的网络通信过滤器242。当网络通信过滤器不运行在虚拟机的可寻址地址空间中时,网络通信过滤器可以说位于虚拟机之外。例如,在主机的管理程序或任意其他域O进程中提供的网络通信过滤器可以说是位于虚拟机之外并驻留在主机上。在图5的步骤506中,在此描述的系统的一个或多个可以在控制网络通信过滤器的访问控制模块上接收虚拟机是否符合一个或多个网络访问控制策略的指示。例如,访问控制模块114可以从代理116接收信息,该信息表示用户虚拟机230是否符合一个或多个网络访问控制策略。这种信息可以通过进程间通信来发送。如本文所用的,短语“进程间通信”通常是指在主系统上的两个进程之间的任意通信和/或经由任意其他在两个软件模块之间传输信息的机制产生的任意通信。如先前所提,进程间通信可以利用共享内存、虚拟机间通信、和/或任意其他适合的模块间通信机制(例如网络堆栈)来实施。在图5的步骤508中,基于虚拟机是否于符合一个或多个网络访问控制策略的指示,在此描述的系统的一个或多个可以使用网络通信过滤器来控制虚拟机的网络访问。例如,基于用户虚拟机230是否符合一个或多个网络访问控制策略的指示,访问控制模块114可以使用网络通信过滤器242来控制用户虚拟机230的网络访问。如果该指示表示用户虚拟机230不符合一个或多个网络访问控制策略,网络通信过滤器242可以阻断用户虚拟机230的一个或多个网络通信。在一些实施方案中,访问控制模块114可以试图校正虚拟机以便使虚拟机符合网络访问控制策略。在这种实施方案中,网络通信过滤器242可以允许虚拟机230访问用来校正虚拟机的一个或多个网络资源。例如,网络通信过滤器242可以允许用户虚拟机230连接到提供最新认证软件和补丁的隔离服务器。类似地,在确定用户虚拟机230是否符合网络访问控制策略之前,网络通信过滤器242还可以允许用户虚拟机230使用动态主机配置协议(“DHCP”)、轻量目录访问协议(“LDAP”)、和/或动态目录技术。相对于图2至5的讨论提供了利用虚拟机代理来提供虚拟机的网络访问控制的实例。相对于图6和7的讨论提供了在虚拟环境中的无代理网络访问控制的实例。图6展示了示例性主机602,该示例性主机包括访问控制模块114、网络通信过滤器242、代理提供模块112、网络访问控制策略数据库132、以及检查模块604。可以对检查模块604进行编程以检查虚拟机的资源,从而确定虚拟机是否符合网络访问控制策略。主机602通常代表能够读取计算机可执行指令的任意类型或形式的计算装置。主机602的实例包括(但不限于)膝上型计算机、桌上型计算机、服务器、蜂窝电话、个人数字助 理(PDA)、多媒体播放器、嵌入式系统、图8中相同的示例性计算系统810的一个或多个的组合、或任意其他适当的计算装置。可以对主机602编程以运行一个或多个虚拟机,例如虚拟机610。虚拟机610的资源可以包括虚拟机磁盘空间612和虚拟机内存空间614。图7是在虚拟化环境中提供网络访问控制的示例性计算机实施方法700的流程图。图7中所示的步骤可以由任何适合的计算机可执行代码和/或计算系统来执行。在一些实施方案中,图7中所示的步骤可以通过图I的系统100和/或图6的系统600中的多个组件的一个或多个来执行。在图7的步骤702中,在此描述的系统的一个或多个可以识别在主机上运行的虚拟机。例如,访问控制模块114可以识别在主机602上运行的虚拟机610。访问控制模块114可以在各种环境中识别虚拟机610。例如,当虚拟机610启动时,当虚拟机610试图在网络上通信时,并且/或者在任意其他适合的时候,访问控制模块114可以识别虚拟机610。在图7的步骤704中,在此描述的系统的一个或多个可以提供网络通信过滤器,该过滤器驻留在主机上并且位于虚拟机之外。例如,主机602可以包括被配置用于控制虚拟机610的通信的网络通信过滤器242。在图7的步骤706中,在此描述的系统的一个或多个可以利用在主机上执行的并且位于虚拟机之外的进程来检查虚拟机上的一个或多个资源以确定虚拟机是否符合一个或多个网络访问控制策略。例如,检查模块604可以检查虚拟机610以确定虚拟机610是否符合一个或多个网络访问控制策略。当检查模块可以完全在虚拟机外部运行时,检查模块604还可以暂时运行在虚拟机610的内部。检查模块604可以检查虚拟机610的任何资源以便确定虚拟机610是否符合一个或多个网络访问控制策略。例如,检查模块604可以检查虚拟机610的虚拟机磁盘空间612(例如磁盘块)和/或虚拟机内存空间614 (例如,内存页面)以确定虚拟机610是否符合网络访问控制策略。在这种实施方案中,检查模块604可以基于虚拟机610的资源的检查来重构虚拟机610的操作系统和/或文件系统数据结构。检查模块604可以评估重构的操作系统和/或文件系统数据结构以确定虚拟机610是否是网络访问控制符合的。例如,检查模块604可以检查虚拟机610的虚拟磁盘空间612以确定虚拟机610是否具有已安装的适合的反病毒和/或其他安全软件。又例如,检查模块604可以检查虚拟机610中的虚拟机磁盘空间612以确定虚拟机610是否已经被恶意软件所危及。在图7的步骤708中,在此描述的系统的一个或多个可以接收虚拟机是否符合一个或多个网络访问控制策略的指示。例如,访问控制模块114可以从检查模块604接收虚拟机610是否符合网络访问控制策略数据库132所定义的网络访问控制策略的指示。在图7的步骤710中,基于虚拟机是否符合一个或多个网络访问控制策略的指示,在此描述的系统的一个或多个使用网络通信过滤器来控制虚拟机的网络访问。例如,基于虚拟机610是否符合网络访问控制策略,访问控制模块114可以使用网络通信过滤器242来阻断和/或允许来自虚拟机610的通信。图8是一个示例性计算系统810的方框图,该系统能够实施在此说明和/或展示的实施方案中的一个或多个。计算系统810广义上代表能够执行计算机可读指令的任何单处理器或多处理器的计算装置或系统。计算系统810的实例包括但不限于工作站、膝上型计算机、客户侧终端、服务器、分布式计算系统、手持装置、或任何其他计算系统或装置。在其最基本的配置中,计算系统810可以包括至少一个处理器814以及一个系统内存816。处理器814总体上代表能够处理数据或解释并执行多个指令的任何类型或形式的处理单元。在某些实施方案中,处理器814可以从一个软件应用程序或模块中接收指令。这些指令可以使处理器814执行在此所说明和/或展示的示例性实施方案中的一个或多个·的功能。例如,处理器814可以单独地或与其他元件相结合来执行和/或作为一种手段来执行在此描述的注入、接收、控制、插入、触发、获取、移除、提供、使用、校正、识别、和/或检查步骤中的一个或多个。处理器814还可以执行和/或作为一种手段来执行在此说明和/或展示的任何其他步骤、方法、或过程。系统内存816总体上代表能够存储数据和/或其他计算机可读指令的任何类型或形式的易失性或非易失性存储装置或媒质。系统内存816的实例包括(但不限于)随机存取存储器(RAM)、只读存储器(ROM)、闪存、或任何其他适当的存储装置。尽管未作要求,在某些实施方案中计算系统810可以既包括一个易失性内存单元(例如像系统内存816)又包括一个非易失性存储装置(例如像以下详细说明的主存储装置832)。在一个实例中,图I模块110中的一个或多个可以载入到系统内存816中。在某些实施方案中,除了处理器814和系统内存816外,示例性计算系统810还可以包括一个或多个组件或元件。例如,如图8所示,计算系统810可以包括一个内存控制器818、一个输入/输出(I/O)控制器820、以及一个通信接口 822,它们中的每一个可以通过一个通信基础设施812相互连接。通信基础设施812总体上代表能够协助在计算装置的一个或多个组件之间进行通信的任意类型或形式的基础设施。通信基础设施812的实例包括但不限于通信总线(例如ISA、PCI、PCIe、或类似总线)和网络。内存控制器818总体上代表在计算系统810的一个或多个组件之间操作内存或数据或者控制通信的任意类型或形式的装置。例如,在某些实施方案中,内存控制器818可以通过通信基础设施812控制处理器814、系统内存816以及I/O控制器820之间的通信。在某些实施方案中,内存控制器818可以独立地或与其他元件相结合地执行和/或作为一种手段执行在此描述和/或展示的多个步骤或特征中的一个或多个,例如注入、接收、控制、插入、触发、获取、移除、提供、使用、校正、识别、和/或检查。I/O控制器820总体上代表能够协调和/或控制一种计算装置的输入和输出功能的任何类型或形式的模块。例如,在某些实施方案中,I/o控制器820可以控制或协助计算系统810的一个或多个元件之间的数据传输,例如处理器814、系统内存816、通信接口 822、显示适配器826、输入接口 830以及存储器接口 834。例如,I/O控制器820可以独立地或结合其他元件执行和/或作为一种手段执行在此描述的注入、接收、控制、插入、触发、获取、移除、提供、使用、校正、识别、和/或检查步骤中的一个或多个。I/o控制器820还可用于执行和/或作为一种手段用于执行本披露中提出的其他步骤和特征。通信接口 822广义地代表能够协助示例性计算系统810与一个或多个附加装置之间进行通信的任何类型或形式的通信装置或适配器。例如,在某些实施方案中,通信接口822可以协助计算系统810与包括多个附加计算系统的私有或公共网络之间的通信。通信接口 822的实例包括但不限于有线网络接口(例如网络接口卡)、无线网络接口(例如无线网络接口卡)、调制解调器、以及任何其他适当的接口。在至少一个实施方案中,通信接口 822可通过到网络(如互联网)的直接链接来提供到一台远程服务器的直接连接。通信接口 822还可以间接地提供这种连接,例如通过局域网(如以太网)、个人局域网、电话或缆线网、蜂窝电话连接、卫星数据连接、或任何其他适当的连接。在某些实施方案中,通信接口 822还可以代表一种主机适配器,该主机适配器被配置为用于通过一条外部总线或通信信道协助计算系统810与一个或多个附加网络或存 储装置之间的通信。主机适配器的实例包括但不限于SCSI主机适配器、USB主机适配器、IEEE 1394主机适配器、SATA和eSATA主机适配器、ATA和PATA主机适配器、光纤通道接口适配器、以太网适配器等。通信接口 822还可以允许计算系统810参与分布式计算或远程计算。例如,通信接口 822可以从一个远程装置接收指令或向其发送指令用于执行。在某些实施方案中,通信接口 822可以独立地或与其他元件相结合地执行和/或作为一种手段执行在此披露的注入、接收、控制、插入、触发、获取、移除、提供、使用、校正、识别、和/或检查步骤中的一个或多个。通信接口 822还可以用于执行和/或作为一种手段用于执行本披露中提出的其他步骤和特征。如图8所示,计算系统810还可以包括通过显示适配器826连接至通信基础设施812的至少一个显示装置824。显示装置824总体上代表能够可视地呈现显示适配器826所转发的显示信息的任意类型或形式的装置。相似地,显示适配器826总体上代表任意类型或形式的装置,这些装置被配置用于从通信基础设施812 (或从本领域已知的帧缓冲器)转发图形、文本以及其他数据以便显示在显示装置824上。如图8所示,示例性计算系统810还可以包括通过输入接口 830连接至通信基础设施812的至少一个输入装置828。输入装置828总体上代表能够向示例性计算系统810提供计算机或人员生成的输入的任意类型或形式的输入装置。输入装置828的实例包括但不限于键盘、指向装置、语音识别装置、或任意其他输入装置。在至少一个实施方案中,输入装置828可以独立地或结合其他元件执行和/或作为一种手段执行在此披露的注入、接收、控制、插入、触发、获取、移除、提供、使用、校正、识别、和/或检查步骤中的一个或多个。输入装置828还可以用于执行和/或作为一种手段来执行本披露中提出的其他步骤和特征。如图6所示,示例性计算系统810还包括通过存储接口 834连接至通信基础设施812的一个主存储装置832和一个备份存储装置833。存储装置832和833总体上代表能够存储数据和/或其他计算机可读指令的任意类型或形式的存储装置或媒质。例如,存储装置832与833可以是磁盘驱动器(例如,所谓的硬盘驱动器)、软盘驱动器、磁带驱动器、光盘驱动器、闪存驱动器、或者类似装置。存储接口 834总体上代表用于在存储装置832和833以及计算系统810的其他组件之间传输数据的任意类型或形式的接口或装置。在一个实例中,图I的文件归属数据库130可以存储在主存储装置832中。在某些实施方案中,存储装置832和833可以被配置为用于读取自和/或写入到一个可移动存储单元,该可移动存储单元被配置用于存储计算机软件、数据、或其他计算机可读信息。适合的可移动存储单元的实例包括但不限于软盘、磁带、光盘、闪存装置等等。存储装置832和833还可以包括其他类似的结构或装置,以允许计算机软件、数据、或其他计算机可读指令下载到计算系统810中。例如,存储装置832和833可以被配置用于读或写软件、数据、或其他计算机可读信息。存储装置832和833还可以作为计算系统810的一部分或可以是通过其他接口系统访问的一个独立装置。在某些实施方案中,存储装置832和833可以用于例如独立地或结合其他元件执行和/或作为一种手段执行在此披露的注入、接收、控制、插入、触发、获取、移除、提供、使用、校正、识别、和/或检查步骤中的一个或多个。存储 装置832和833还可以被用于执行和/或作为一种手段用于执行本披露提出的其他步骤和特征。很多其他装置或子系统可以连接至计算系统810上。相反地,为了实施在此描述和/或展示的实施方案,不需要图8中所示的所有组件和装置。以上提到的这些装置和子系统还能够以不同于图8中所示的方式进行相互连接。计算系统810还可使用任何数目的软件、固件、和/或硬件的配置。例如,在此披露的示例性实施方案中的一个或多个可以被编码为一种计算机可读媒质上的计算机程序(还称为计算机软件、软件应用程序、计算机可读指令、或计算机控制逻辑)。短语“计算机可读媒质”总体上是指能够存储或携带计算机可读指令的任何形式的装置、载体、或媒质。计算机可读媒质的实例包括但不限于传输型媒质,如载波,以及物理媒质,如磁性存储媒质(例如,硬盘驱动器和软盘驱动器)、光存储媒质(例如,CD-ROM或DVD-ROM)、电子存储媒质(例如,固态驱动器和闪存媒质)、以及其他分布式系统。包含计算机程序的计算机可读媒质可以载入到计算系统810中。存储在计算机可读媒质上的所有或部分计算机程序然后可以存储在系统内存816和/或存储装置832和833的不同部分上。当由处理器814执行时,载入到计算系统810中的计算机程序可以使处理器814执行和/或作为一种手段执行在此描述和/或展示的示例性实施方案中的一个或多个的功能。另外地或可替代地,在此所说明和/或展示的示例性实施方案中的一个或多个可以在固件和/或硬件中实施。例如,计算系统810可被配置用作一种专用集成电路(ASIC),它被适配为用于实施在此所披露的这些示例性实施方案中的一个或多个。图9是示例性网络结构体系900的方框图,其中客户端系统910、920和930以及服务器940和945可以连接至网络950。客户端系统910、920和930总体上代表任意类型或形式的计算装置或系统,例如图8中的示例性计算系统810。在一个实例中,客户系统910可以包括图I的系统100。类似地,服务器940和945总体上代表被配置为用于提供不同的数据库服务和/或运行某种软件应用程序的计算装置或系统,例如应用程序服务器或数据库服务器。网络950总体上代表任何电信或计算机网络,例如,它包括内部网、广域网(WAN)、局域网(LAN)、个人区域网(PAN)、或互联网。如图9所示,一个或多个存储装置960(1)-(N)可以直接附接至服务器940。类似地,一个或多个存储装置970 (I)-(N)可以直接附接至服务器945。存储装置960 (I) - (N)和存储装置970 (I)-(N)总体上代表能够存储数据和/或其他计算机可读指令的任意类型或形式的存储装置或媒质。在某些实施方案中,存储装置960 (I)-(N)和存储装置970 (I)-(N)可代表被配置为用于使用不同协议(例如NFS、SMB、或CIFS)来与服务器940和945进行通信的网络附联存储(NAS )装置。
服务器940和945还可以连接至存储区域网络(SAN)结构980。SAN结构980总体上代表能够协助多个存储装置之间通信的任意类型或形式的计算机网络或体系结构。SAN结构980可以协助服务器940和945与多个存储装置990 (I)-(N)和/或一个智能存储器阵列995之间的通信。SAN结构980还可以通过网络950和服务器940和945协助客户端系统910、920和930与存储装置990 (I)-(N)和/或智能存储器阵列995之间的通信,其方式为装置990 (I) - (N)和阵列995对客户端系统910、920和930呈现为本地附接的装置。与存储装置960 (I)-(N)和存储装置970 (I)-(N) —样,存储装置990 (I) - (N)和存储阵列995总体上代表能够存储数据和/或其他计算机可读指令的任意类型或形式的存储装置或媒质。
在某些实施方案中,参考图8的示例性计算系统810,通信接口(例如,图8中的通信接口 822)可用于在每一个客户端系统910、920和930以及网络950之间提供连接性。客户端系统910、920和930能够利用例如网络浏览器或其他客户端软件来访问服务器940和945上的信息。这种软件可以允许客户端系统910、920和930访问由服务器940、服务器945、存储装置960 (I)-(N)、存储装置970 (I)-(N)、存储装置990 (I)-(N)、或智能存储器阵列995管理的数据。尽管图9描绘了使用网络(例如互联网)交换数据,但在此描述和/或展示的实施方案不限于互联网或任意具体的基于网络的环境。在至少一个实施方案中,在此披露的示例性实施方案中的一个或多个的全部或一部分可被编码为一种计算机程序并且由服务器940、服务器945、存储装置960 (I)-(N)、存储装置970 (I)-(N)、存储装置990 (I)-(N)、智能存储阵列995、或它们中的任意组合加载并执行。在此披露的多个示例性实施方案的一个或多个的全部或一部分还可以被编码为计算机程序,存储在服务器940中,由服务器945运行,并在网络950上分发给客户端系统910、920和930。因此,网络体系架构900可以独立地或与其他元件相结合地执行和/或作为一种手段执行在此描述的注入、接收、控制、插入、触发、获取、移除、提供、使用、校正、识别、和/或检查步骤中的一个或多个。网络体系结构900还可以用于执行和/或作为一种手段来执行本披露中提出的其他步骤和特征。如以上所述,计算系统810和/或网络体系结构900的一个或者多个组件可以单独地或与其他元件相结合地执行和/或作为一种手段来执行一种用于在相关计算系统之间共享计算操作的结果的示例性方法的一个或多个步骤。虽然以上披露使用了多个具体的框图、流程图、以及实例阐明了不同的实施方案,在此说明和/或展示的每个框图部件、流程图步骤、操作、和/或部件都可以单独地和/或共同地使用一个大范围的硬件、软件、或者固件(或者它们的任何组合)配置来实施。另外,在其他部件之中所包括的任何部件的披露都应该看作本质上是示例性的,因为可以实施许多其他的体系结构来达到同样的功能。在此说明和/或展示的进程的参数以及步骤的顺序仅仅是以举例的方式给出并且可以按希望来更改。例如,虽然在此展示和/或说明的这些步骤可以按照一个具体的顺序来示出或讨论,但这些步骤并非必须按照所展示或者所讨论的顺序来执行。在此说明和/或展示的不同的示例性方法还可以省略在此说明或展示的一个或者多个步骤或者还可以包括除所披露的那些之外的额外步骤。虽然不同的实施方案在此已经在全功能性计算系统的背景下进行了说明和/或展示,这些示例性实施方案中的一个或者多个能够以多种形式作为一个程序产品来分发,而无论实际用于进行该分发的计算机可读媒质的具体形式如何。在此披露的这些实施方案还可以通过使用执行一些特定任务的软件模块来实施。这些软件模块可以包括脚本、成批文件、或者其他可执行文件,它们可以存储在一种计算机可读的存储媒质上或者在一种计算系统中。在一些实施方案中,这些软件模块可以将一个计算 系统配置用于实施在此披露的一个或者多个示例性的实施方案。另外,在此所述的这些模块中的一个或多个可以将数据、物理装置、和/或物理装置的表示从一种形式转换到另一种形式。例如,在此披露的模块的一个或多个可以通过利用网络通信过滤器来过滤一个主装置上的虚拟机的通信来将该主装置转换为网络访问控制服务器。已经提供了以上说明用于使本领域的其他普通技术人员能够最好地使用在此披露的这些示例性实施方案的不同方面。这种示例性说明并非旨在是穷尽性的或者被限制在所披露的任何准确的形式上。许多修改与变更都是可能的而不背离本披露的精神与范围。应该认为在此披露的这些实施方案在所有方面都是展示性的而非限制性的。应该参照所附权利要求及其等效物来确定本披露的范围。除非另外说明,如在本说明书与权利要求中所使用的,术语“一种”或“一个”将被解释为“至少一个”的意思。此外,为便于使用,如在本说明书以及权利要求中所使用的文字“包含”和“具有”是可以互换的并且具有与文字“包括”相同的含义。
权利要求
1.一种在虚拟环境中提供网络访问控制的计算机实施的方法,该方法的至少一部分由包括至少一个处理器的计算装置来执行的,该方法包括 将暂态安全代理注入到运行在主机上的虚拟机中; 从该暂态安全代理接收该虚拟机是否符合一个或多个网络访问控制策略的指示;基于该虚拟机是否符合一个或多个网络访问控制策略的指示来控制该虚拟机的网络访问。
2.如权利要求I所述的方法,其中 通过该主机上的注入模块将该暂态安全代理注入到该虚拟机中。
3.如权利要求2所述的方法,其中将该暂态安全代理注入到该虚拟机中包括 向该虚拟机的异常处理程序存储单元插入一个或多个计算机可执行指令,这些指令被配置用于协助从该虚拟机向该注入模块的传输控制; 在该虚拟机的执行过程中触发一个异常以使得执行该异常处理程序存储单元中的一个或多个计算机可执行指令; 在该至少一个计算机可执行指令执行之后,从该虚拟机获得控制; 将该暂态安全代理插入到该虚拟机中。
4.如权利要求I所述的方法,其中 在该主机的网络访问控制模块上接收该虚拟机是否符合该一个或多个网络访问控制策略的指示; 通过进程间通信向该网络访问控制模块发送该虚拟机是否符合该一个或多个网络访问控制策略的指示; 该网络访问控制模块包括一个网络通信过滤器,该网络通信过滤器基于该虚拟机是否符合该一个或多个网络访问控制策略的指示来控制该虚拟机的网络访问。
5.如权利要求I所述的方法,其中 在远离该主机的一个网络访问控制服务器上接收该虚拟机是否符合该一个或多个网络访问控制策略的指示; 基于该虚拟机是否符合该一个或多个网络访问控制策略的指示,该网络访问控制服务器控制该虚拟机的网络访问。
6.如权利要求I所述的方法,进一步包括 从该虚拟机移除该暂态安全代理。
7.如权利要求6所述的方法,其中 当该虚拟机不再需要网络访问时从该虚拟机移除该暂态安全代理。
8.如权利要求I所述的方法,具体地实施为在至少一个计算机可读存储媒质上的计算机可执行指令。
9.一种在虚拟环境中提供网络访问控制的计算机实施的方法,该方法的至少一部分由包括至少一个处理器的计算装置来执行的,该方法包括 在运行于主机上的虚拟机中提供一个安全代理; 提供驻留在该主机上但位于该虚拟机外部的一个网络通信过滤器; 在控制该网络通信过滤器的一个访问控制模块上,接收该虚拟机是否符合一个或多个网络访问控制策略的指示,该指示通过进程间通信从该安全代理发送至该访问控制模块;基于该虚拟机是否符合该一个或多个网络访问控制策略的指示,利用该网络通信过滤器来控制该虚拟机的网络访问。
10.如权利要求9所述的方法,其中 在该虚拟机中提供该安全代理包括将该安全代理注入到该虚拟机中; 该主机上的注入模块将该安全代理注入到该虚拟机中。
11.如权利要求9所述的方法,其中 在该虚拟机中提供该安全代理包括在该虚拟机上安装该安全代理; 利用该虚拟机的安装进程在该虚拟机上安装该安全代理。
12.如权利要求9所述的方法,其中 该指示通过虚拟机间通信从该安全代理发送到该访问控制模块。
13.如权利要求9所述的方法,其中 通过将该指示存储在该安全代理和该访问控制模块所共享的一个存储单元中而将该指示从该安全代理发送到该访问控制模块。
14.如权利要求9所述的方法,其中 该指示表示该虚拟机不符合该一个或多个网络访问控制策略; 该网络通信过滤器通过阻断该虚拟机的一个或多个网络通信来控制该虚拟机的网络访问。
15.如权利要求14所述的方法,进一步包括 校正该虚拟机以使得该虚拟机符合该一个或多个网络访问控制策略,其中该网络通信过滤器允许该虚拟机访问用于校正该虚拟机的一个或多个网络资源。
16.如权利要求9所述的方法,具体地实施为在至少一个计算机可读存储媒质上的计算机可执行指令。
17.一种在虚拟环境中提供网络访问控制的计算机实施的方法,该方法的至少一部分由包括至少一个处理器的计算装置来执行的,该方法包括 识别在主机上运行的虚拟机; 提供驻留在该主机上并位于该虚拟机外部的一个网络通信过滤器; 利用在该主机上执行的并且位于该虚拟机外部的一个进程来检查该虚拟机的一个或多个资源以确定该虚拟机是否符合一个或多个网络访问控制策略; 在控制该网络通信过滤器的一个访问控制模块上,接收该虚拟机是否符合该一个或多个网络访问控制策略的指示; 基于该虚拟机是否符合该一个或多个网络访问控制策略的指示,利用该网络通信过滤器来控制该虚拟机的网络访问。
18.如权利要求17所述的方法,其中 检查该虚拟机的一个或多个资源包括读取该虚拟机的磁盘空间和内存。
19.如权利要求17所述的方法,其中 该指示表示该虚拟机不符合该一个或多个网络访问控制策略; 该网络通信过滤器通过阻断该虚拟机的一个或多个网络通信来控制该虚拟机的网络访问。
20.如权利要求17所述的方法,具体地实施为在至少一个计算机可读存储媒质上的计算机可执行指令 。
全文摘要
一种在虚拟环境中提供网络访问控制的计算机实施的方法。该方法可以包括1)将暂态安全代理注入到在主机上运行的虚拟机中;2)从该暂态安全代理接收该虚拟机是否符合一个或多个网络访问控制策略的指示;以及3)基于该虚拟机是否符合该一个或多个网络访问控制策略的指示来控制该虚拟机的网络访问。在此还披露了不同的其他的方法、系统、以及计算机可读媒质。
文档编号G06F21/00GK102792307SQ201080065081
公开日2012年11月21日 申请日期2010年12月28日 优先权日2010年3月15日
发明者B·蒙塔古, M·柯诺瓦, S·索内 申请人:赛门铁克公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1