潘淦+杨淑慧+郦勇+姜明+潘德宝
一、虚拟化技术简介
1.服务器虚拟化概述。
虚拟化指的是将一个物理计算机划分为一个或多个完全孤立的“虚拟机”,又称VMs。具体应用中的服务器虚拟化,是将服务器物理资源抽象成逻辑资源,让CPU、内存、磁盘、I/O等硬件变成可以动态管理的资源池,不再受限于物理上的界限,在一台服务器上运行几台甚至上百台相互独立的虚拟服务器。每一个虚拟服务器都有一套自己的虚拟硬件,而且是一套一致的、标准化的硬件,可以在这些虚拟硬件上加载操作系统和应用程序。通过虚拟化技术,可提高资源的利用率,简化管理,实现服务器整合,提高IT对业务的灵活适应力。
2.服务器虚拟化技术原理。
虚拟化是一个抽象层,通过空间上的分割、时间上的分时以及模拟,虚拟化可将一份资源抽象成多份,亦可将多份资源抽象成—份,从而提供更高的IT资源利用率和灵活性。虚拟化技术允许具有不同操作系统的多个虚拟机在同一物理机上独立并运行。每个虚拟机都有自己的一套虚拟硬件(如RAM、CPU、网卡等)并在这些硬件中加载操作系统和应用程序。无论实际采用了什么物理硬件组件,操作系统都将它们视为一组一致、标准化的硬件。
二、虚拟化技术的安全策略及审计关注面
服务器虚拟化有着节省运营成本、提高服务器的利用率,便于管理维护,动态地改善IT基础架构的性能和效率,实现应用的快速部署,备份的快速恢复,应用升级前的测试以及升级失败后的快速回退,集中的性能监控和告警,保持业务的连续性,真正实现绿色计算等诸多优势,吸引了越来越多的用户。但服务器虚拟化技术在为用户带来利益的同时,也存在着严重的信息安全问题,对当前的安全技术提出了挑战。因此,保障服务器虚拟化的信息安全不可忽视,从IT审计角度来探讨服务器虚拟化的安全措施极有必要。从现有技术水平来看,保护虚拟系统的安全与保护独立服务器的安全没有什么不同,同样的最佳安全实践依然适用。即“平时怎样保护服务器安全,现在就要以同样的方法来保护虚拟机安全”。
(一)物理硬件及宿主机的安全要求。
1.审核硬件环境。在物理机上需要有足够的处理能力、内存、硬盘容量和带宽,以满足虚拟机的运行要求,建议预留一些额外的处理能力和内存。
2.加强对宿主机的硬件管理。务必要对宿主机的安全进行细致的审核。一是宿主机的物理环境安全,包括对进入机房的身份卡验证,对机器进行加锁(避免被人窃走硬盘);二是在安装完毕后拆除软驱、光驱;三是在BIOS里,禁止从其它设备引导,只允许从主硬盘引导。另外还要对BIOS设置密码,避免被人修改启动选项;四是控制所有的外部接口。
3.加固宿主机的操作系统。宿主机的操作系统相对于虚拟机,需要更加审慎的安全策略,并且宿主机还应提供一些额外的安全措施,比如防火墙、入侵检测系统等。具体审计时,一是宿主机应该只有一个账户能管理虚拟机。密码应该强壮,难以猜测,经常更换,只提供给必要的管理人员;二是如果需要接入网络,在开启服务之前,要使用防火墙限制,只允许必要的人访问;三是不需要的程序和服务不要开启,这样不仅可以保证安全,还可以节省资源;四是应及时升级补丁。
4.配置宿主机时间同步。虚拟机缺省都是依赖于宿主机的时钟,时钟的不准确性会导致任务的提前或滞后,例如我们设置周六到周日这两天,某些服务关闭,由于时间的重大差异,可能会造成业务中断。同时系统日志也充满了未知的不确定,导致系统管理员根本无法从日志上得出事件的真实事件。解决办法是配置同步时间服务器。
5.合理控制虚拟机的数量。在宿主机上创建虚拟机只要短短几分钟,但虚拟机数量越多,面临的安全风险也越大,导致管理、维护性能及配置供应的能力出现滞后。故应根据应用的需要,合理安排虚拟机数量,避免闲置的或测试用虚拟机在正式生产系统中的出现。
6.合理使用虚拟机的快照、复制技术。虚拟机的快照技术能够在错误出现时让损失降到最低,是虚拟机在特定时刻的状态、磁盘数据和配置等基于文件的一种保存方式,适当使用可以将虚拟机恢复到任何以前有正常快照的状态,但频繁使用会占用很大的存储空间,可能导致物理机I/O资源的大量消耗,虚拟机也可能因此崩溃。
(二)网络安全要求
1.对架构中的虚拟机进行隔离,尽量控制在DMZ区运行。由于宿主机内部的虚拟机通信是通过虚拟交换机来传送的。因此对外部网络安全控制机制来说是看不见的,应根据应用程序类型和数据敏感程度,把虚拟机隔离到“安全区”,并参照DMZ主机系统的加固方案来实施,只开放应用所需的必要服务。通常做法就是将虚拟的应用服务器与数据库服务器网段相互隔离,即把数据库服务器放置在另外一个对虚拟的应用服务器而言的DMZ区。
2.控制虚拟机层端口的访问。除了宿主机上开放的端口,虚拟机层也会使用宿主机的IP开放一些端口,这些端口可以允许其他人远程连接到虚拟机层,以查看或配置虚拟机、磁盘,或者执行其他任务。对这些端口的访问应该受到严格的控制,至少需要一个宿主机的防火墙,只允许授权者对这些端口的访问。最好不允许任何的远程访问,这样核心进程可以绝缘于外部环境。如此要求无法适应业务的需求,则可设置一台单独的管理机进行管理。
3.使用加密通信。一是必须使用通信加密手段,可以采用HTTPS、TLS、SSH或者加密VPN来管理;二是根据应用的仅有加密机制还是不够的,还应有身份鉴别和认证,以防止伪造源IP攻击、连接劫持、中间人攻击。
4.采取身份验证。对于宿主机和虚拟机一样,均需要同时配置身份验证方式。比如密码的加密,登陆次数的锁定或延时等。
(三)对虚拟机服务和配置的要求。
1.禁用虚拟机部分功能。对于单一操作系统的虚拟机来说,总会有一些不需要的服务在启用,这些都是不必要的,而且他们占用了资源,可以关闭。例如屏幕保护、磁盘碎片整理、搜索工具(如搜索磁盘内的文件)、病毒和恶意软件扫描、文件完整性检查、日志和日志分析工具、系统更新等。
2.禁用虚拟机文件共享。大多虚拟机软件支持在宿主机和虚拟机之间的无缝文件共享,在带来了方便的同时也引入了安全风险。如此共享则虚拟机就有机会访问宿主机,甚至对共享的文件进行操作。故除非有业务需要明确要求文件共享,否则应禁用文件共享功能。
3.虚拟机操作系统安全加固。对虚拟机操作系统进行各项安全的加固,就像它是一个物理机(宿主机)一样。具体要求可参照前述的“加固宿主机的操作系统”章节执行。
4.断开虚拟机不使用的设备。虚拟技术允许虚拟机直接、间接的控制物理设备,比如软驱、光驱、USB接口、打印机等。建议关闭所有可控制的物理设备,只在需要的时候才允许连接。
(四)对虚拟机管理平台的管理要求。
1.限制虚拟化管理平台管理员权限的发放。在虚拟环境下,虚拟机被封装为单个或多个虚拟磁盘文件,虚拟机的便携性带来非常高的风险。例如,以前偷走一台服务器是很困难的,但是现在虚拟化管理平台被入侵或不合理使用后,虚拟机可以被轻松拷贝,然后在另一个虚拟化平台进行还原,一台服务器的数据就如此轻易的被盗了。因此必须合理控制虚拟机访问权限,无论是在线的还是离线的虚拟机文件都必须获得严格的管理和控制,还要特别注意管理员权限的发放数量,以免虚拟机数量激增,扩大安全风险。
2.部署虚拟化专用工具。在有条件的情况下,部署虚拟化专用产品进行虚拟化平台的防病毒部署、补丁管理、行为审计、运维管理,从物理层、逻辑层,再到业务层、流程管理,对系统进行全面监控、预警、告警和故障分析。相应的产品有BigFix、AuditPro、Stone ITSM、SteelEye等。
3.加强远程控制的管理。一是指定管理机的IP地址。设置强壮的用户名、密码,如果对安全有更高要求的话,可以使用双因素认证,PKI机制或一次性密码;二是使用SSH远程连接。还要禁止管理员直接登录,用普通账户登录然后切换到管理员,如安全要求较高,应选用DSA/RSA机制以防止中间人攻击;三是尽量禁用VNC(Virtual Network Computing)和WEB管理。
4.关注虚拟机日志的管理。应该给虚拟机们提供一个集中的日志服务器,这个日志服务器也可以以虚拟机的状态来运行。好的虚拟机日志要包括:电源状态(开启、关闭、暂停、恢复),对硬件配置的更改,登录尝试、提升权限的账户。此外根据具体应用情况还应对文件的复制、移动、删除做日志记录。
三、虚拟化技术在人民银行的应用情况及审计实施建议
(一)虚拟化技术在人民银行的应用情况。
基于安全性及稳定性考量,目前人民银行在涉及资金的关键应用系统中尚未使用虚拟化技术,但在非关键领域的辅助系统中已有虚拟化平台的生产应用。一是整合资源,简化管理的要求。如外汇局省分局将散布于Sco Unix、Linux、Windows等多个不同软硬件平台的辅助应用系统(文件接收、web网站、运维软件监控等)集中部署在Vmware虚拟平台上;二是提高硬件资源利用率,减少服务器运行数量的需求。如部分中心支行将机房环境监控系统、门禁管理系统整合;三是探索新技术,替代陈旧设备的原因。如部分中心支行探索使用虚拟机,将使用率极低的办公网电子公文传输系统、电子邮件系统整合于一台物理PC服务器上运行。
从整体情况来看,除外汇局省分局采用了总局统一采购的正版且有全面技术支持的Vmware虚拟平台外,其余单位、部门均存在缺少统一规划,各自使用free甚至破解版虚拟机平台的情况,虽然目前仅限于辅助应用,但信息安全风险不容忽视。
随着技术的进步、数据整合上收的深入以及提效降耗的管理强化,未来虚拟化技术在人民银行必将有更多的实践应用。在今后的一段时间内,人民银行IT审计人员应及时了解虚拟化系统面临的威胁以及虚拟化在发展过程中的安全创新,以面对运行于异构基础设施的物理机和虚拟服务器的信息安全挑战。
(二)对人民银行应用的虚拟化技术专项审计实施建议。
目前,人民银行尚未对虚拟化技术应用开展过全面或专项的审计,只是在近年以来的信息技术审计中对虚拟化应用风险有过一些初步关注。归纳起来主要体现在:一是虚拟化平台未使用正式版软件,多为free或测试版,甚至有盗版破解的情况;二是虚拟机管理平台Hypervisor管理不严格,如不加限制多人使用管理员用户,用户权限划分模糊,直接以telnet等不加密方式远程访问等;三是网络界限不严格,体现在一台宿主机上运行的多个虚拟平台跨网接入。如同一宿主机中有的虚拟机接入人民银行业务网,而有的虚拟机则接入防火墙DMZ区的金融城域网;四是只重视宿主机及其操作系统的安全加固,而对基于其运行的多个虚拟机未予安全加固。
鉴于目前虚拟化技术尚未在人民银行关键应用系统中投入,笔者认为,实施审计时应根据本文第三节提及的安全策略和审计关注面,结合人民银行的实际情况,有所取舍,制订出合理的审计方案。
一是关注风险,按风险导向模式开展审计。按照风险导向模式“审前调查→构建指标体系→固有风险评估→现场审计,重点评价风险控制措施→揭示问题,评估剩余风险”的流程开展审计。
1.加强审前调查。通过审计前期查阅相关技术文档,与系统管理员、网络管理员、信息安全员等被审计系统(单位)的相关人员充分沟通交流,从而了解被审计对象,有针对性的开展审计。
2.构建虚拟化技术风险评价指标体系。可将对虚拟化技术的审计内容具体划分为八个指标域:一、内部控制管理;二、硬件与设施管理;三、网络管理;四、宿主机安全管理;五、各虚拟机安全管理;六、Hypervisor管理监控平台管理;七、基于虚拟机的业务应用系统管理;八、应急、备份和采购、服务、技术支持管理。各类指标域的下设一、二级指标(可参照人民银行常规信息技术审计的内容及指标体系,此处不再详述)。指标体系可采用人民银行系统广为应用的层次分析法来构建判断矩阵并计算指标权重。
3.开展审前固有风险评估。可走访虚拟技术涉及的相关业务管理、业务应用及技术支持部门,采取查阅相关文档,调取以往开展过的审计、专项检查的档案资料,电话访谈技术及服务供应商等方法开展有针对性的审前固有风险评估,了解虚拟技术管理基本情况和薄弱环节,确定审计的重点范围。同时根据风险评估情况结合审计经验及科技部门对信息安全管理的相关要求,根据每个指标的固有评估风险等级和风险事件发生的可能性计算出固有风险评估值。
4.以风险控制有效性为核心,开展现场审计。对风险评估模型框架中各级指标的风险管理控制情况逐一开展检查评估,并集中审计力量对风险评估为高风险领域的指标开展重点检查。对于各项指标的风险控制有效性做出“持续有效(风险控制全覆盖)、有效(风险控制大部覆盖)、基本有效(风险控制基本覆盖)、轻微效果(风险控制少量覆盖)、无效”等五类定性评价结论,并根据定性评价结论所对应的等比数列量化转换比例,将定性评价结论转化为定量得分。对于审计发现的因风险控制缺失与不足而导致的问题,采用风险与控制并重的原则,根据可能潜在的损失程度,对问题的严重性进行判断,并区分为严重、较严重、一般、轻微四级。
5.定量与定性相结合,披露剩余风险。根据人民银行风险量化评估的基本模型:剩余风险=固有风险-控制有效性,通过权重计算、风险等级界定赋值计算固有风险,减去风险控制有效性的定量转换分值,再通过加权累积,计算得出人民银行虚拟化技术风险评估模型各指标域的剩余风险评分以及虚拟化技术应用管理总体剩余风险评分。需要关注的是,审计不仅要对宿主机、虚拟机、管理系统等虚拟技术整体架构(硬件、软件、网络及管理)进行剩余风险披露,还需对基于虚拟化平台运行的应用系统风险承受情况及剩余风险作出判断。通过对剩余风险做出详尽披露,便于管理层开展横、纵向的分析比较,从而做出相关决策。
二是突出重点,兼顾绩效。结合人民银行尤其是分支机构的虚拟技术只应用于非关键领域的辅助系统这一实际情况,不仅要对宿主机、虚拟机、管理系统等虚拟技术整体架构(硬件、软件、网络及管理)进行风险评估,还需对基于虚拟化平台运行的辅助系统风险承受情况作出判断,将审计的重点放在宿主机管理及虚拟机管理系统方面,着重审核基础平台安全及运行管理水平,对于虚拟机的审核重点关注虚拟机的快照、复制情况(传统平台上的备份),确保业务连续性;从绩效视角出发,可通过比较计算虚拟技术的投入(主要是软件支出)与整合资源后节省的费用(硬件设备、能耗与运营费)孰高等计算方式得出结论。
(作者单位:中国人民银行南昌中心支行)