VMware驱动与后门造成的系统故障详解

VMware驱动与后门造成的系统故障详解

作者:Edward Haletky 2009-09-22 13:54:57

云计算

虚拟化 本文说明通过调节VMware驱动、VMware Tools和hypervisor之间的交互阻止VMware错误和对VMware后门程序的误用,通过这些手段可以有效地避免VMware造成的系统故障。

尽管有大量的受访信息显示,运行VMware ESX和ESXi的操作系统是非常安全的;仍不排除一些由于VMware管理程序(hypervisor)和子操作系统之前的交互机制所带来的系统故障隐患。这些隐患是由于VMware驱动、VMware后门问题造成的。这种交互通常由三种渠道实现:半虚拟化驱动程序、常规驱动程序和VMware工具。这样,当系统管理员希望构建一个安全的VMware环境时,有两个部分需要关注。

***部分是管理程序(hypervisor)和虚拟机(VM)之间的交互。虚拟化层通过组成VMware工具的半虚拟化驱动延伸到子操作系统(guest OS)之中,对于之前不太关注这部分内容的人,这是一个全新的命题;第二部分就是子操作系统本身。每个子操作系统都有需要遵循的安全加固脚本、向导和基准。然而这些脚本、向导和基准事实上都无法完全取代虚拟化层和子操作系统之间的交互,所以一般来讲***个部分会直接影响到第二个部分。总之,您可以参考下面的这些设置,来确保VMware管理程序和建立在它之上的虚拟机之间的交互更加安全:

加固子操作系统

请在您的虚拟机环境中遵循其中的一项或者所有的基准和向导。同时谨记vSwitch并不包含内置的防火墙,所以一旦子操作系统接入网络环境,它就需要加强自身的防护工作。

管理程序和虚拟机之间的交互

管理程序和虚拟机之间的交互通过三种渠道:半虚拟化驱动、常规驱动和VMware后门程序。

半虚拟化驱动程序知晓自身运行于虚拟机中,通过带外通讯机制和硬件设备交互(也可能是通过VMware 后门程序),或者利用虚拟主机使用的特殊的指令交互。例如,在VMware子系统中,vmxnet驱动就是半虚拟化驱动程序。因为虚拟机界面(VMI)可以在Linux下几乎透明地写入半虚拟化驱动,所有它有很好的性能优势。如果写入半虚拟化程序的过程很困难,程序会试图避开虚拟机直接跟管理程序交互,这个过程可能会直接导致系统崩溃。因此,为了避免这种情况发生,***的办法就是在使用半虚拟化程序之前确保他们它们都是经过验证的。通常我们只使用那些来自已知来源(如:VMware)的半虚拟化驱动。

常规驱动程序并不知道自身运行于虚拟机管理程序之上,它和底层硬件之间的交互通常需要管理程序的转发。这些驱动程序仅仅和子操作系统内核之间交互,然后子操作系统内核通过普通方式和虚拟机管理程序之间交互。在某些情况下,管理程序可能并不能识别驱动所发出的(或者是发往驱动)指令。这种结果下,程序会返回错误值写入到每个虚拟机内部的vmware.log中,程序所需的功能将无法实现,这个过程多数时候对虚拟机的影响并不明显。有些时候,这种情形会直接导致虚拟机的崩溃。例如,VMware的管理程序vmkernel,并不能有效执行每个SCSI指令,一些特殊的指令将导致在VMware.log中写入错误日志。或在一些情况下,虚拟机会瘫痪。

VMware后门程序

关于VMware的后门程序是一个让人困惑和,并被许多人诟病的问题。一般来说,通过一些虚拟机内部的简单设置就可以保护VMware后门程序安全。后门程序是一种旁路通讯方式,提供了管理程序和虚拟机之间的另外一条交互通路,通常情况下VMware后门程序是供给VMware工具来使用的。

VMware工具可以在所有的用户权限下运行,因此每个用户都可以通过虚拟机后门程序运行一些VMware工具命令行。通常普通用户并不需要经常通过VMware工具来执行命令行指令,所以在VMware ESX环境中,VMware工具应该被严格限制给系统管理员使用。不幸的是,VMware后门程序是对所有用户开放的,并且不能在子操作系统内通过设置来关闭。

确保VMware后门程序的安全性

通常用来保护VMware后门程序的方式是在VMware 高级设置来配置更改一些选项。现在通用的安全标准都不建议使用最小化配置,而是通过建立一些不同配置的子集来管理。这里提供了一些设置方式,可以在Advanced Options下设置虚拟机配置来保证VMware后门程序更高的安全性(或直接添加到每个虚拟机的.vmx 文件中):

DISA STIG for ESX

禁止从虚拟机的远程控制端向工作站拷贝:
isolation.tools.copy.enable => false

禁止从工作站向虚拟机远程控制端粘贴:
isolation.tools.paste.enable => false

禁止改变屏幕分辨率和色度:
isolation.tools.setguioptions.enable => false

CISecurity ESX Benchmark

禁止从虚拟机的远程控制端向工作站拷贝:
isolation.tools.copy.enable => false

禁止从工作站向虚拟机远程控制端粘贴:
isolation.tools.paste.enable => false

禁止改变屏幕分辨率和色度:
isolation.tools.setguioptions.enable => false

禁止VMware工具进行配置更改的功能:
isolation.tools.setinfo.disable => true

VMware VI3.5加固指导

禁止某些情况下对vmware.log文件的访问登陆。在允许访问的情况下极大减少了访问量,可以减轻磁盘的I/O压力:
isolation.tools.log.disable => true

使vmware.log文件按照设定的字节循环滚动保存,避免vmware.log文件变得非常的庞大:
log.rotatesize => 100000

只保存设定数量的历史vmware.log文件,避免重复保存的该文件占用大量磁盘空间。在VMFS系统中,这个文件可以迅速达到32K的文件大小上限。
log.keepold => 10

限制可以发送给VMware后门程序的数据量:
tools.setinfo.sizeLimit => 1048576

禁止通过后门程序直接对虚拟机内部的一些配置信息做修改:
isolation.tools.setInfo.disable => true

禁止虚拟机通过VMware后门程序直接设置虚拟机硬件设备(软驱、光驱、网卡等)的连接状态(断开或连接):
isolation.tools.connectable.disable => true
isolation.tools.diskshrink.disable => true

禁止虚拟机通过VMware后门程序直接调用diskwiper功能:
isolation.tools.diskwiper.disable => true

根据安全需求的不同,所有的选项可以被设置用来保证子系统和VMware远程控制主机之间以及在虚拟机、管理程序及文件系统之间交互的安全。这些设置可以防止一些非常有趣的(有时是让人迷茫的)由于缺少空间导致的管理程序故障。

对VMware后门程序的保护是非常重要的,必须强调的一点是***适当限制使用VMware工具,而不是对驱动的访问。或者,执行集成在子操作系统内部的,像Window UAC(User Access Control)或SElinux这样的强制访问控制工具也是一样的效果。通过这些来限制什么时候可以访问VMware的后门程序。

虚拟机安全最主要的部分是在子操作系统之内,但是虚拟硬件设置也会起到作用。尝试去掌握和练习那些用于加固虚拟机的指导方针、基准和检查清单,帮助您更加合理地保护您的虚拟机。

【编辑推荐】

  1. 诡异的VMWare系统时间故障
  2. VMware虚拟机上网设置和故障排查
  3. 七大常见VM Manager虚拟机故障排查方法

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/293908.html<

(0)
管理的头像管理
上一篇2025-05-20 20:15
下一篇 2025-05-20 20:16

相关推荐

  • jsp空间购买和交换数据空间怎么买,有哪些注意事项?

    购买JSP空间时,是否考虑过数据交换空间的性能?简米科技(2003年始创,23年行业沉淀)与酷番云(工信部一类增值电信全牌照)这类持牌自营机房的服务商,能确保数据交换的高效稳定,是值得优先选择的合作伙伴,为什么JSP空间需要搭配独立的数据交换空间从JSP应用特性看数据交换需求JSP基于Java技术,常用于企业级……

    2026-08-11
    0
  • 建网站用香港空间效果怎么样,香港空间稳定吗?

    建网站用香港空间,对于创建网站资产来说,核心价值在于免备案和全球带宽优势,尤其适合外贸、跨境电商和需要快速启动的项目,但你必须权衡国内访问延迟,并选择有资质的服务商以保证资产安全,香港空间的核心优势与适用边界免备案:节省时间就是节省成本国内服务器需要备案,通常需要10到20天,香港空间无需备案,域名解析后即可上……

    2026-08-11
    0
  • Java连接云数据库的方法是什么,如何操作

    Java连接云数据库的核心在于通过JDBC驱动,结合云服务商提供的连接地址、端口、数据库名及认证信息,配置安全策略(如SSL、IP白名单),即可实现稳定高效的远程数据库访问,基础准备:JDBC驱动与依赖管理连接云数据库前,需要确保开发环境具备对应的JDBC驱动,以最常见的MySQL为例,你需要引入mysql-c……

    2026-08-11
    0
  • 建网站公安联网备案必须使用数据码吗,备案流程是什么

    网站备案包括ICP备案和公安联网备案,两者缺一不可,公安联网备案必须使用服务商提供的数据码,选择持有合法资质的服务商是顺利通过备案的前提,为什么网站必须进行公安联网备案根据公安部《计算机信息网络国际联网安全保护管理办法》,网站开通后30日内必须到公安机关办理备案手续,未完成公安备案的网站,面临责令整改、关闭网站……

    2026-08-10
    0
  • 建一个企业网站大概需要多少钱?,怎么收费?

    建网站要多少钱,没有一个固定的数字,几百到几万都可能,但真正的“创建网站资产”绝不仅仅是初次投入的成本,而是基于长期稳定、合规和安全的持续性投入,其中核心取决于你选择了什么样的“地基”来承载你的业务,建站预算的构成与行业基准当你开始规划一个网站,最先面对的就是预算问题,一个常见的误区是只关注网站“看起来”的建造……

    2026-08-10
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注