首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

NSX 从入门到精通

引用一位前辈的话:“在普遍的认知中,VMware 是做服务器虚拟化的,是不做前端的,只存在于数据中心,因此你很难跟你的家人亲属讲清楚 VMware 是做什么的, 而在 VMware 收购 Airwatch 后,VMware 的业务方向似乎在逐渐变化,直到 VMware 收购 VeloCloud,一切变得更加清晰”

后端:

后端以软件定义的数据中心为基石,承载任何数据中心的应用,服务于企业用户:

前端:

前端以 Airwatch 为核心,实现用户端设备的统一管理,提供统一的服务界面和一致的应用体验:

中间:

中间,是数据中心到最终用户的通道,这个通道即是网络,而为了保证传输的数据不被窃取,需要再加上安全。NSX 便是实现通道的关键。在早期 NSX 只是一个产品,名为 NSX for vSphere,也是目前 NSX 从入门到精通主讲的产品,而现在 NSX 已经成为一个家族,逐渐从数据中心走向了各个角落:

01

桌面虚拟化的网络安全

首先请大家思考一个问题,桌面虚拟化和云计算有关系吗?

个人觉得,两者最相同之处即:终极目标都是服务。

同是服务,又有些许差别:桌面虚拟化为企业各个员工提供操作系统(OS)、应用(Application)、内容(Content)和数据(Data)服务;云计算为用户提供基础架构(IaaS)、平台(PaaS)、软件(SaaS)、任意即服务(XaaS)。

同是服务,又必须有相似之处:服务的前端是用户,服务的后端是 IT 管理员。用户想要更快捷的个性化服务,IT 管理员想要在合规的前提下尽力提供快捷的服务。

而通常,个性化和合规会有一定冲突,为了解决这种冲突,需要设立一个界限:服务需要满足大部分人的需求,同时做到100%的合规,再预留一定个性化的空间。拿办公环境举例,大部分人需要的办公软件必须提供(例如Office),企业安全合规必须满足,而留有 Portal 或者权限允许用户自定义使用部分合规的软件或者工作空间(桌面等个性化配置)。

回到正题,

“NSX从入门到精通(4):NSX 带来的安全转型-上篇”

一文中讲不同层面的安全时,提到了桌面虚拟化这一概念,VMware 的桌面虚拟化解决方案名为 Horizon View。

桌面虚拟化的核心架构是分离,将用户端和桌面服务端做分离,实现用户和服务及数据的松耦合。

分离之后,两个系统相互独立,服务的更新不会影响用户的终端接入设备,不同的终端设备始终能获取到一致的服务。

经典的虚拟桌面架构分为三段:

最左是用户+设备:用户以部门、工作内容、级别等元素成组,每个组对应的服务不同;设备可以是公司配发的PC、瘦客户机,也可以是自带的笔记本、平板甚至手机;

中间是传输网络:网络为终端设备和后端服务器的桥梁,服务通过网络递交给最终用户;

最右是用户桌面:多个桌面操作系统运行在标准的虚拟机基础架构平台上,静态(一一对应)或动态(浮动桌面池)分配给最终用户。

使用虚拟桌面有非常多的优势和价值:

减少 PC 采购投入,保护资产。传统企业通常会批量采购很多同款的 PC,批量采购可以降低单价减少整体投入,同款 PC 也可以方便未来的桌面运维。通常为了满足业务需求,也会有一个硬件更新周期,一般为3~5年。桌面虚拟化之后,PC 的作用仅是输入/输出,只要硬件不坏,PC 使用年限可以大大延长(笔者有个鼠标用了10年);

满足用户对于 PC 硬件的个性化需求,除了统一配发 PC,更多企业愿意为用户提供电脑补贴,让用户自行购买喜欢的 PC,这样可以从硬件层面最大程度满足用户的个性化需求,也可以节省部分统一维护的成本;

数据安全,分离之后,所有用户数据保存在数据中心,在数据中心内部,可以使用多种备份手段保证数据安全;

提升桌面在线时间,在桌面虚拟化架构中,所有桌面都会运行在计算虚拟化之上,企业级硬件+企业级软件+各种高可用功能保证桌面系统稳定运行,服务器的硬件维护也不会影响桌面的使用(详见NSX从入门到精通(2):NSX介绍-网络工程师篇);

更多服务选择,桌面虚拟化架构有个关键词叫“模板”,每个模板可以区分提供不同的服务内容,例如Windows 7 桌面,或Windows 10 桌面,而这些服务都可以即时提供给用户,实现一套设备多种桌面;

标准化服务,在一个模板内,可以预安装很多应用,提供标准的应用服务;

增强安全,同样,在父模板内可以预安装安全代理、审计工具等组件,做到安全可控、事件可追踪;

即时应用交付,操作系统可以做成模板,应用也可以做成模板。这样的架构可以实现秒级应用安装、秒级应用更新;

应用容器,可以将同一个应用的不同版本封装成“容器”,满足不同业务对于终端软件的兼容性要求(比如XX网银只能使用IE8,而YY网页却必须用IE10才能正常访问);

统一管理,桌面虚拟化之前,每个 PC 都是独立的存在,还不方便移动,如果出现任何软件、硬件问题,只能是 Helpdesk 到处跑(此处想起了英剧 IT 狂人的片段...)。而桌面虚拟化可以通过一个控制台管理所有“PC”,处理任何系统和软件层面问题。

减少运维成本,统一管理之后,可以实现很多批量的操作,例如打补丁、更新软件、下发安全策略,极大减少管理员工作负载;

不过目前的虚拟桌面方案一直存在一个安全漏洞,即无网络安全。

具体来说有两类风险:

VDI 桌面之间的非授权访问

VDI 桌面到后端服务器的非授权访问

前面多篇文章提到了 NSX 微分段,在 VDI 环境下微分段可以轻易实现多个 VDI 桌面之间的隔离,做到不同部门的安全隔离。同时,NSX 防火墙也可以设置 VDI 桌面到后端服务器/研发环境的访问控制。

如下图所示:一个企业内部有多个部门,也有很多外来驻场开发人员,NSX 可以通过一条策略禁止不同部门之间的互访,再根据用户和业务系统关系,有条件地放行用户到业务的访问。

在背后的实现上, 以 AD 的安全组为中心,Horizon View 提供桌面池、控制用户权限、可使用的软件等等功能,NSX 实现针对用户的安全策略,架构如下:

下面是一个 NSX 与桌面虚拟化集成的演示视频,时长7分41秒,里面演示了如何在 NSX 下配置针对用户的访问控制:

02

共享桌面的网络安全

前面提到的桌面虚拟化通常为一个用户至少对应一个桌面。从资源利用上来说,依然是每个用户至少要占用2~4G内存,1~4核CPU(简单办公场景),如果可以让多个用户共享一个操作系统,则可以大大提高单个虚拟桌面的利用率,降低整体的计算资源消耗。

微软 Windows Server 的 RDSH(Remote Desktop Session Host) 就是这样的一种解决方案。

VMware 将 Windows Server 的这一项功能无缝地集成到了 Horizon View 中。

在 NSX 之前,这种共享式桌面虚拟化架构依然存在章节1中提到的安全隐患。

早期的 NSX 版本不支持共享虚拟桌面下Per User Session的安全控制,难点在于 NSX DFW 的生效位置是虚拟机的虚拟网卡,而在共享虚拟桌面环境下,多个用户共享一个虚拟网卡。

在 NSX 6.4 及之后版本,NSX 可以通过 Guest Introspection 组件区分出同一台虚拟机中不同用户的会话,并针对用户来做网络访问控制。

下面通过一个实验演示如何进行相关的配置:

实验环境:Windows server 2016 一台,已经安装 RDS 服务,已经加入 Windows 域,两个用户 user1 和 user2 分别属于不同的用户组 IDFW-group1 和 IDFW-group2 。

测试项目:user 1 只可以访问内网的业务,禁止访问互联网;User 2 则可以访问任意网络。

1.打开 NSX 配置界面,点击“安装和升级”>“服务部署”,部署 Guest Introspection

2.使用 IP 地址池给 Guest Introspection 虚拟机分配地址。

3.部署完成后,等待安装状态和服务状态均为绿色状态。

4.在NSX>安全性>防火墙中添加区域,名为“RDS server 用户身份防火墙”,勾选“在源中启用身份认证”

5.创建如下的防火墙策略:

6.使用 user1 登陆 Windows Server 2016,无法访问互联网。

8.使用 user2 登陆Windows Server 2016,可以访问所有网络。

这里需要重点提的是,两个用户是同时登陆到 Windows Server 2016的:

03

应用虚拟化的网络安全

与共享桌面虚拟化类似,应用虚拟化可以直接将应用的界面推送给用户使用(而不是推送一个完整的桌面环境),在用户体验上更佳。

例如我使用的是 Mac OS 系统,但是可以通过 Horizon View 打开远程的 IE 浏览器来使用:

VMware 对应的解决方案为 RDSH App,Citrix 对应的解决方案为 XenApp。

对于 NSX 来说,共享式的桌面虚拟化和应用虚拟化工作原理并无太大差异,因此依然可以根据用户身份来做网络访问控制。

配置方法与章节 2 一致。

04

移动终端的网络安全

现在越来越多的企业都会有移动办公的需求,为了让远程办公用户可以访问到企业内部的系统,通常有以下三种服务部署模式:

直接将服务器部署在公有云,所有用户均可直接访问;

服务器部署在企业数据中心,通过 NAT 将网站发布到互联网供员工使用;

服务器部署在企业数据中心,用户通过 VPN 接入内网,再通过内网地址访问服务器。

如果去分析安全风险,1 和 2 都直接将服务置于整个互联网,任何人都能够访问到这些服务,而这时候不可避免地,有人会去恶意攻击这些服务器,获取企业敏感数据。

而 3 相对之下安全很多,不会将内部服务和数据直接置于互联网,用户需要先进行 VPN 认证才能访问到内部系统。

使用第三种解决方案时,通常需要在远程办公电脑上安装一个 VPN Client,和总部的 VPN Server 建立安全隧道,这样远程办公用户便可以通过安全隧道访问到企业内部的系统。

这时候,问题又来了,一个远程办公电脑上会运行非常多的软件,而且同时连接了互联网和企业内网,相当于直接将企业内网环境暴露在了互联网中,一旦电脑中有恶意软件,会直接影响到整个内网。

解决办法就是再将 VPN 细分,由以前的 Per-Device VPN 变为 Per-App VPN,每个应用一个 VPN 隧道,VMware 的 Airwatch 中便提供了这样的功能。

Per-App VPN 可以控制终端上的应用能否访问内网,而不能控制这些应用具体可以访问哪些内网系统,不能访问哪些内网系统。这时候,则需要搭配 NSX 来实现真正的端到端安全访问控制。

下面是 Airwatch 与 NSX 集成的演示视频,长1分35秒:

再回到第一个章节的问题:桌面虚拟化和云计算有关系吗?

除了前面提到的异同,可能有人注意到了,两者都建立在基础架构平台之上,即 vSphere 平台。

NSX 在基础架构平台中提供网络和安全的功能,必然是可以和其上层建筑结合实现端到端的网络和安全,而在当今的安全形势和网络快速发展形势之下,这样的架构也成为了必需。

小知识补充

文中提到了很多 EUC(终端用户计算)的词汇、功能和产品,汇总如下:

桌面虚拟化:将用户使用的桌面环境与其终端设备进行分离的技术;

VDI :Virtual Desktop Infrastructure,等同于桌面虚拟化;

Horizon View:VMware 桌面虚拟化解决方案;

AD:Active Directory,Windows 活动目录;

ThinApp:可以将一个应用封装成单一可执行文件包,允许在一个环境中不安装此软件直接运行,或用于一个操作系统同时使用多个版本的同一软件;

App Volume:将虚拟机中安装的应用封装在 VMDK 中,即时将其挂载给任意虚拟桌面使用;

RDSH:Remote Desktop Session Host,微软 Windows Server 的一种远程桌面服务;

Airwatch :统一的企业移动化管理平台,具体功能见本文第二张图。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181128A1JHA600?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券