如何预防VMware虚拟机错误和安全漏洞?

日期: 2009-03-01 作者:Edward L. Haletky翻译:唐琼瑶 来源:TechTarget中国 英文

仅仅是由于你确保了运行在VMware ESX或VMware ESXi hypervisor上的操作系统的安全,这并不意味着你的虚拟机就不会出现错误和漏洞。VMware管理员也需要考虑到虚拟机和hypervisor受到影响的更多抽象的虚拟化“层”。   在本文中,TechTarget中国的特约作者Edward L. Haletky将讨论由准虚拟化驱动、普通驱动和VMware用于执行命令的工具所组成的虚拟化层。无论哪里有一个相互作用层,黑客都将开发和研究安全漏洞。

我们将在本文中学习如何控制驱动的相互作用以及如何远离VMware后门程序引起的安全风险。   hypervisor和虚拟机之间的相互作用……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

仅仅是由于你确保了运行在VMware ESX或VMware ESXi hypervisor上的操作系统的安全,这并不意味着你的虚拟机就不会出现错误和漏洞。VMware管理员也需要考虑到虚拟机和hypervisor受到影响的更多抽象的虚拟化“层”。

  在本文中,TechTarget中国的特约作者Edward L. Haletky将讨论由准虚拟化驱动、普通驱动和VMware用于执行命令的工具所组成的虚拟化层。无论哪里有一个相互作用层,黑客都将开发和研究安全漏洞。我们将在本文中学习如何控制驱动的相互作用以及如何远离VMware后门程序引起的安全风险。

  hypervisor和虚拟机之间的相互作用

  尽管准虚拟化驱动、一般驱动和VMware Tools有各种不同的威胁,每个实体都应该减少发生安全漏洞的机率。

  准虚拟化驱动:准虚拟化驱动知道它们运行在虚拟机里,也使用带外通信设备(可能是通过VMware后门程序、专用于VMware虚拟机的一个I/0端口),或者利用设备使用的虚拟化主机在用的具体代码。例如在VMware子机里,vmxnet驱动是准虚拟化的。这样的驱动能获取性能优势。VMware建议的虚拟机接口(VMI)使为Linux写入准虚拟化驱动更容易更透明。

  不过同时,错误写入的准虚拟化驱动能导致崩溃,试图避开hypervisor里的虚拟机。虽然目前不可能发生,最好在使用准虚拟化驱动之前先诊断它们。大体上只使用来自已知资源(如VMware)的准虚拟化驱动。

  普通驱动。普通驱动不知道它们运行在hypervisor上,通常需要hypervisor翻译到正在使用的下层硬件。这些驱动只与子操作系统内核交互作用,然后子操作系统内核通过普通方法与hypervisor作用。一些情况下,hypervisor不知道由驱动发送或发送到驱动的命令,并将在per-VM vmware.log里显示错误。虚拟机可能发现不到这个问题。在其他情况下能导致虚拟机崩溃。例如,VMware的hypervisor——vmkernel不执行每个SCSI指令或可用的命令。一些秘密命令能导致错误,并显示在vmware.log文件里。

  VMware后门程序。VMware后门程序能泄露版本数据,从而引起其他攻击。后门程序给了一个到hypervisor的备用路径,用于提供虚拟机与hypervisor之间的带外通信。VMware后门程序主要用在VMware Tools。不过如果你在虚拟机里创建了一些简单的设置,就能保护这个程序。

  任何用户使用都能使用VMware Tools,因此用户能发送许多通过VMware后门程序运行的VMware Tools命令。一般用户不需要访问VMware Tools以执行命令,因为VMware Tools访问在子机中应该受到管理员的限制。不幸的是,任何人都能使用VMware后门程序,并且现在不能从所有子操作系统中关闭它们。

  确保VMware后门程序的安全

  确保VMware后门程序安全的主要方式是禁用VMware的高级配置设置功能。目前的每个安全标准都建议设置所有不同独立选项的子集。下面是关于如何更改虚拟机的设置,能在Advanced Options(或者直接添加到每台虚拟机的.vmx文件里)下找到。

  ESX的DISA STIG

  • 禁止从虚拟机的远程控制台复制到workstation:isolation.tools.copy.enable => false
  • 禁止从workstation粘贴到远程虚拟机控制台:isolation.tools.paste.enable => false
  • 禁止更改屏幕分辨率和深度:isolation.tools.setguioptions.enable => false

  CISecurity ESX Benchmark

  • 禁止从虚拟机的远程控制台复制到workstation:isolation.tools.copy.enable => false
  • 禁止从workstation粘贴到远程虚拟机控制台:isolation.tools.paste.enable => false
  • 禁止更改屏幕分辨率和深度:isolation.tools.setguioptions.enable => false
  • 禁止VMware Tools作出配置更改的能力: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 Back后门的数据量。tools.setinfo.sizeLimit => 1048576
  • 禁用从穿过VMware后门程序的虚拟机里设置一些信息的功能。isolation.tools.setInfo.disable => true
  • 禁用通过虚拟硬件能连接或断开(软盘、CD-ROM和网络等)这些方面的VMware后门程序为虚拟机设置连接状态的功能。
    isolation.tools.connectable.disable => true
    isolation.tools.diskshrink.disable => true
  • 禁用虚拟机通过VMware后门程序调用diskwiper routines的功能。isolation.tools.diskwiper.disable => true

  预防措施

  取决于安全需求,所有这些选项都应该设置,因为它们确保了子机与VMware远程控制台主机之间交互的安全,也确保了子机与虚拟机、hypervisor和文件系统的交互安全。这些设置都能预防由于缺少空间而导致的hypervisor错误。

  保护VMware的后门程序非常重要,因为我在这里着重强调。最好适当地限制对工具而不是驱动的访问。同样,诸如对子机操作系统里的WindowUser Access Control (UAC)和SELinux执行强制性访问控制,这样来限制对VMware后门程序的访问。

  虚拟机的安全主要在于子机操作系统里,不过虚拟硬件的设置同样也不同。经常参照当前的指南、基准和一缆表帮助适当地保护虚拟机。

相关推荐

  • VMware快照工作原理以及如何运用

    当你更新或修复应用程序和服务器时,VMware快照无疑是你的救星。而如果你负责监管虚拟环境,你更是应该知道什么 […]

  • 配置ESXi Autostart,自动打补丁

    顾名思义,VMware ESXi Autostart能够实现自动开启、关闭ESXi服务器上的虚拟机,让虚拟机管理变得更轻松。如果运行了多个虚拟机并且给主机打补丁后需要重启主机,那么ESXi Autostart的作用就更大了,没有Autostart的话,你需要在给主机打补丁后,手动重启每个虚拟机。

  • 如何手动下载VMware Tools ISO映像?

    VMware Tools可优化vSphere基础结构中的虚拟机。虽然它通常与ESXi主机捆绑在一起,但你还是可以通过ISO映像手动安装VMware Tools。

  • 推荐一款好的虚拟主机提供商

    推荐一款好的虚拟主机提供商 推荐理由:   第一:种类多:有经济型,全能型,功能型等   […]