虚拟化服务器安全防护系统的设计与实现
2018-06-22魏力鹏王皓然
◆魏力鹏 王皓然
虚拟化服务器安全防护系统的设计与实现
◆魏力鹏 王皓然
(贵州电网有限责任公司信息中心 贵州 550002)
除了具有传统物理服务器的安全风险之外,虚拟化服务器架构同时因虚拟化而带入了一些新的安全风险,如虚拟服务器间互相攻击、安全状态不一致、运行环境不一致、资源占用风暴等,针对上述虚拟服务器的安全风险,设计并实现一套基于VMware的安全防护系统,在病毒防护、补丁防护、恶意软件防护、入侵检测及防护、访问控制、完整性监控、日志审计、数据隔离等方面对虚拟主机和虚拟系统进行了全面防护。
虚拟化服务器; 安全防护系统;服务器安全
0 引言
近年来,随着云计算的迅猛发展,服务器虚拟化也越来越受到人们的关注。服务器虚拟化是一种从逻辑角度对资源进行重新配置的方法,通过采用逻辑的方式对物理资源进行配置,即可以在同一个物理服务器上运行多个操作系统,也可以在多个物理服务器上运行一个操作系统。服务器虚拟化打破了物理的局限,有利于实现更高效的资源管理、更有效的资源利用,是一种非常好的资源优化整合方式。除了具有传统物理服务器的安全风险之外,虚拟化服务器架构同时因虚拟化而带入了一些新的安全风险,针对这些新的安全风险,作者设计并实现了一套基于VMware的安全防护系统。
1 虚拟化服务器架构中存在的安全风险
虚拟化服务器基于物理服务器,因此面临着传统物理服务器的各种安全风险,同时由于虚拟服务器之间的数据交换、计算资源池共享等,还带入了一些新的安全风险。传统的安全技术手段不但难以针对这些新的安全风险进行全面防护,还容易产生大量的资源消耗,导致难以发挥出虚拟化服务器架构的优势。这些新的安全风险包括:
1.1虚拟服务器间互相攻击
在采用传统安全防护模式进行保护时,一般会在物理主机与外面的边缘位置进行保护,如隔离防火墙,这能够很好地保护物理主机不受外部攻击的威胁。但是在同一物理主机内部的不同虚拟服务器直接,仍然存在着相互攻击和相互入侵的安全风险。攻击者有可能通过攻击某一台存在漏洞的虚拟服务器,并以此为跳板攻击其它虚拟服务器,进而给整个虚拟化环境带来严重威胁。因此,对于虚拟服务器的使用者来说,系统仍然是不安全的。
1.2安全状态不一致
采用虚拟化技术之后,使服务具备了更高的灵活性和负载均衡,虚拟服务器可以按需启停。但是虚拟服务器的按需启停却导致了安全状态滞后的安全风险,主要原因在于虚拟服务器在关闭时,关闭瞬间的各种安全状态也将同时得到保存,如病毒防护等;当虚拟服务器再次启动时,所保存的安全状态与其它一直在线运行的虚拟服务器的安全状态相比,可能存在滞后和脱节的情况,如病毒库的更新。因此,对于虚拟服务器的使用者来说,系统的安全状态是不一致的。
1.3运行环境不一致
在虚拟服务器上更新安全补丁时,如果定期采用传统方式对阶段性发布的安全补丁进行测试和手工安装,一方面新更新的安全补丁可能影响到系统功能,导致未测试的异常出现;另一方面如果采用集中式更新系统补丁,则整个过程需要大量人力物力的支撑,增加了成本。而采用单虚拟服务器按需式更新安全补丁,则面临着安全状态不一致的风险。
1.4资源占用风暴
在虚拟化环境中为每一台虚拟服务器单独安装防病毒软件,一方面面临安全状态不一致的风险;另一方面在资源占用上也面临风险:每一台虚拟服务器上的防病毒软件都会产生一定物理资源消耗,特别是当所有虚拟服务器上的防病毒软件同时进行安全扫描或更新时,资源占用风暴将不可避免,严重时甚至可能导致物理主机崩溃。
1.5虚拟化工具漏洞风险
无论是采用VMware或其它工具进行虚拟化,这些工具都不可避免地存在漏洞,攻击者有可能利用工具的漏洞,取得平台管理权限,进而攻击其中的虚拟化服务器。
1.6数据安全风险
服务器虚拟化之后,不同虚拟服务器的数据存储在共享的物理存储设备中,在没有严格数据隔离措施的情况下,一旦某台虚拟服务器受到攻击,其它虚拟服务器也面临数据受到侵害的风险。
1.7系统复制风险
攻击者通过获取虚拟机控制器的管理权限,就可以复制其中的虚拟服务器。在其它平台部署复制后的虚拟服务器,攻击者就有充足的时间破解其中的安全防护系统、获取其中的重要数据,甚至用修改后的虚拟服务器替换原来的虚拟服务器,而整个过程将难以被察觉。
2 虚拟化服务器安全防护设计
针对虚拟化服务器架构中存在的安全风险,可以在以下几个方面进行安全防护:
2.1实现无代理病毒防护
在虚拟化环境中,一台物理服务器往往承载着多个虚拟服务器,如何有效降低病毒扫描负载,直接影响到整个虚拟化平台的使用效率。结合VMware的NSX技术架构,可以提供了针对虚拟化服务器及桌面的无代理病毒防护,解决传统有代理防病毒方式无法适应虚拟化架构的问题,特别是防病毒扫描风暴和病毒定义升级风暴等问题。
2.2通过监控Hypervisor底层服务器进行虚拟架构保护
虚拟平台底层服务器上不安装任何防护软件,而是在一台特定的虚拟服务器上部署安全监控代理,以命令行或者API接口的方式访问平台底层配置文件/日志、VM配置文件。
2.3保障平台安全运行环境
限制服务器主机上的端口开放和访问情况,确保服务器上只开放允许的服务端口,并进行细粒度的访问控制管理。通过进程白名单技术,确保虚拟服务器只允许业务所需的进程和程序。提供缓冲区溢出、进程注入等漏洞攻击行为的检测及保护能力,在虚拟服务器未及时更新补丁时进行有效保护。通过监控虚拟服务器操作系统日志,及时掌握当前面临的威胁及风险状况。
2.4提供可信网络访问
策略管理服务器制定统一的防火墙规则,并且自动下发到终端进行执行,且不允许终端用户随意修改。可以通过防火墙策略限定终端用户能不能访问某些特定资源,或者进行特定网络连接(如基于IP、端口、应用程序等参数)。避免虚拟服务器间的恶意攻击及访问,弥补传统防火墙只能监控阻止外部攻击的不足。
2.5实现业务隔离
提供基于进程、文件级别的应用程序控制功能,自动收集并识别虚拟服务器上运行的业务进程及服务,并根据进程的继承和调用关系,在确保业务进程和业务操作正常运行的前提下,阻止可信范围之外的其它应用程序的安装和运行,防止因为软件的随意安装或者程序的运行可能导致的病毒感染、恶意代码执行风险。
2.6实现系统资源调用限制
操作系统的每项进程、服务和功能都有其明确定义,可以预先记录它们的已知行为。在其执行资源调用之前,由安全防护系统进行评估并确保有效性,只有经过验证的调用才能传递给操作系统执行。
3 虚拟化服务器安全防护系统实现
图1 虚拟化服务器安全防护系统架构图
虚拟化服务器安全防护系统架构图如图1,由四个部分组成,其中:
(1)虚拟网关:部署在防护墙,用于保护虚拟平台边缘安全,提供DHCP、NAT、统一防火墙、负责均衡、VPN、端口隔离等功能。
(2)安全代理:部署于物理服务器中,为整个物理服务器提供反病毒引擎和反病毒数据库,每个虚拟服务器中无需部署引擎及反病毒数据库,安全代理实现了性能开销更低的一对多安全防护。
(3)虚拟应用:部署在虚拟服务器中,提供无代理病毒查杀、IDS/IPS、程序保护、程序控管、完整性监控及日志审计等功能。为虚拟化平台安全防护提供安全接口使用,数据文件通过接口传递给安全代理进行扫描。
(4)安全中心:负责统一更新病毒库、提供可信数据访问。通过建立并维护一个扫描文件的全局缓存,保存已经经过安全扫描的文件,则以后虚拟机再访问该文件时将无需再次进行扫描。这种做法降低了资源消耗,提高了资源利用率。
(5)管理中心:使管理员能够进行安全策略管理并将安全策略应用于服务器,以及安全更新和生成报告。可用于管理、部署、报告、记录和集成第三方安全服务,实现基于角色的访问控制以及职责分离。
图2 虚拟化服务器安全防护系统功能模块图
虚拟化服务器安全防护系统功能模块图如图2,其主要功能包括:
(1)病毒防护:针对虚拟化环境中存在的安全状态不一致和资源占用风暴问题,通过实现虚拟化层的病毒防护模块提供无代理病毒防护。采用启发式扫描,及时查杀病毒。
(2)补丁防护:通过虚拟补丁技术对虚拟服务器进行评估,并自动为每个虚拟服务器提供全面的漏洞修补。在没有安装补丁程序之前,提供针对漏洞攻击的拦截。
(3)恶意软件防护:集成VMware vShield Endpoint API,无需占用虚拟机资源即可防止VMware虚拟机受到病毒、木马等恶意软件的侵害,从而为虚拟环境中的复杂攻击干扰安全提供防护。
(4)Web应用防护:防止跨站脚本攻击和其他Web应用程序漏洞。提供包含攻击者、攻击时间等概要信息的自动通知。
(5)入侵防护:通过阻断SQL注入攻击、拒绝服务攻击、蠕虫病毒侵入攻击等行为。为服务器提供了高安全度的保护。检查所有传入和传出数据包,不允许协议修改、违反安全策略等可能导致攻击的内容有可乘之机。
(6)访问控制:提供基于状态检测的访问控制功能,实现基于虚拟交换机(vNIC)网口的访问控制,实现虚拟系统之间的逻辑隔离,同时对各种泛洪攻击进行识别和拦截。根据流量管理协议阻断非法流量、优化流量分布。
(7)入侵检测:以协议为基础,提供基于策略的监控和分析工具,更精确地对流量进行监控、分析和访问控制,同时进行网络行为分析,为在无人值守的环境下快速准确地检测入侵行为。将攻击特征与特征库进行匹配,记录新的攻击特征,不断完善特征库。
(8)完整性监控:支持基于基线(Baseline)的文件、目录、注册表等关键文件监控功能,如果这些关键位置被恶意篡改或感染病毒,系统自动向管理员发出警报,并记录问题,从而提高了系统的安全性。
(9)日志审计:提供详尽的系统日志和报告功能。除了记录功能日志外,还结合虚拟服务器操作系统日志和安全防护系统运行日志,进行统一的统计和分析,并生成报表。
(10)数据隔离:提供动态存储管理,根据虚拟服务器需求自动调整其存储空间,限制其对存储空间的访问,从而实现数据的严格隔离,避免数据安全风险。利用VMware的VMsafe技术,所有虚拟机之间的数据流量进行检查。
(11)应用隔离:支持分离虚拟应用,从而避免虚拟应用之间的相互感染。利用基于签名的入侵防御功能,来保护HTTP、FTP等关键业务服务免遭攻击。
(12)双向状态防火墙:进行细粒度过滤,针对网络的设计策略以及基于IP协议的位置感知功能,缩小服务器的受攻击范围。集中管理服务器防火墙策略,防止拒绝服务攻击并检测侦察扫描。
4 结束语
通过设计和实现虚拟化服务器安全防护系统,在病毒防护、补丁防护、恶意软件防护、入侵检测及防护、访问控制、完整性监控、日志审计、数据隔离等方面实现了全面防护,很好地解决了虚拟化服务器架构中存在的虚拟服务器之间互相攻击、安全状态不一致、运行环境不一致、资源占用风暴等安全风险,使系统降低了安全威胁出现到可以真正进行防御的时间差,具备了抵抗最新安全威胁的能力,提高了服务器的安全性,从而保障了业务应用的高可用性。
[1]孙梅玲,李降宇,王寅永.基于虚拟化环境的信息安全防护体系构建[J].网络安全技术与应用,2017.
[2]陈艺文.虚拟数据中心安全防护的调研分析[D].广东:华南理工大学,2013.
[3]王皓然.虚拟化安全完整性监控研究与实现[J].贵州电力技术,2016.
[4]张凯.云计算环境下虚拟化服务器的安全分析[J].信息与电脑(理论版),2016.
[5]王焕民,裴华艳.云计算环境下虚拟化服务器的安全研究[J].铁路计算机应用,2014.
[6]赵源.众达能源公司信息系统网络安全体系设计与实施[D].吉林:长春理工大学,2014.
[7]郑富华.华为云计算环境下虚拟化服务器的安全问题研究[J].电脑迷,2017.
[8]刘俊琪.服务器虚拟化安全风险及防护措施研究[J].电脑知识与技术,2017.
[9]阮俊杰.浅谈入侵防护系统在供电局网络安全建设中的应用[J].网络安全技术与应用,2016.