喬日英 王琦 王偉娜
摘要:云計算將大量的計算、存儲資源進行整合,將資源按需分配,也代表著信息技術(shù)領(lǐng)域向規(guī)模化、集中化和專業(yè)化道路發(fā)展的趨勢。伴隨著醫(yī)療行業(yè)數(shù)據(jù)呈現(xiàn)爆炸式增長,傳統(tǒng)的醫(yī)療信息化方式已經(jīng)不能滿足醫(yī)療衛(wèi)生服務(wù)的需求,云計算+大數(shù)據(jù)的診療方式成為近幾年的研究熱點,借助云計算資源無限拓展的特性,醫(yī)院可以以更低的成本享受到更高的醫(yī)療IT服務(wù)。但是在提高資源使用率和節(jié)省成本的同時,在患者信息、個人資產(chǎn)安全與患者隱私保護中存在著極大的挑戰(zhàn),安全成為云計算+大數(shù)據(jù)中最為重要和迫切需要解決的問題。為了解決云環(huán)境在使用過程中的機密、完整和可追溯性,提出基于openstack私有云安全框架的最佳實踐,從日志審計、入侵檢測、應(yīng)用防護、身份認證以及數(shù)據(jù)安全等方面整合安全架構(gòu),采用分布式部署來實現(xiàn)云計算環(huán)境對安全的需求。
關(guān)鍵詞:醫(yī)療大數(shù)據(jù);openstack;云計算;云安全架構(gòu);分布式
1云計算安全遇到的挑戰(zhàn)
1.1與傳統(tǒng)網(wǎng)絡(luò)的差異化比較
在云計算環(huán)境中,一般采用分布式以及軟件定義網(wǎng)絡(luò)(SDN)技術(shù)來構(gòu)架數(shù)據(jù)中心,而在云安全實現(xiàn)的過程中采用軟件定義安全的方式實現(xiàn)云安全架構(gòu)。而在傳統(tǒng)網(wǎng)絡(luò)中,安全的檢測、響應(yīng)和防護依然采用單機硬件安全設(shè)備以及人工安全運維,無法實現(xiàn)統(tǒng)一安全管理,更無法實現(xiàn)自動靈活的安全系統(tǒng)部署,無法解決云計算平臺中安全框架實現(xiàn)的痛點。
為解決云計算安全平臺的每個方面的安全問題,電信行業(yè)提出了計算機安全框架。從物理層、網(wǎng)絡(luò)層、主機層、應(yīng)用層以及數(shù)據(jù)安全幾個層面分別對云計算平臺的安全做了詳細的闡述:數(shù)據(jù)安全:數(shù)據(jù)隔離、數(shù)據(jù)備份恢復(fù)、鏡像文件保護、機密數(shù)據(jù)保護、參與數(shù)據(jù)處理:應(yīng)用安全:會話管理、應(yīng)用身份識別、應(yīng)用安全漏洞和入侵防護;主機安全:OS安全(數(shù)據(jù)隔離、主機訪問控制、主機安全漏洞、主機安全審計),VMM安全(vMM安全漏洞、VMM訪問控制、VMM身份鑒別);網(wǎng)絡(luò)安全:虛擬安全域(虛擬防火墻、虛擬安全劃分)、(網(wǎng)格結(jié)構(gòu)、網(wǎng)絡(luò)訪問控制、網(wǎng)絡(luò)入侵保護、網(wǎng)絡(luò)安全審計);物理安全:物理訪問控制、機房位置、防火、雷電、靜電等。
為滿足云計算對安全的需求,需要提出切實可行的安全實施和部署方案,以解決云安全中最難解決的檢測、審計、應(yīng)用防護以及AAA認證。
2云計算安全的問題
通常概念中安全產(chǎn)品和網(wǎng)絡(luò)產(chǎn)品的部署模式一樣,通過接入網(wǎng)絡(luò)拓撲的核心交換機或者透明串聯(lián)在網(wǎng)絡(luò)的出口位置來實現(xiàn)對流量的統(tǒng)一管理,但在云計算平臺中,無法將安全設(shè)備直接并行或者穿行部署在醫(yī)療機構(gòu)VPC中。除此以外在云計算環(huán)境中實現(xiàn)安全框架時需要解決如下問題:1)可伸縮性;2)海量數(shù)據(jù)(日志、流量);3)安全審計和檢測;4)統(tǒng)一身份認證;5)數(shù)據(jù)安全。
3基于openstack的醫(yī)療云計算安全架構(gòu)
3.1分布式日志審計
分布式日志審計系統(tǒng)主要解決海量醫(yī)療大數(shù)據(jù)并發(fā)造成的性能瓶頸,能彈性擴展醫(yī)療機構(gòu)對日志審計系統(tǒng)的需求,并完成統(tǒng)一的日志分析和處理。日志內(nèi)容包括系統(tǒng)日志和web應(yīng)用訪問日志等,準確定位分類日志中的攻擊行為。為安全和運維工作人員提供加固應(yīng)用和事后追溯的有效依據(jù)。在分析過程中產(chǎn)生的大量日志,醫(yī)療云計算提供安全存儲服務(wù)器,已保證數(shù)據(jù)不會被未授權(quán)用戶訪問,造成用戶隱私數(shù)據(jù)的泄露。
在醫(yī)療云計算中日志審計一直都是一個巨大的挑戰(zhàn),在面對海量日志的情況下,實現(xiàn)日志分類、分離和存儲的過程中會面臨非常對的問題。在實現(xiàn)分布式日志審計系統(tǒng)分為采集層、匯聚層、計算層、數(shù)據(jù)存儲層以及數(shù)據(jù)可視化。整體設(shè)計如圖1所示。
對于日志類型繁雜和多應(yīng)用多醫(yī)療機構(gòu)的環(huán)境中,采用如下步驟實現(xiàn)日志的采集和分類,采用syslog實現(xiàn)對海量日志的分布式收集,并將日志傳輸至flume-ng層完成日志的統(tǒng)一分發(fā)。在flume采集系統(tǒng)完成數(shù)據(jù)采集之后將日志匯聚至kafka層對日志流實現(xiàn)隊列化,實現(xiàn)日志數(shù)據(jù)的平穩(wěn)傳輸,并通過分布式實時計算集群storm來對日志做處理,定位存在sql注入、跨站腳本(SSS)、目錄遍歷、暴力破解登陸等攻擊行為的日志,并對結(jié)果進行統(tǒng)計、存儲、預(yù)警以及可視化。
而syslog的應(yīng)用配置和部署則通過RESTful API交互,實現(xiàn)對配置文件的下載,并開啟服務(wù)。為保證數(shù)據(jù)的完整性和機密性使用SSL/TLS協(xié)議進行加密,醫(yī)療機構(gòu)agent通過VR(虛擬路由器)轉(zhuǎn)發(fā)至日志審計系統(tǒng),通過訪問控制實現(xiàn)可信路徑。
3.2分布式入侵檢測
在網(wǎng)絡(luò)安全的概念中,入侵檢測往往包括網(wǎng)絡(luò)層入侵檢測(NIDS)、主機層入侵檢測(HIDS)以及物理層入侵檢測等,本文只討論NIDS和HIDS在云計算環(huán)境中的分布式部署。傳統(tǒng)設(shè)備中部署IDS需要在交換機中實現(xiàn)流量的鏡像,如果是多個用戶或者多個需要分隔的子網(wǎng)則需要多條策略實現(xiàn)不多端口的流量鏡像。而在醫(yī)療云中采用軟件定義安全,將控制平面上移,自動下發(fā)安全策略,借助SDN技術(shù)可以方便地實現(xiàn)流量調(diào)度,通過SDN控制器向Open vSwitch等網(wǎng)絡(luò)設(shè)備下發(fā)FLOW_MOD指令并下發(fā)流表,對匹配策略的流量進行控制,實現(xiàn)將流量鏡像至vIDS,如圖2所示。
私有云中HIDS的實現(xiàn)則需要通過部署agent實現(xiàn)對云主機全方位細粒度的監(jiān)控,對主機用戶的可疑行為、系統(tǒng)文件完整性及基線安全等進行識別、記錄和預(yù)警。而agent的部署通過編譯鏡像文件將agent綁定在鏡像中,在申請資源的開始部署agent在客戶端中,如圖3所示。
3.3分布式應(yīng)用防火墻
采用反向代理的方式實現(xiàn)分布式應(yīng)用防火墻的部署,有兩種方式實現(xiàn)反向代理vWAF的部署:
第一種:通過SDN控制器下發(fā)FLOW_MOD指令,在虛擬網(wǎng)關(guān)上將Web服務(wù)器的HTFP流量定向至交換機端口,部署vWAF的入口為此端口。由于正常的HTYP流量目的IP為Web應(yīng)用服務(wù)器地址,而此時反向代理實現(xiàn)的vWAF不會處理該流量。而需要通過重定向目的地址,將流量重新定向至vWAF,可采用iptables實現(xiàn)流量轉(zhuǎn)發(fā),如圖4所示。
第二種:通過nginx實現(xiàn)對應(yīng)用的反向代理,將流量指向反向代理服務(wù)器,從而實現(xiàn)安全防護。Web應(yīng)用通過nginx對外發(fā)布,通過在nginx層部署防護引擎和安全防護規(guī)則,可采用Modsecurity作為vWAF的防護引擎,并部署OWASP開源防護規(guī)則。通過此種方式部署可以將nginx層的應(yīng)用訪問日志通過agent傳輸至分布式日志審計系統(tǒng)中對日志進行分析。
3.4身份認證
Keystone作為openstack中的安全認證模塊,通過API實現(xiàn)身份驗證、服務(wù)規(guī)則和服務(wù)令牌的功能,Openstack在F版本之前只能依靠UUID生成令牌ID,生成的令牌保存在keystone的后臺數(shù)據(jù)庫中的同時發(fā)布給客戶端,客戶端擁有了ID之后通過keystone驗證請求的合法性。此種方式可能會造成請求并發(fā),從而導(dǎo)致keystone成為性能的瓶頸。而在F版本之后keystone引入了PKI機制,通過在服務(wù)端存放CA的公鑰證書和用戶簽名公鑰證書可以本地實現(xiàn)對token的驗證,可以有效地解決keystone頻繁交互造成的瓶頸問題,與此同時只要用戶并未丟失自己的私鑰,其他用戶將無法盜用和冒充這個合法用戶,極大的提升了openstack的整體安全性。
為實現(xiàn)醫(yī)療云AAA認證,可以采用Lightweight DirectoryAccess Protocol(以下簡稱LDAP協(xié)議)結(jié)合keystone集成實現(xiàn),通過Keystone的LDAP身份驅(qū)動程序使用已安裝的LDAP服務(wù)器。能夠讓keystone從第三方的LDAP服務(wù)器獲取統(tǒng)一管理的用戶,來完成對OpenStack的操作,并能keystone兼容tenant,user,role等概念??梢酝ㄟ^LDAP服務(wù)對賬號進行驗證,實現(xiàn)企業(yè)和組織內(nèi)部的統(tǒng)一身份驗證。
3.5數(shù)據(jù)安全
海量患者的數(shù)據(jù)安全將在存儲安全和傳輸安全實現(xiàn)對數(shù)據(jù)的安全防護。存儲安全方面首先需要對數(shù)據(jù)卷加密,OpenStack中Cinder與libvirt都可支持存儲卷加密,而在機密性極其重要的項目中,采用配置多后端存儲,將敏感數(shù)據(jù)放在相互隔離的存儲中。而數(shù)據(jù)在傳輸過程中,openstack提供了SSL/TLS加密,對keystone的RESTAPI進行加密傳輸,并對云計算中應(yīng)用通訊同樣采用SSL/TLS實現(xiàn)加密傳輸。
4結(jié)束語
利用云計算技術(shù)來解決醫(yī)療信息化和醫(yī)療大數(shù)據(jù)的難題已經(jīng)成為各學者和專家的研究熱點,必然是我國推進醫(yī)改過程中的發(fā)展趨勢。本文介紹了基于openstack實現(xiàn)的私有云安全框架的實現(xiàn)方式,解決了醫(yī)療私有云云的統(tǒng)一身份認證、安全審計、應(yīng)用防護和流量監(jiān)測,采用分布式方式部署,解決醫(yī)療大數(shù)據(jù)的安全防護,避開性能瓶頸。云計算安全在云計算的不斷發(fā)展過程中會顯得越來越重要,而其被入侵之后造成的損失也會隨著云計算的發(fā)展變得越來越大,云場景下的安全也對傳統(tǒng)IT環(huán)境中安全架構(gòu)提出挑戰(zhàn),在滿足云計算的特性的同時實現(xiàn)細粒度、全方位的安全框架是未來需要重點解決的痛點。另外由于醫(yī)療大數(shù)據(jù)和云計算都存在復(fù)雜性、多樣性等特點,云計算+醫(yī)療大數(shù)據(jù)還需要長期的探索和實踐。