
确保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
结果类似于这样:
让我们看一下表中的各列数据以及这些数据所代表的含义:
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服务器不受未授权入侵的关键。
初次接触嵌入式数据库(EmbeddedDatabase)可能对这个概念总不是很清楚,它究竟与数据库服务器(DatabaseServer)有什么区别,它们又分别适用于那些应用场景呢,这是需要解决的问题。
在谈区别之前,先来个感性认识。像Oracle、Sybase、MySQL和SQLServer这些大家熟知的数据库都属于数据库服务器(当然不排除某些也提供嵌入式版本),而像SQLite、BerkeleyDB等属于嵌入式数据库。
嵌入式数据库跟数据库服务器最大的区别在于它们运行的地址空间不同。通常,数据库服务器独立地运行一个守护进程(daemon),而嵌入式数据库与应用程序运行在同一个进程。
数据库服务器的架构如下:
图中的数据库客户端通常通过数据库驱动程序如JDBC、ODBC等访问数据库服务器,数据库服务器再 *** 作数据库文件。
数据库服务是一种客户端服务器模式,客户端和服务器是完全两个独立的进程。它们可以分别位于在不同的计算机甚至网络中。客户端和服务器通过TCP/IP进行通讯。这种模式将数据与应用程序分离,便于对数据访问的控制和管理。
嵌入式数据库架构如下:
嵌入式数据库不需要数据库驱动程序,直接将数据库的库文件链接到应用程序中。应用程序通过API访问数据库,而不是TCP/IP。因此,嵌入式数据库的部署是与应用程序在一起的。比如常见的版本控制器SubVersion,它所用的嵌入式数据库就是跟应用程序放在一起的。
数据库服务器和嵌入式对比如下:
(1)数据库服务器通常允许非开发人员(DBA,数据库库管理员)对数据库进行 *** 作,而在嵌入式数据中通常只允许应用程序对其进行访问和控制。
(2)数据库服务器将数据与程序分离,便于对数据库访问的控制。而嵌入式数据库则将数据的访问控制完全交给应用程序,由应用程序来进行控制。
(3)数据库服务器需要独立的安装、部署和管理,而嵌入式数据通常和应用程序一起发布,不需要单独地部署一个数据库服务器,具有程序携带性的特点。
从上面的对比可以看出,数据库服务器和嵌入式数据库各自具有自己的特点,它们分别适用于不同的应用场景。
如果你要存储的数据的访问比较复杂,比如跨网络、复杂的访问控制策略,又需要数据库管理员经常进行管理和维护,那么数据库服务器就非常适合你。
如果你要存储的数据的访问之需要应用程序控制即可,并且基本不需要人工干预,而且需要对数据的访问简单、快速有效,那么嵌入式数据库适合你。
另外,你是否有过这样的情况:存储的数据量不是很大,如果搞个一般的数据库来感觉太浪费了,而且如果发布这个程序还非常麻烦,这时那些微小的嵌入式数据库可能非常适合你(如某些电子邮件客户端就采用的是嵌入式数据库)。
截至搭建私有云之前,我校共有5台服务器,当时这些服务器提供的是各种存储性质的服务,运行效率很低。笔者将这5台服务器中的4台安装了VMwareESXiserver50(以下简称“ESXi”),用来部署虚拟化平台、搭建私有云,另外一台安装了试用版的VMwarevCenterserver50(以下简称“vCenter”)用来测试和评估主机集中管理以及主机间虚拟机迁移和部署。这4台服务器的配置、型号不同,有2台服务器拥有单颗至强四核CPU并配备了8GB内存,另外2台服务器各自配备了2颗至强四核CPU和16GB内存。ESXi是直接安装在硬件之上的硬件虚拟化 *** 作系统,不需要先安装任何诸如Windows或者Linux之类的 *** 作系统。ESXi运行之后是字符界面,通过简单 *** 作能够设置该服务器基本的安全信息和网络信息。
使用者可以在自己的PC上使用VMware提供的vSphere管理软件来对安装ESXi的服务器进行远程管理,包括远程部署虚拟机 *** 作系统、远程虚拟机开关机以及监控服务器使用情况数据等。该软件可以安装在WindowsXP及以上版本的 *** 作系统之上。
安装好ESXi软件的服务器可以理解为一个大的资源池,从本质上符合云计算硬件的基本需求,在这个平台下,用户可以按需定制运算所需资源。在ESXi中建立虚拟机就需要自行决定虚拟机的所需资源,比如CPU的数目、内存的大小以及虚拟机的硬盘空间大小等。
vCenter服务器是试用版,为了评估测试用。vCenter不像ESXi是纯硬件虚拟化平台,它是一套需要安装在服务器版Windows *** 作系统下,以SQLServer为数据库的管理软件。如果只是评估测试版的话,vCenter只能连接三台ESXi主机,功能上受到的限制很多;非评估版本的vCenter能够无限制连接ESXi主机。把所有的ESXi主机用vCenter进行管理能够大大节省维护时间和成本。在试用进行评估期间,我们感觉使用很方便,通过vSphere连接vCenter服务器就能够对vCenter下所有ESXi服务器进行统一管理,方便维护。(在后文中,笔者称安装ESXi的物理服务器为主机,ESXi下的虚拟服务器为虚拟机
数据库升级到SQL 2008 R2 SP1版本就可以了,可以分2个步骤,先升级到SQL 2008 R2,这时的版本号为10501600,这时你可以先还原一下试试,如果可以,可以暂时不升级sp1。如果不行就继续升级到sp1,版本号为10502500。
vCenter Server 相关介绍 原创
2021-05-07 10:21:23
Jeffry Jiang
码龄3年
关注
一、什么是vCenter Server
vCenter Server是VMware vSphere虚拟化架构的核心管理组件,为ESXI主机和虚拟机提供管理服务,利用vCenter Server可以集中管理多台ESXI主机和虚拟机。
二、什么是SSO
SSO(单点登录)是身份验证和安全交互组件,主要作用是它所有基于vCenter或和vCenter有关联的组件在访问Domain之前,先访问SSO,保障了AD的安全性同时降低了用户的访问零散性,通过和类似AD或OpenLDAP的Identify Sources通信来实现身份验证。
三、什么是PSC
PSC(平台服务控制器)从VMware vSphere 60开始使用被称为基础架构控制器,正式发布后,被命名为PSC。架构体积小,但可以使用一个或多个嵌入式控制器。PSC可提供SSO能够实现的全部功能,此外,它还能够提供授权服务、证书存储服务等其他服务。PSC是一种分布式服务控制器,只关心自己的数据同步,默认情况下,平台并不存在冗余。在少于8台环境中,建议在vCenter Server上安装PSC;规模较大的环境中,VMware建议单独在服务器上安装PSC,再将vCenter Server连接到PSC服务器池。
四、SSO和PSC之间的联系
VMware vSphere 67包含PSC功能,代替了VMware vSphere 5X的SSO功能,并增加了很多新的重要服务功能。SSO随着VMware vSphere升级进行升级,而一些其他产品使用SSO作为认证源。
五、vCenter Server版本选择
针对不同环境,官方推出了两个版本,一个是Windows版本(VC),一个是Linux版本(VCSA),两个版本几乎没什么区别。Linux版本这么看是今后的趋势,推荐在生产环境中使用Linux版本。
六、vCenter Server安装要求
Windows版本内存大于登陆8G,小于8G会终止安装;
Windows版本需要为Server 2012 /2016版本,2003/2008不支持vCenter Server 67安装;
Windows版本CPU推荐使用4个或4个以上CPU;
Windows版本内存推荐配置8G或8G以上内存,低于这个要求,安装会被终止。
七、数据库介绍
71 嵌入式数据库
优点:不需要任何费用,部署vCenter Server时可以同步完成;
缺点:只能支持部超过5台ESXI主机以及50台虚拟机,数据库备份恢复麻烦;
Linux版本vCenter Server 67使用开源vPostgres嵌入式数据库可以支持500台主机或5000台虚拟机。
72 独立数据库
优点:具有完成的数据库功能,性能更好,备份恢复方便;
缺点:需要购买授权,配置较为复杂;
对于规模较大的环境中,建议使用独立的数据库。
TOP命令,不能只监控进程的CPU和内存的使用量,并且也不能看到使用量总和,还是用脚本吧,类型这样:
ps -aux|grep java|awk '{print $6}'|awk 'BEGIN{SUM0=0}{SUM0+=$1} END{print SUM0/1024}'
就可以,CPU同样。
1/检查域信任健康状况时遇到错误:错误代码:1717
出现此问题的原因是,vCenter Server 无法联系域,
如果 vCenter Server 仅属于工作组而不属于域,也可能会出现此问题,忽略就行!
2/从“过去一天”到“过去一周”的性能统计信息汇总没有在数据库中出现
LZ可以重新验证 vCenter Server55 中工作的作业,希望对您有所帮助!
以上就是关于如何确保VMware VCenter Server的安全全部的内容,包括:如何确保VMware VCenter Server的安全、vcenter6.0应该使用独立数据库还是内嵌数据库好、怎样搭建校园云平台数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)