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