面向医疗大数据处理的私有云安全架构

2018-04-02 09:13乔日英王琦王伟娜
电脑知识与技术 2018年5期
关键词:云计算分布式

乔日英 王琦 王伟娜

摘要:云计算将大量的计算、存储资源进行整合,将资源按需分配,也代表着信息技术领域向规模化、集中化和专业化道路发展的趋势。伴随着医疗行业数据呈现爆炸式增长,传统的医疗信息化方式已经不能满足医疗卫生服务的需求,云计算+大数据的诊疗方式成为近几年的研究热点,借助云计算资源无限拓展的特性,医院可以以更低的成本享受到更高的医疗IT服务。但是在提高资源使用率和节省成本的同时,在患者信息、个人资产安全与患者隐私保护中存在着极大的挑战,安全成为云计算+大数据中最为重要和迫切需要解决的问题。为了解决云环境在使用过程中的机密、完整和可追溯性,提出基于openstack私有云安全框架的最佳实践,从日志审计、入侵检测、应用防护、身份认证以及数据安全等方面整合安全架构,采用分布式部署来实现云计算环境对安全的需求。

关键词:医疗大数据;openstack;云计算;云安全架构;分布式

1云计算安全遇到的挑战

1.1与传统网络的差异化比较

在云计算环境中,一般采用分布式以及软件定义网络(SDN)技术来构架数据中心,而在云安全实现的过程中采用软件定义安全的方式实现云安全架构。而在传统网络中,安全的检测、响应和防护依然采用单机硬件安全设备以及人工安全运维,无法实现统一安全管理,更无法实现自动灵活的安全系统部署,无法解决云计算平台中安全框架实现的痛点。

为解决云计算安全平台的每个方面的安全问题,电信行业提出了计算机安全框架。从物理层、网络层、主机层、应用层以及数据安全几个层面分别对云计算平台的安全做了详细的阐述:数据安全:数据隔离、数据备份恢复、镜像文件保护、机密数据保护、参与数据处理:应用安全:会话管理、应用身份识别、应用安全漏洞和入侵防护;主机安全:OS安全(数据隔离、主机访问控制、主机安全漏洞、主机安全审计),VMM安全(vMM安全漏洞、VMM访问控制、VMM身份鉴别);网络安全:虚拟安全域(虚拟防火墙、虚拟安全划分)、(网格结构、网络访问控制、网络入侵保护、网络安全审计);物理安全:物理访问控制、机房位置、防火、雷电、静电等。

为满足云计算对安全的需求,需要提出切实可行的安全实施和部署方案,以解决云安全中最难解决的检测、审计、应用防护以及AAA认证。

2云计算安全的问题

通常概念中安全产品和网络产品的部署模式一样,通过接入网络拓扑的核心交换机或者透明串联在网络的出口位置来实现对流量的统一管理,但在云计算平台中,无法将安全设备直接并行或者穿行部署在医疗机构VPC中。除此以外在云计算环境中实现安全框架时需要解决如下问题:1)可伸缩性;2)海量数据(日志、流量);3)安全审计和检测;4)统一身份认证;5)数据安全。

3基于openstack的医疗云计算安全架構

3.1分布式日志审计

分布式日志审计系统主要解决海量医疗大数据并发造成的性能瓶颈,能弹性扩展医疗机构对日志审计系统的需求,并完成统一的日志分析和处理。日志内容包括系统日志和web应用访问日志等,准确定位分类日志中的攻击行为。为安全和运维工作人员提供加固应用和事后追溯的有效依据。在分析过程中产生的大量日志,医疗云计算提供安全存储服务器,已保证数据不会被未授权用户访问,造成用户隐私数据的泄露。

在医疗云计算中日志审计一直都是一个巨大的挑战,在面对海量日志的情况下,实现日志分类、分离和存储的过程中会面临非常对的问题。在实现分布式日志审计系统分为采集层、汇聚层、计算层、数据存储层以及数据可视化。整体设计如图1所示。

对于日志类型繁杂和多应用多医疗机构的环境中,采用如下步骤实现日志的采集和分类,采用syslog实现对海量日志的分布式收集,并将日志传输至flume-ng层完成日志的统一分发。在flume采集系统完成数据采集之后将日志汇聚至kafka层对日志流实现队列化,实现日志数据的平稳传输,并通过分布式实时计算集群storm来对日志做处理,定位存在sql注入、跨站脚本(SSS)、目录遍历、暴力破解登陆等攻击行为的日志,并对结果进行统计、存储、预警以及可视化。

而syslog的应用配置和部署则通过RESTful API交互,实现对配置文件的下载,并开启服务。为保证数据的完整性和机密性使用SSL/TLS协议进行加密,医疗机构agent通过VR(虚拟路由器)转发至日志审计系统,通过访问控制实现可信路径。

3.2分布式入侵检测

在网络安全的概念中,入侵检测往往包括网络层入侵检测(NIDS)、主机层入侵检测(HIDS)以及物理层入侵检测等,本文只讨论NIDS和HIDS在云计算环境中的分布式部署。传统设备中部署IDS需要在交换机中实现流量的镜像,如果是多个用户或者多个需要分隔的子网则需要多条策略实现不多端口的流量镜像。而在医疗云中采用软件定义安全,将控制平面上移,自动下发安全策略,借助SDN技术可以方便地实现流量调度,通过SDN控制器向Open vSwitch等网络设备下发FLOW_MOD指令并下发流表,对匹配策略的流量进行控制,实现将流量镜像至vIDS,如图2所示。

私有云中HIDS的实现则需要通过部署agent实现对云主机全方位细粒度的监控,对主机用户的可疑行为、系统文件完整性及基线安全等进行识别、记录和预警。而agent的部署通过编译镜像文件将agent绑定在镜像中,在申请资源的开始部署agent在客户端中,如图3所示。

3.3分布式应用防火墙

采用反向代理的方式实现分布式应用防火墙的部署,有两种方式实现反向代理vWAF的部署:

第一种:通过SDN控制器下发FLOW_MOD指令,在虚拟网关上将Web服务器的HTFP流量定向至交换机端口,部署vWAF的入口为此端口。由于正常的HTYP流量目的IP为Web应用服务器地址,而此时反向代理实现的vWAF不会处理该流量。而需要通过重定向目的地址,将流量重新定向至vWAF,可采用iptables实现流量转发,如图4所示。

第二种:通过nginx实现对应用的反向代理,将流量指向反向代理服务器,从而实现安全防护。Web应用通过nginx对外发布,通过在nginx层部署防护引擎和安全防护规则,可采用Modsecurity作为vWAF的防护引擎,并部署OWASP开源防护规则。通过此种方式部署可以将nginx层的应用访问日志通过agent传输至分布式日志审计系统中对日志进行分析。

3.4身份认证

Keystone作为openstack中的安全认证模块,通过API实现身份验证、服务规则和服务令牌的功能,Openstack在F版本之前只能依靠UUID生成令牌ID,生成的令牌保存在keystone的后台数据库中的同时发布给客户端,客户端拥有了ID之后通过keystone验证请求的合法性。此种方式可能会造成请求并发,从而导致keystone成为性能的瓶颈。而在F版本之后keystone引入了PKI機制,通过在服务端存放CA的公钥证书和用户签名公钥证书可以本地实现对token的验证,可以有效地解决keystone频繁交互造成的瓶颈问题,与此同时只要用户并未丢失自己的私钥,其他用户将无法盗用和冒充这个合法用户,极大的提升了openstack的整体安全性。

为实现医疗云AAA认证,可以采用Lightweight DirectoryAccess Protocol(以下简称LDAP协议)结合keystone集成实现,通过Keystone的LDAP身份驱动程序使用已安装的LDAP服务器。能够让keystone从第三方的LDAP服务器获取统一管理的用户,来完成对OpenStack的操作,并能keystone兼容tenant,user,role等概念。可以通过LDAP服务对账号进行验证,实现企业和组织内部的统一身份验证。

3.5数据安全

海量患者的数据安全将在存储安全和传输安全实现对数据的安全防护。存储安全方面首先需要对数据卷加密,OpenStack中Cinder与libvirt都可支持存储卷加密,而在机密性极其重要的项目中,采用配置多后端存储,将敏感数据放在相互隔离的存储中。而数据在传输过程中,openstack提供了SSL/TLS加密,对keystone的RESTAPI进行加密传输,并对云计算中应用通讯同样采用SSL/TLS实现加密传输。

4结束语

利用云计算技术来解决医疗信息化和医疗大数据的难题已经成为各学者和专家的研究热点,必然是我国推进医改过程中的发展趋势。本文介绍了基于openstack实现的私有云安全框架的实现方式,解决了医疗私有云云的统一身份认证、安全审计、应用防护和流量监测,采用分布式方式部署,解决医疗大数据的安全防护,避开性能瓶颈。云计算安全在云计算的不断发展过程中会显得越来越重要,而其被入侵之后造成的损失也会随着云计算的发展变得越来越大,云场景下的安全也对传统IT环境中安全架构提出挑战,在满足云计算的特性的同时实现细粒度、全方位的安全框架是未来需要重点解决的痛点。另外由于医疗大数据和云计算都存在复杂性、多样性等特点,云计算+医疗大数据还需要长期的探索和实践。

猜你喜欢
云计算分布式
基于预处理MUSIC算法的分布式阵列DOA估计
实验云:理论教学与实验教学深度融合的助推器
西门子 分布式I/O Simatic ET 200AL
家庭分布式储能的发展前景