隨著云生態(tài)系統(tǒng)的發(fā)展和擴(kuò)展,可以滿足用戶對(duì)系統(tǒng)的靈活性和動(dòng)態(tài)按需可塑性方面的需求,用戶可以根據(jù)業(yè)務(wù)情況在高峰期短時(shí)間內(nèi)部署大量服務(wù)器上線,然后再過(guò)了高峰后又撤下來(lái),整個(gè)過(guò)程自動(dòng)調(diào)控,自動(dòng)收縮。一個(gè)典型例子是新浪微博服務(wù),在突然出現(xiàn)爆發(fā)事件時(shí)候(比如明星出軌新聞),其流量可能是平時(shí)幾百甚至上千倍,對(duì)這樣的爆發(fā)流量用傳統(tǒng)的擴(kuò)容方式根本滿足不了需求,也沒(méi)有那么多資源,新浪的解決方法是私有云+租賃公有云方式,花錢利用阿里云實(shí)現(xiàn)峰值時(shí)服務(wù)擴(kuò)容。對(duì)于一般企業(yè)則可以完全利用租賃第三方云服務(wù)方式構(gòu)建自己服務(wù)模式,自己無(wú)需維護(hù)任何硬件設(shè)備和基礎(chǔ)后端軟件服務(wù),這樣的架構(gòu)叫Serverless ,即“無(wú)服務(wù)器”架構(gòu)。
無(wú)服務(wù)器架構(gòu)可以讓企業(yè)實(shí)現(xiàn)更靈活和更具成本效益的業(yè)務(wù)架構(gòu)模式。但是,隨著企業(yè)開(kāi)始使用無(wú)服務(wù)器架構(gòu)時(shí)候,需要考慮無(wú)服務(wù)器架構(gòu)的安全,本文就給大家聊聊這個(gè)話題。
什么是無(wú)服務(wù)器?
無(wú)服務(wù)器是虛擬化和云計(jì)算發(fā)展的結(jié)果,是指其企業(yè)完全通過(guò)租賃云供應(yīng)商的資源來(lái)實(shí)現(xiàn)業(yè)務(wù)的模式,無(wú)服務(wù)器的核心是在架構(gòu)中完全摒除硬件和后端基礎(chǔ)軟件服務(wù)(比如數(shù)據(jù)庫(kù),賬號(hào)體系等),而依賴第三方的云資源(BaaS或者FaaS)。
當(dāng)考慮無(wú)服務(wù)器架構(gòu)時(shí)候主要基于一個(gè)想法:如果并不是所有應(yīng)用程序的功能都是一直要用,那么為什么要為不經(jīng)常使用的服務(wù)器支付租金呢?一般來(lái)說(shuō)系統(tǒng)都需要一些功能,如業(yè)務(wù)邏輯,用戶認(rèn)證系統(tǒng),數(shù)據(jù)庫(kù),以及其他一些用戶簡(jiǎn)短的和特定活動(dòng)需要的功能。使用服務(wù)器架構(gòu),會(huì)執(zhí)行和打包這一系列的功能,所以一般也將無(wú)服務(wù)器稱為功能即服務(wù)(FaaS);這些服務(wù)也為后端服務(wù),所以也叫為BaaS “Backend as a Service”。
FaaS服務(wù)最典型的例子是知名云廠商亞馬遜AWS的AWS Lambda。
國(guó)內(nèi)的阿里云最近也搞了一個(gè)叫函數(shù)計(jì)算類似的東西:
無(wú)服務(wù)器安全
雖然云廠商會(huì)提供了很多安全服務(wù)和一些基本的安全策略,但是需要你花費(fèi)購(gòu)買相關(guān)服務(wù),而且一些策略也需要自己配置。關(guān)于無(wú)服務(wù)器架構(gòu)的安全我們需要注意以下事項(xiàng)。
保持最新版本
為了確保應(yīng)用程序的安全,最有效方法之一是確保所有組件都是新的。使用的第三方模塊是否需要打安全補(bǔ)丁?
軟件更新時(shí)候經(jīng)常被忽略的問(wèn)題是忘記更新組件依賴項(xiàng),尤其是在應(yīng)用程序中使用開(kāi)源組件時(shí)。據(jù)統(tǒng)計(jì)有超過(guò)92%的應(yīng)用程序使用的開(kāi)源組件會(huì)占到其代碼庫(kù)的60-80%,基礎(chǔ)開(kāi)源組件的安全是不容忽視的部分。如何安全地使用開(kāi)源模塊與商業(yè)軟件存在一些明顯差異,例如在開(kāi)源組件在發(fā)布新漏洞或修復(fù)程序時(shí)無(wú)法很好的跟蹤其影響面,做到有效的升級(jí)通知。另一個(gè)方面是要考慮構(gòu)建組件的依賴關(guān)系。如果其中一個(gè)依賴存在漏洞,則會(huì)影響整個(gè)應(yīng)用程序的安全。現(xiàn)在的基本的Git服務(wù)器端,比如Github和Gitlab都提供了對(duì)依賴的基本類庫(kù)安全自動(dòng)化掃描工具。我們可以借助這些工具來(lái)確保我們的組件都更新到安全的版本。
最小權(quán)限原則
進(jìn)行權(quán)限和訪問(wèn)控制是維護(hù)無(wú)服務(wù)器安全性的重要規(guī)則,通過(guò)安全策略設(shè)置為每個(gè)功能授予最小權(quán)限,并使用基于角色的身份驗(yàn)證(IAM角色),以很大限度地減少潛在安全風(fēng)險(xiǎn)。
這個(gè)原則很重要,因?yàn)榭稍L問(wèn)的用戶越多,對(duì)系統(tǒng)安全的潛在的風(fēng)險(xiǎn)就越大。比如一個(gè)例子,黑客成功竊取了你的一個(gè)用戶的電子郵件帳戶,竊取了其登陸憑據(jù)。為了最大限度地降低風(fēng)險(xiǎn),我們應(yīng)該分角色限制可訪問(wèn)的功能,并對(duì)訪問(wèn)IP進(jìn)行限制,比如通過(guò)防火墻和VPN等設(shè)置限制登錄,這樣就算登錄憑據(jù)被竊取了也無(wú)法登陸。當(dāng)然除了外部黑客的攻擊以外我們也要防止內(nèi)部人員竊取其不應(yīng)該知道的信息,所以基于角色限制每個(gè)用戶的權(quán)限至關(guān)重要。
保持Em分離
與限制用戶權(quán)限原理類似,將每個(gè)功能的網(wǎng)絡(luò)和資源訪問(wèn)隔離也很重要。這條原則也被稱為微分段(Micro-Segmentation),就是通過(guò)設(shè)置訪問(wèn)屏障的,保證我們的某功能被攻克后,不影響其他功能和節(jié)點(diǎn)。安全界常遵守一個(gè)常理就是“雞蛋不能放在同一個(gè)籃子里”。
如果正如我們將數(shù)據(jù)庫(kù)與另一個(gè)數(shù)據(jù)庫(kù)分開(kāi)一樣,通過(guò)隔離不同的功能,不同的人容器,可以保證整體的安全不受部分節(jié)點(diǎn)的影響。
緊盯日志
一旦開(kāi)始使用無(wú)服務(wù)器基礎(chǔ)架構(gòu),就會(huì)發(fā)現(xiàn)架構(gòu)都會(huì)變點(diǎn)很亂不著頭腦,快速迭代的功能和業(yè)務(wù),可能會(huì)讓我們忽略一些安全問(wèn)題跡象。比如發(fā)送到無(wú)服務(wù)器架構(gòu)的大量請(qǐng)求,可能意味著功能存在漏洞功能,而你卻將其忽略,沒(méi)注意到。
這時(shí)候就需要注重安全和日志了。
熟悉無(wú)服務(wù)器架構(gòu)(其他一些架構(gòu)也類似)很好的工具是瀏覽和系統(tǒng)日志。解決無(wú)服務(wù)器安全挑戰(zhàn)的第一步就是維護(hù)和分析日志,識(shí)別執(zhí)行日志中的異常情況。
安全掃描
其次,我們應(yīng)該使用全自動(dòng)工具掃描功能,包括檢查和監(jiān)控系統(tǒng)所有使用的開(kāi)源組件。比如你使用AWS Lambda你可以使用WhiteSource的無(wú)服務(wù)器集成來(lái)掃描和監(jiān)控已部署,WhiteSource會(huì)自動(dòng)識(shí)別所有開(kāi)源組件和依賴項(xiàng),然后針對(duì)其開(kāi)源存儲(chǔ)庫(kù)的綜合數(shù)據(jù)庫(kù)檢查它們,以獲取安全漏洞和許可證。檢測(cè)到后,您可以應(yīng)用自動(dòng)策略,定義工作流程以及在團(tuán)隊(duì)中協(xié)作信息。
合規(guī)事宜
當(dāng)涉及金融,電信,健康等受監(jiān)管行業(yè)時(shí),數(shù)據(jù)隱私問(wèn)題變得更加敏感。由于我們運(yùn)行應(yīng)用程序并在云上存儲(chǔ)數(shù)據(jù),因此總是存在與這些資產(chǎn)面向公眾相關(guān)的風(fēng)險(xiǎn)。對(duì)云上數(shù)據(jù)做合格性可以需要通過(guò)法律及專業(yè)人士進(jìn)行協(xié)助進(jìn)行。
總結(jié)
總之,使用無(wú)服務(wù)器架構(gòu)具有很多優(yōu)勢(shì),可以幫助我們節(jié)省成本,提高靈活性和可塑性。但是無(wú)服務(wù)器架構(gòu)安全的問(wèn)題也不容忽視。本文我們列舉了一些常用的安全原則和技巧也幫大家避免常見(jiàn)的無(wú)服務(wù)器安全隱患,并確保應(yīng)用程序的安全可靠。
-
云計(jì)算
+關(guān)注
關(guān)注
39文章
7859瀏覽量
137851 -
無(wú)服務(wù)器
+關(guān)注
關(guān)注
0文章
16瀏覽量
4089
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論