如何确保VMware VCenter Server的安全?

2008-12-16    | |
打印本文章
RSS

导读:使用高强度的vCenter数据库密码和重新设置Active Directory控制以确保vCenter的安全。

关键词:vCenter 数据库 Active Directory 安全

正在加载数据... 【TechTarget中国原创】确保VMware VCenter Server的安全是非常重要的,这是因为VMware VCenter Server(从前叫做Virtual Center)对其管理的所有虚拟机拥有完全的访问控制权限。你可能已经采取一定的手段防止非授权用户登录VCenter,但是有两个方面可能被许多系统管理员所忽略。VCenter有两个非常重要的集成组件:存储VCenter配置数据的数据库和认证用户身份的Active Directory。如果这两个组件没有得到很好保护的话,恶意用户就可以通过这两个组件取得对你工作平台环境的访问控制权限。

【TechTarget中国原创】确保VMware VCenter Server的安全是非常重要的,这是因为VMware VCenter Server(从前叫做Virtual Center)对其管理的所有虚拟机拥有完全的访问控制权限。你可能已经采取一定的手段防止非授权用户登录VCenter,但是有两个方面可能被许多系统管理员所忽略。VCenter有两个非常重要的集成组件:存储VCenter配置数据的数据库和认证用户身份的Active Directory。如果这两个组件没有得到很好保护的话,恶意用户就可以通过这两个组件取得对你工作平台环境的访问控制权限。

  保护VCenter  Server数据库

  VCenter数据库是存放配置数据和其它数据的地方,其中包括角色、许可权、事件、任务、性能数据、数据中心信息、集群信息、资源池信息以及其它更多信息。

  如果使用SQL 工具连接SQL服务器数据库,并且查看VCenter数据库的话,你就会看到许多VCenter使用的表。这些表中有许多都是以VPX开头的。VPX_ACCESS表用来存放对VCenter的访问控制信息,主要由以下几列组成:ID、PRINCIPAL、ROLE_ID、ENTITY_ID和FLAG。如果我们输入一个简单的SQL查询语句,就可以看到这个表中主要包含的信息:

  Select * from vpx_access

  结果类似于这样:

VCenter Server

  让我们看一下表中的各列数据以及这些数据所代表的含义:

  • ID是表中的唯一标识符,用来标识表中的每一条记录
  • Principal是本地或者域用户或用户组的名字,在域用户和群组的前面有一个“\”(如ACME\TJones)
  • ROLE_ID是VPC_ROLE表中定义的角色所对应的ID。VPC_ROLE表包括ID和与其对应的角色。-1表示是管理员身份,管理员角色不可能从VCenter中删除,否则就也就不会在数据库中。VCenter中的另外一些角色,如DataCenterAdministrator的ID是2、VirtualMachine用户的ID是5;
  • Entity_ID是VPX_ENTITY表中定义的客体所对应的ID。VPX_ENTITY表中包括实体和与其对应的ID。VCenter内的所有实体都有一个唯一的ID,这些实体对象包括虚拟机、主机、集群、资源池和数据中心。ID 1用来标识较高级别的实体,如主机、集群。
  • Flag用来标识Principal表示的是一个用户还是一个群组。Flag为3表示principal是一个群组,Flag为1表示principal是一个用户。

  在我们知道这些数据代表的含义之后,就可以详细阐述VPX_ACCESS表中所返回的数据,如下:

  • 本地Windows群组管理员是主机或者集群级别的管理员角色的一个成员
  • ACME Windows域的VCenter_Admins群组是主机或者集群级别管理员角色的一个成员
  • ACME Windows域的TJones用户是某个特定角色的成员,该角色对一个叫Win2000-5(在vpx_entity表中1422 = Win2000-5)的特定虚拟机来讲称之为vCenter Network (在vpx_entity表中120 = vCenterNetwork)
  • ACME Windows域的vCenter_Users群组是某个特定角色的成员,这个角色对Denver1数据中心(在vpx_entity表中21 = Denver1)来讲叫做vCenterOps(在vpx_entity表中140 = vCenterOps)

  如果某用户拥有访问数据库的权限,并且拥有一个本地Windows账号或者域账号,就可以通过如下的SQL命令给自己赋予管理员的权限,获得对较高的主机和集群级的访问控制权限:

insert into vpx_access (ID, PRINCIPAL, ROLE_ID, ENTITY_ID, FLAG) values ('100', 'ACME\JSMITH', '-1', '1', '1');
commit;

  这样做可以赋予一个名字叫JSmith(ACME\JSMITH)域用户账号(1)在高的主机和集群级别(1)上的管理员的角色(-1);输入ID 100表示当前在表中没有使用这个账号。如果SQL表更新,而VCenter没有立刻识别出更新信息的话,关闭、然后重新启动VCenter服务器就可以强制VCenter识别更新信息,并且用户此时也可以登录到VCenter服务器。

  总之一句话:通过使用强密码机制和限制对数据库的访问来保护VCenter SQL数据库。并且对于其它任何可以访问表(如MS-SQL这种的“sa”账号)的账号也需要确保使用强密码机制。另外,如果可能的话在一个特定的SQL服务器上运行VCenter数据库,尽量不要和其它用户使用共享的SQL服务器。最后,及时给SQL服务器打补丁,防止恶意用户通过一些众所周知的漏洞取得对服务器的访问控制权限。

  Active Directory和VCenter许可权

  接下来我们讨论Active Directory。默认情况下,VCenter每天验证一次所有用户和群组对VCenter中实体对象的许可权限。这样做的目的是查看用户和群组,确保他们仍然在AD中,如果没有在AD中的话就自动删除许可权限。如果在删除一个AD账号之后又创建一个同名账号,并且VCenter还没有删除原来账号对应的权限,那么这个新的账号就可以使用这个许可权限访问VCenter。因此如果一个叫MJONES的AD账号早上被删除了,并且这个账号拥有VCenter的管理员权限,几个小时后又创建了一个叫MJONES的账号,那么这个账号就拥有同样的VCenter管理员权限,因为这个账号是在vCenter每日的例行验证之前重建的。

  这种情况确实是有可能发生的,因为在VCenter中没有使用系统标识符(SIDS:System identifiers)、长字符串和或者长数字串,这些都是Windows用来唯一标识用户的。在Windows中,如果一个账号被从AD中删除了,然后重新创建了一个同名账号,那么这个账户将会有不同的SID,也就不可能拥有之前同名账户所拥有的同样的Windows许可权限。然而对于VCenter来讲,这两者就会被视为同一个账号,拥有同样的许可权限,这是因为VCenter只使用域和用户的用户名来做检查,而不使用SID。

  在VCenter中,在“Top Menu”中选择“Administration”来完成控制这类行为的设置,然后选择“VCenter Management Server Configuration”选项。在左侧的方框中选择“Active Directory”,从右侧方框就可以看到“Enable Validation”的设置,下面是验证周期(精确到分钟)。可以完全关闭这个特性,默认的时间间隔是1440分钟(一天),当然这个可以修改。如果用户注重操作环境中的安全问题的话,可以把验证周期修改为一个较低的值(如120分钟)。由于这个特点可以通过自动删除不再有效的许可权限来保护VCenter,所以建议不要关闭这个属性特征。

  如上所述,在VCent中还有需要格外注意的区域,用户确保已经了解这些区域并且恰当地保护这些区域。其中保护数据库是关键问题,另外保证及时阻止非法访问是保护VCenter服务器不受未授权入侵的关键。

查看全文
 
当你决定虚拟化时,你绝对不会以牺牲性能为代价。但是如果没有注意到一些基本的最佳做法,VMware虚拟机性能容易受到影响。本文将提供十种方法以确保虚拟架构执行得最好。
 
在这篇文章中,我们会介绍怎样通过调整磁盘分区来提高Windows类型虚拟机的整体性能,并将此VM制成模版。然后,它可以用来建立其他经过适当调整以及性能增强VM(虚拟机)。
 
在本文的上半部分中,我们解释了为什么要调整磁盘分区,在这部分中,我们将继续介绍调整分区的步骤。如何创建启动盘的WinPE 2.0?
 
VMware Workstation在网络配置方面难以掌握。Virtual Network Editor(虚拟网络编辑器)是一个有价值的工具,该如何使用呢?
 
今年,VMware将发布比以往更多的产品。这些产品多数填补了以前的空白,有些产品旨在帮助使用第三方产品。这就提出了以下疑问……
虚拟化部署项目包括几个阶段和重大的规划,以满足IT现有的技术环境。如果执行得正确,虚拟化部署的这些阶段能帮助你评估和测量现有的技术资产,并决定你的虚拟化需求。本手册将介绍虚拟化项目实施过程中的三大阶段,教您如何正确执行以便获得成功。
在之前的专题“虚拟桌面基础架构VDI”以及“桌面虚拟化VDI实施流程指导手册”中,我们学习了VDI的定义以及实施流程。在本专题中,我们主要学习VDI的使用情况,需要注意的事项及技巧。
什么是VMware vSphere?它主要有哪些新功能?如果升级到vSphere,硬件要求是什么?如何创建VMware vSphere子操作系统?VMware vSphere的亮点究竟在哪里?  2009年4月21日,VMware公司宣布推出新一代虚拟化平台VMware vSphere。这是VMware继三年前发布VMware ESX之后的又一重大举措。在本期技术手册中,我们将详细介绍VMware vSphere,从下面几个方面进行探讨……
最新更新
专家答疑
技巧
吴炫国
能否简单介绍一下Hyper-V的远程控制台功能?我不太清楚如何实现远程管理的功能,许多时候会出现RPC错误。我的环境是公网。
Serdar Yegulalp
在主机物理磁盘上如何排列虚拟硬盘最合适?排列虚拟硬盘的最佳方式是什么?如果你的服务器有三个驱动,宿主了两个虚拟操作系统,可以……
Scott Feuless
如果业务单位反对采用虚拟化的话,IT该怎么办?阻碍虚拟化采用的关键是什么?如何说服业务单位采用虚拟化?

登录TechTarget中国

关闭
本服务仅向TechTarget中国的会员开放,请登录或立即免费注册
登录Email
请输入您的登录Email
密码
下次自动登录