在桌面虚拟化中,用户可以通过云终端或者网络中智能设备,在任何地点,任何时间访问个人桌面,那么在此过程中,系统的安全性和稳定性也变得尤为重要。
(1)镜像文件加密
随着网络与计算机技术的发展,数据的一致性和完整性在信息安全中变得越来越重要,对数据进行加密处理对数据的一致性和完整性都有较好的保障。有一种类型的攻击叫作“离线攻击”,如果攻击者在系统关机状态下可以物理接触到磁盘或者其他存储介质,就属于“离线攻击”的一种表现形式。另外,在企业内部,不同岗位的人有不同的职责和权限,系统处于启动状态时的使用者是A,而系统关机后,会存放在另外的位置,B可以获得该系统的物理硬件。如果没有保护措施,那么B就可以轻易地越权获得系统中的内容。如果有良好的加密保护,就可以防止这样的攻击或者内部数据泄露事件的发生。
在KVM虚拟化环境中,存放虚拟机镜像的存储设备(如磁盘、U盘等)可以对整个设备进行加密,如果其分区是LVM,也可以对某个分区进行加密。而对于虚拟机镜像文件本身,也可以进行加密的处理。“qemu-img convert”命令在“-o encryption”参数的支持下,可以将未加密或者已经加密的镜像文件转化为加密的qcow2的文件格式。例如,先创建一个8GB大小的qcow2格式镜像文件,然后用命令将其加密,命令行操作如下图5-10所示。
图5-10 虚拟机镜像文件加密操作
生成的1.qcow2文件就是已经加密的文件,查看其信息如下图所示,从图5-11中可以看到“encrypted:yes”的标志。
图5-11 查看加密镜像文件信息
在使用加密的qcow2格式的镜像文件启动虚拟机时,虚拟机会先不启动而暂停,需要在QEMU monitor中输入“cont”或者“c”命令以便继续执行,然后会出现输入已加密qcow2镜像文件的密码,只有密码正确才可以正常启动虚拟机。
当然,在执行“qemu-img create”创建镜像文件时就可以将其创建为加密的qcow2文件格式,但是不能交互式地指定密码,命令行如下图5-12所示。
图5-12 创建加密的镜像文件
这样创建的qcow2文件处于加密状态,但是其密码为空,在使用过程中提示输入密码时,直接按回车键即可。对于在创建时已设置为加密状态的qcow2文件,仍然需要用上面介绍过的“qemu-img convert”命令转换一次,这样才能设置为自己所需的非空密码。
(2)远程管理的安全
在KVM虚拟化环境中,可以通过VNC的方式远程访问虚拟机,那么为了虚拟化管理的安全性,可以为VNC连接设置密码,并且可以设置VNC连接的TLS、X.509等安全认证方式。
如果使用Libvirt的应用程序接口来管理虚拟机,包括使用virsh、virtmanager、virt-viewer等工具,为了远程管理的安全性考虑,最好只允许管理工具使用SSH连接或者带有TLS加密验证的TCP套接字来连接到宿主机的libvirt。
(3)用户的身份认证
在虚拟桌面的应用环境中,只要有访问权限,任何智能终端都可以访问云端的桌面环境。通常虚拟桌面客户端采取用户名和密码作为身份认证,但用户名和密码一旦泄露,对方可以在任何位置访问你的桌面系统并获取相关数据。在虚拟桌面环境下,为了保证虚拟桌面用户的安全,加入了更加严格的终端身份认证机制,通过MAC地址对允许访问云端的客户端进行范围限定,这种方式虽然牺牲了一定灵活性,但可以大幅提升客户端的可控性。
可以在不同的层次设置不同的管理员权限,让不同的管理员负责管理不同层次上软件管理功能,如操作系统有操作系统管理员,数据库有数据库管理员,应用系统有应用系统管理员。多级管理员划分使系统更加安全,原因是系统管理员只能看到其负责层次的软件管理内容,只要系统的管理制度严格按照层次进行划分,就能够保证系统不被越权访问。如SQL Server选择不是集成验证,而是独立验证时,SQL Server所在的Windows 2003操作系统管理员是不能自动获得SQL Server的系统管理员权限的,也无法访问到SQL Server内的业务数据。(www.xing528.com)
(4)虚拟存储的加密保护
虚拟桌面采用集中存储方式,用户的所有数据都存储于服务器端的存储设备中,一般会采用NAS(NetworkAttachedStorage,网络接入存储)架构的存储系统,集群NAS是一种横向扩展(Scale-out)存储架构,具有容量和性能线性扩展的优势。
在虚拟桌面的环境中,采用专业的加密设备进行加密存储的方式。同时,在数据管理上考虑三权分立的措施,在系统管理员、数据外发审核员和数据所有人同时确认之后才允许信息的发送,来实现主动防止泄密。
可将不同的业务系统划分到不同的VLAN中,进行网络隔离,并设置网络访问控制,只开放安全组必要的访问端口。对于远程访问的端口(如SSH,RDP等)只允许特定IP访问,严格控制业务数据的直接访问。同时,用户可设置定期对业务系统的虚拟机和重要的存储卷进行快照,桌面云平台系统中虚拟机和存储卷需要分离备份,对业务数据进行备份,这项工作可安排在下班后或在夜间进行,对正常业务运行没有影响。VPN是一种在外部客户端和高校内部网络之间建立安全的传输管道,让客户端能够以局域网用户的身份登录内部网络,安全使用内部各种协议和服务的技术。
(5)虚拟网络安全防护系统
绝大部分企业级用户都会为远程接入设备提供安全连接点,供在防火墙保护以外的设备远程接入,但是并非所有的智能终端都支持相应的VPN技术。智能手机等设备一般可采用专业安全厂商提供的定制化VPN方案。企业内部的终端和云端的通讯可以通过SSL协议进行传输加密,确保整体传输过程中的安全性。
用户可在Internet与桌面云平台系统中间部署硬件防火墙加强安全防护,如拒绝服务攻击、典型外网攻击等,只允许受控的IP访问管控服务器,将桌面云平台系统的管控服务器与节点集群所在网络分离,只开放管理端口,以保护云控制器不受网络攻击。
为了保护各个云平台中应用系统的网络安全,避免单一应用中毒或木马干扰其他应用,桌面云平台系统可自动将不同用户的应用系统自动隔离,即使同一用户也可以轻松创建自己的隔离网络让相同系统的不同角色(如数据库和中间件)也实现隔离。
为了避免服务器被黑客攻击,通过ARP嗅探网络数据,桌面云平台系统还在底层做到MAC&IP地址的自动绑定,这样在黑客修改虚拟机的IP或MAC地址时,桌面云平台系统的管理系统将自动断开此虚拟机与网络的连接,只能由运维管理员才能够进行恢复。
桌面云平台系统还可充分利用第三方的安全平台保护应用系统,将云管理平台的API接口开放安全应用。例如,配合防篡改软件,当防篡改软件发现应用服务器被攻破后,立即调用云平台的销毁API将虚拟机销毁,同时再调用云平台的创建接口,通过快照创建一个相同内容但密码、IP、MAC完全不同的虚拟机。
在KVM宿主机中,为了网络安全的目的,可以使用Linux防火墙——iptables工具。使用iptables工具(为IPv4协议)或者ip6tables(为IPv6协议)可以创建、维护和检查Linux内核中IP数据报的过滤规则。
而对于虚拟机的网络,QEMU/KVM提供了多种网络配置方式。例如:使用NAT方式让虚拟机获取网络,就可以对外界隐藏客户机内部网络的细节,对虚拟机网络的安全起到保护作用。不过,在默认情况下,NAT方式的网络让客户机可以访问外部网络,而外部网络不能直接访问虚拟机。如果虚拟机中的服务需要被外部网络直接访问,就需要在宿主机中配置好iptables的端口映射规则,通过宿主机的某个端口映射到虚拟机的一个对应端口。
如果物理网卡设备比较充足,而且CPU、芯片组、主板等都支持设备的直接分配技术,那么选择使用设备直接分配技术为每个虚拟机分配一个物理网卡也是一个非常不错的选择。因为在使用设备直接分配是使用网卡时,网卡工作效率非常高,而且各个虚拟机中的网卡是物理上完全隔离的,提高虚拟机的隔离性和安全性,即使一个虚拟机中网络流量很大也不会影响到其他虚拟机中网络的质量。
(6)服务器管控机制
桌面云端服务器的保护是最重要的部分,一旦服务器遭到破坏,整个虚拟架构就会破损,可以采用多种方法进行虚拟桌面服务器的保护。
首先需要在虚拟机内和虚拟机外建立完善的权限和访问控制体系,在服务器的前端负载均衡器上部署高性能的安全控制组件,在防火墙的后端搭建可以进行有效身份认证及授权的安全网关。
服务器端架构通常会采用横向扩展的方式。一方面通过增强冗余提升系统的高可用性;另一方面可以根据用户数量逐步增加计算能力。在大并发的使用环境下,系统前端会使用负载均衡器,将用户的连接请求发送给当前仍有剩余计算能力的服务器处理。
(7)完善的日志记录
建立完善的管理员和用户日志记录与审核体系,使得管理员的行为和用户的行为都有详细的审计记录,从而保证每个用户的行为有据可查。审计人员在数据中心核查终端用户的状态,对终端用户的行为进行检测和评判,可以保证终端虚拟桌面的用户在进行非法活动或者恶意活动之前对其进行控制,从而保证了整个虚拟桌面网络的安全性。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。