蔡向峰 王帶弟 鄭 重 趙 超
1 廣東省電信規(guī)劃設計院有限公司沈陽分院 沈陽 110000
2 中國電信集團公司吉林省分公司 長春 130000
云計算技術被認為是繼微型計算機和互聯(lián)網(wǎng)后的第三次IT革命,是互聯(lián)網(wǎng)和IT融合發(fā)展的大趨勢之一。按照Gartner的分析及預測,云主機和云存儲市場在2013年的增速均高達47%,但云主機市場未來的增速要高于云存儲。云主機在IaaS市場的整體份額在2017年將達到84%,市場規(guī)模有望突破250億美元。企業(yè)IT系統(tǒng)向云遷移的趨勢已經(jīng)勢不可擋,但遷移前最大的擔憂來自于數(shù)據(jù)安全。伴隨著企業(yè)向云環(huán)境的遷移,保護數(shù)據(jù)的傳統(tǒng)方法則面臨基于云的架構所帶來的全新挑戰(zhàn)。高彈性的、多租戶、全新的物理與邏輯架構以及抽象控制均需要新的數(shù)據(jù)安全戰(zhàn)略[1-2]。云中應用的數(shù)據(jù)安全(包括數(shù)據(jù)的機密性、完整性和可用性)是成功向云遷移的最大保證。
應用向云中的遷移分為6個步驟:遷移評估、概念驗證、數(shù)據(jù)遷移、應用遷移、合理應用和優(yōu)化系統(tǒng)。其中,遷移第一階段會對數(shù)據(jù)安全做詳細評估和驗證。
市場上云服務提供商有很多,包括AWS(Amazon Web Service)、Windows Azure、阿里云等。AWS市場占有率第一,無論在服務的廣度和深度上都有其優(yōu)勢,本文以應用遷移至AWS為例分析云應用傳輸中的數(shù)據(jù)及非流動性數(shù)據(jù)(存儲在磁盤上等不在網(wǎng)絡上傳送的數(shù)據(jù))的安全解決方案。
安全是比較宏大的主題,涉及技術、組織和法規(guī)等各個層面。從技術角度來說,云應用安全責任分工和原有物理或私有云環(huán)境有較大不同,通常云應用安全責任分工[3-4]如圖1所示。
圖1 云應用安全責任分工
數(shù)據(jù)中心本身的物理安全、硬件安全、物理網(wǎng)絡監(jiān)控及安全API等均由云服務提供者來保證,云服務本身的賬號安全、管理權限相關的安全、操作系統(tǒng)的安全以及使用各類云服務之后的相關應用安全和網(wǎng)絡接入控制由客戶來保證。
云應用常通過Internet傳輸數(shù)據(jù),當在云環(huán)境下運行應用時,保護傳輸中的數(shù)據(jù)非常重要,Internet上傳輸數(shù)據(jù)存在的威脅關注點如表1所示。
表1 Internet上傳輸數(shù)據(jù)存在的威脅關注點分類
Amazon VPC(Virtual Private Cloud)[5]允許在AWS云中預配置出一個采用邏輯隔離的部分,在定義的虛擬網(wǎng)絡中啟動AWS資源。選擇自有的IP地址范圍、創(chuàng)建子網(wǎng),以及配置路由表和網(wǎng)關,來完全掌控虛擬環(huán)境。
VPC可將AWS資源放到一個定義好的虛擬網(wǎng)絡里,控制來自個人實例的內(nèi)外部訪問,可隔離一個或多個公有或私有子網(wǎng)中IP地址。為訪問Internet的Web服務器創(chuàng)建公有子網(wǎng),使用IPSecVPN連接在VPC和企業(yè)自有IP架構(傳統(tǒng)或私有云IT架構)間建立橋接。而將數(shù)據(jù)庫或應用程序服務器等后端系統(tǒng)放在不能訪問Internet的私有子網(wǎng)中,利用安全組和網(wǎng)絡訪問控制列表等多種安全層,幫助對各個子網(wǎng)中Amazon EC2實例的訪問進行控制,傳輸實例如圖2所示。
此外,也可以在公司數(shù)據(jù)中心和VPC之間創(chuàng)建硬件虛擬專用網(wǎng)絡(VPN)連接,將AWS云用作公司數(shù)據(jù)中心的擴展。
圖2 VPC數(shù)據(jù)傳輸實例圖
當訪問AWS公有云上的應用時,大部分情況認為Internet是個不安全的通信媒介,安全策略是保護傳輸中的數(shù)據(jù),保護傳輸數(shù)據(jù)方法概括如表2所示。
表2 管理應用及訪問公有云服務時傳輸數(shù)據(jù)安全策略
通過AWS管理控制臺或AWS API管理諸如Amazon EC2和Amazon S3服務。服務管理實例包括創(chuàng)建一個新的Amazon EC2 實例、保存一個對象到Amazon S3(Simple Storage Service)桶或者修改一個基于VPC的安全組。
AWS管理控制臺在客戶瀏覽和服務端用SSL/TLS保護AWS服務管理網(wǎng)絡流量。用X.509保證數(shù)據(jù)完整性,實現(xiàn)客戶瀏覽的服務端身份認證。隨后在客戶瀏覽和控制服務端點間制定SSL/TLS會話,保護SSL/TLS會話里的所有HTTP通信。
可用AWS API或通過應用又或第三方工具(SDK或者AWS命令行工具)管理來自AWS的服務。AWS API是在HTTPS上的web服務(SOAP或者REST),在基于已用的API和所有網(wǎng)絡流量在客戶端和特殊的AWS服務端間建立SSL/TLS會話,保護SOAP/REST包及用戶負載在SSL/TLS的會話。
和用戶負載一樣,包括所有的Amazon S3服務管理請求,例如通過Amazon S3來存儲或者恢復的所有內(nèi)容和相關元數(shù)據(jù),Amazon S3通過在HTTPS上的SOAP來存取數(shù)據(jù)。
當AWS服務控制臺被用來管理Amazon S3,一個SSL/TLS連接在客戶端和Amazon S3端被建立,然后在被保護會話中密封所有的HTTP、SAOP及用戶負載網(wǎng)絡流量。
如果你在同一個區(qū)域中正在連接到來自Amazon EC2實例的Amazon RDS,可依靠AWS網(wǎng)絡安全;但如果你正在連接Internet,為了附加防護,你可能想要用SSL/TLS。
SSL/TLS通過X.509證書提供認證,為客戶端連接保證數(shù)據(jù)完整性及加密數(shù)據(jù)。
RDS MySQL和Microsoft SQL實例連接一般支持SSL/TLS。對于兩個產(chǎn)品來說,Amazon Web服務提供一個單獨的自簽名證書與MySQL或Microsoft SQL監(jiān)聽器聯(lián)合。為了在服務器側(cè)身份認證及預防中間人攻擊或者身份欺騙攻擊,可以下載單獨的自簽名證書,并設定它為可信的。SSL/TLS提供為服務器端及客戶端本機加密及數(shù)據(jù)完整性認證。因為相同的自簽名證書在AWS中所有Amazon SQL實例中可用,每一個對等點身份認證不能提供給單個實例認證。若需要通過SSL/TLS個人服務器認證,則需要利用AWS EC2和自我管理的關系型數(shù)據(jù)庫服務。
為Oracle本地網(wǎng)絡加密,Amazon RDS隨著數(shù)據(jù)庫的遷入和遷出加密數(shù)據(jù)。Oracle本地網(wǎng)絡加密使用行業(yè)標準的加密算法如AES和DES,可以在Oracle網(wǎng)絡服務加密網(wǎng)絡流量。
在應用遷移的第一步遷移評估和第三步數(shù)據(jù)遷移中都會對數(shù)據(jù)進行云中映射[6]。在原有的物理或私有云環(huán)境中,生產(chǎn)數(shù)據(jù)存儲在磁盤(本地存儲或SAN共享存儲)中,備份數(shù)據(jù)一般存儲在磁帶或虛擬帶庫磁盤中。這種數(shù)據(jù)存儲方式遷移到云環(huán)境時會有比較大的變化,因為云環(huán)境提供了更多的存儲選擇,遷移前應根據(jù)數(shù)據(jù)格式(結(jié)構化、半結(jié)構化、非結(jié)構化)、數(shù)據(jù)集的大小、數(shù)據(jù)性能要求(IOPS、延遲等)以及數(shù)據(jù)的可用性和可持久性要求,選擇合適的云存儲方式。具體建議如表3所示。
S3中存儲的一般為靜態(tài)生產(chǎn)數(shù)據(jù)或備份數(shù)據(jù)。在S3中存儲的數(shù)據(jù)安全主要通過三種方案來實現(xiàn):客戶端加密或者服務端加密、接入控制、以及分布式存儲技術實現(xiàn)的超高可用性及持久性。
1) 客戶端加密或者服務端加密。加密技術增強了存儲在S3中數(shù)據(jù)的安全性。客戶端的加密方案指在上傳S3之前對數(shù)據(jù)進行加密,由客戶來控制加密流程、秘鑰及相關的工具,可使用業(yè)界流行的各類加密方法,如AES-256、RSA等。
表3 遷移時數(shù)據(jù)存儲的選擇及比對建議
服務端加密是S3本身的一個特性(可選),S3將會在數(shù)據(jù)文件寫入磁盤前對數(shù)據(jù)進行自動加密,當用戶下載數(shù)據(jù)的時候自動解密。將用戶從管理加密流程、秘鑰和相關工具的任務中解放出來。采用的是AES-256對數(shù)據(jù)進行加密,且可對單個對象進行加密。在上傳S3對象的時候,客戶可明確指定是否需要采用加密方式來存儲數(shù)據(jù)。服務端加密是可選的,可在一個存儲桶里面同時加入加密對象和不加密對象。S3也支持對存儲桶下的對象都進行加密。
2) 訪問控制。接入控制主要有三種解決方案。①身份認證管理(Identity and Access Management,IAM):安全地控制用戶對各類云服務和資源的訪問權限。云用戶可以使用IAM來創(chuàng)建和管理用戶和群組,并使用各種權限來允許或拒絕他們訪問各類云資源,針對用戶來對S3中資源進行接入控制管理。②存儲桶策略(Bucket Policy):可以對整個存儲桶或單個對象進行訪問控制。③訪問控制列表(ACL):只能按照AWS賬號來對S3中的資源進行訪問控制。
綜合來講,ACL是粗粒度方案,IAM和Bucket Policy是細粒度訪問控制方案,在不同應用場景,可合理地選擇不同的方案或者幾種方案的組合來靈活使用。
3) 分布式存儲技術。S3本身就是分布式對象存儲,其內(nèi)部實現(xiàn)方法AWS沒有對外公開,但從其公開的一些SLA中可以發(fā)現(xiàn)S3本身的可用性和持久性。S3會自動在一個區(qū)域(region)跨多個可用區(qū)(AZ)復制多個存儲的副本,S3的持久性為99.999999999%(11個9),放在S3上的數(shù)據(jù)不用擔心丟失問題。S3本身的分布式也支持幾乎無限的存儲容量(超過2萬億的數(shù)據(jù)對象)及高并發(fā)的吞吐量(峰值每秒鐘300萬請求)。在S3中存儲的數(shù)據(jù)不用擔心性能、可用性及持久性問題,唯一需要用戶關注提升性能及可用性的優(yōu)化,S3是按照對象鍵名的前綴來進行自動分區(qū)分布數(shù)據(jù)的,比如大量的以時間戳方式來命名的數(shù)據(jù):2014_12_05-1129879.jpg,2014_12_05-1139469.jpg等,如果按照原有文件名方式直接進行存儲,那么這些文件會落入到一個partition里面,訪問吞吐率很可能會限制在100個PUT或者GET的操作。最簡單的解決方案就是把文件名做一個反轉(zhuǎn),1139469-2014_12_05.jpg,1129879-2014_12_05.jpg。經(jīng)過反轉(zhuǎn)之后文件名前綴引入了足夠多的隨機性,這樣的數(shù)據(jù)其存放的分布性更強,訪問吞吐率也會變高,數(shù)據(jù)可用性變強。
通過客戶端加密或服務端加密,使用良好的訪問控制以及S3本身的高可用及高持久性,可保證在云中存儲的靜態(tài)數(shù)據(jù)的安全性。
EBS(Elastic Block Store)可在AWS云中提供用于Amazon EC2實例的持久性數(shù)據(jù)塊級存儲卷。每個EBS卷在其可用區(qū)內(nèi)自動復制,免于組件故障的威脅,同時提供高可用性和持久性。為保證數(shù)據(jù)更高的安全性,EBS可以很方便地使用快照(snapshot)功能,用戶可以定期為EBS存儲數(shù)據(jù)執(zhí)行快照(增量快照),快照可以存儲在S3上,S3可以放在本區(qū)域中或者放置到其他的區(qū)域中,達到數(shù)據(jù)容災的效果。
1) 數(shù)據(jù)加密方案。加密的解決方案類似S3的解決方案,可分為使用公有云廠商的加密方案及用戶自加密兩種。
EBS加密屬于EBS的服務內(nèi)容之一,讓客戶無需構建、維護和保護自己的密鑰管理基礎設施。創(chuàng)建加密EBS卷并將它連接到支持的實例類型時,該卷上靜態(tài)存儲的數(shù)據(jù)、磁盤I/O和通過該卷創(chuàng)建的快照都會進行加密。加密在托管Amazon EC2實例的服務器上進行,從而為從EC2實例傳輸?shù)紼BS存儲的數(shù)據(jù)提供加密。
所有EBS卷類型(General Purpose (SSD)、Provisioned IOPS)都支持此功能,加密卷對延遲的影響極小,其中Provisioned IOPS性能與未加密卷一樣??梢酝ㄟ^與訪問現(xiàn)有卷相同的方式來訪問EBS卷。加密和解密以透明方式處理,虛擬機實例和應用程序無需執(zhí)行其他操作。加密EBS卷的快照會自動加密,通過加密EBS快照創(chuàng)建的卷也會自動加密。
云服務提供者處理密鑰管理。每個新創(chuàng)建的卷都使用唯一的256位密鑰加密;卷的所有快照以及快照創(chuàng)建的后續(xù)卷也共享該密鑰。這些密鑰受云服務提供商密鑰管理基礎設施的保護,實施強邏輯和物理安全控制以防止未經(jīng)授權的訪問。客戶的數(shù)據(jù)和關聯(lián)的密鑰使用行業(yè)標準的 AES-256算法進行加密。
EC2掛載的EBS文件加密也可完全依賴用戶進行加密。通過不同的操作系統(tǒng)對文件系統(tǒng)加密也可以實現(xiàn)數(shù)據(jù)的保密,Windows系統(tǒng)使用EFS,可對文件和文件夾加密。如果需要加密整個卷,開源truecrypt可以很好地和NTFS的EBS整合。Linux可以使用加密文件系統(tǒng)掛載(EncFS、Loop-AES、truecrypt)。使用之后只有服務器上的用戶和進程才可以看到明文的數(shù)據(jù)。
2) 數(shù)據(jù)訪問控制方案。和S3的訪問控制基本相似,EBS卷的訪問權限與IAM相集成。IAM對EBS卷啟用訪問控制。針對各類云用戶和組進行各種訪問控制的設置,保證ESB的訪問是可控、可管和可信的。
大多數(shù)IT系統(tǒng)數(shù)據(jù)庫最核心的數(shù)據(jù)處理與存儲單元的安全對整體系統(tǒng)在云中的運行來說至關重要,本文依舊采用原有環(huán)境(物理環(huán)境或私有云環(huán)境)數(shù)據(jù)庫6步方案。在遷移之前也需要進行評估,主要包括現(xiàn)狀分析、制定遷移目標、云服務映射、制定云中的系統(tǒng)架構等步驟。在AWS中,數(shù)據(jù)庫可分為SQL和NO SQL兩大類,服務類型可以分為DIY和托管服務兩大類。SQL的托管服務為RDS,另一種DIY方式的實質(zhì)就是在虛擬機操作系統(tǒng)上直接安裝數(shù)據(jù)庫軟件。RDS支持MySQL、Oracle、Microsoft SQL Server或PostgreSQL。當前已用于現(xiàn)有數(shù)據(jù)庫的代碼、應用程序和工具可用在RDS上。RDS可自動升級補丁和備份。只需通過一次API調(diào)用,即可靈活地擴展與DB Instance相關聯(lián)的計算資源或存儲容量。直接在虛擬機上安裝數(shù)據(jù)庫可實現(xiàn)對數(shù)據(jù)庫的完全掌控,在數(shù)據(jù)庫的可用性、性能、管理和監(jiān)控、授權、支持方面,和原有的物理環(huán)境比較相似(實質(zhì)上性能和可用性需要的架構和原有環(huán)境有很大不同,在合理設計之后可實現(xiàn)和原有環(huán)境相同或更高的能力)。本文以DIY的Oracle數(shù)據(jù)庫為例介紹數(shù)據(jù)庫的安全解決方案。
1) 數(shù)據(jù)庫可用性解決方案,如圖3所示。通過Active Data Guard實現(xiàn)不同AZ之間數(shù)據(jù)庫的同步、讀寫分離,實現(xiàn)高可用和負載分擔。備份解決方案有兩種,通過RMAN+OSB備份至S3或通過RMAN備份至EBS,也可以再給備份的EBS做個快照存至S3,實現(xiàn)數(shù)據(jù)的高持久性。長期不經(jīng)常使用的數(shù)據(jù)可設置失效時限,放到Glacier。
同城容災:多AZ的實現(xiàn)方案,S3備份,讀寫分庫且多AZ。
異地容災:RMAN+OSB異地到S3或pilot light(長明燈,有一個基本虛擬機一直在運行著,掛載的是Active Data Guard同步的EBS,可以實現(xiàn)比備份、恢復更短的RPO)方案。
圖3 數(shù)據(jù)庫可用性解決方案
2) 網(wǎng)絡安全方案(如圖4所示)。使用VPC可創(chuàng)建邏輯私有、隔離的網(wǎng)絡,通過Ipsec VPN和原有物理數(shù)據(jù)中心建立安全的數(shù)據(jù)連接(如果是混合架構),通過VPC的路由表+安全組(Security Group)可以創(chuàng)建靈活的網(wǎng)絡訪問方式;使用NAT保證數(shù)據(jù)庫服務器具備互聯(lián)網(wǎng)流出功能,而不能被互聯(lián)網(wǎng)主動訪問;使用堡壘機確保安全登錄及配置。
圖4 網(wǎng)絡及加密解決方案
3) 加密方案(如圖4所示)。通過透明頁面加密實現(xiàn)對靜態(tài)數(shù)據(jù)的加密,加密方式為AES或者3DES。
4) 數(shù)據(jù)訪問控制。使用虛擬私有數(shù)據(jù)庫控制對數(shù)據(jù)庫行和列的安全接入,使用Oracle Database Vault保證特殊敏感信息,使用IAM進行EC2等相關資源的授權和認證。
云環(huán)境與傳統(tǒng)環(huán)境(私有云或者傳統(tǒng)IT架構)下的數(shù)據(jù)安全相比,加密算法、證書等技術相同,但接入控制、權限控制、架構等大不相同。通過對傳輸中的數(shù)據(jù)及非流動性的數(shù)據(jù)安全解決方案分析,總結(jié)出可使用諸如加密、備份、證書、接入控制、權限控制、合理的架構等方案來實現(xiàn)數(shù)據(jù)的高安全,保證傳統(tǒng)環(huán)境下的信息系統(tǒng)向公有云服務遷移中及遷移后的數(shù)據(jù)安全。
參考文獻
[1]The Data Security Lifecycle[EB/OL].[2015-01-02].http://www.securosis.com/blog/data-security-lifecycle-2.0
[2]Sun Y S,Zhang J S,Xiong Y P.Data Security and Privacy in Cloud Computing[J/OL].[2015-01-02].International Journal of Distributed Sensor Networks.http://dx.doi.org/10.1155/2014/190903
[3]陳馳,于晶.云計算安全體系[M].北京:北京科學出版社,2014
[4]曾慶凱,許峰,張有東.信息安全體系結(jié)構[M].北京:電子工業(yè)出版社,2010
[5]Extend Your IT Infrastructure with Amazon Virtual Private Cloud[EB/OL].[2015-01-02].http://aws.amazon.com/whitepapers/
[6]Securing Data at Rest with Encryption[EB/OL].[2015-01-02].http://aws.amazon.com/whitepapers/