無服務器計算是云計算發展的最新趨勢之一,也是最復雜的趨勢之一。與任何一個新技術一樣,無服務器計算也帶來了新的技術風險。因此,組織需要了解無服務器是什么,以及其需要采取的安全步驟,以使無服務器工作負載安全運行。
通過無服務器計算,云計算能夠以最原始的級別表達,無需組織運行自己的物理服務器。無服務器計算的倡導者稱贊其純粹服務的方法,而懷疑論者則表示將面臨復雜性和安全性的問題。
那么無服務器的云計算到底是什么?也許更重要的是,組織如何采取主動措施來保護它?
什么是無服務器計算?
無服務器計算有時也被稱為“功能即服務”,這可能是一個更具描述性的術語。無服務器也被一些供應商稱為事件驅動計算。
借助云計算,組織不需要自己采用物理服務器,而是采用提供運行應用程序的虛擬服務器計算實例。在無服務器模型中,服務組件更進一步提升,其服務器本身被抽象了。
簡而言之,對于無服務器的情況,與其他云計算服務一樣,不需要長時間運行的服務器或容器,而是執行簡單的功能來基于事件觸發器實現給定的任務。
例如,不需要長時間運行的電子郵件服務,而是使用無服務器電子郵件功能,只需要發送電子郵件,就可以觸發電子郵件功能。
無服務器計算是AWS lambda服務的先驅者,現在它也可以在微軟的Azure公共云和谷歌云平臺(GCP)上使用。還有多個開放源代碼選項,支持私有云和Kubernetes容器編排系統部署的無服務器。
無服務器計算:優點和缺點
無服務器計算的風險
雖然無服務器計算為組織提供了一種更敏捷的不同服務交付方法,但它也是一種不同的部署和管理范例,可能會帶來新的風險。
組織應考慮的無服務器計算風險包括:
•供應商安全性:無服務器功能在提供商的基礎設施上執行,這可能安全也有可能不安全。
•多租戶:無服務器服務中的功能通常運行在為多個客戶運行代碼的共享基礎設施上;當涉及敏感數據時,這可能是一個問題。
•注入攻擊:在注入攻擊中,未經授權或意外的內容或數據被注入應用程序流;而在無服務器模型中,注入攻擊可以來自無服務器功能調用以執行的事件。
•加密:無服務器功能通常可以調用數據庫和其他特權資源;如果連接未加密,則可能會泄露數據。
•安全性錯誤配置:為了能夠訪問不同的資源,開發人員可能會直接將訪問密鑰、令牌、密碼輸入到該功能中;而沒有保護這些秘密是一種風險。
•功能權限:通常無服務器功能被授予與服務器可能獲得的相同權限。但是,無服務器功能只需要最低限度的權限即可執行,而過度配置權限會使該功能面臨潛在風險。
•組件漏洞:功能通常依賴于第三方庫和組件的供應鏈。如果其中一個組件中存在已知(或未知)漏洞,則可能會利用無服務器功能。
如何管理無服務器安全性
管理無服務器安全性就是要有適當的控制和策略。雖然云計算服務器安全策略可能對云中的虛擬計算服務器實例有效,但無服務器計算需要額外的控制級別、粒度、可見性。
減少無服務器權限
無服務器計算的最大風險是具有比所需更多權限的功能。通過無服務器,可以通過為所有已部署的功能實施最小權限模型顯著地減少攻擊面。在功能的開發階段,可以在暫存環境中設置自動檢查,從而減少權限數量。通過分析功能行為,還可以查看正在運行的功能實際使用的特權。通過該可見性,管理員可以具有訪問權限以僅啟用所需權限。
實施身份驗證
調用服務的所有功能,無論是否在同一云計算提供商內部,都必須要求訪問控制和身份驗證才能幫助限制風險。云計算提供商提供有關如何實施無服務器身份驗證的最佳實踐的指導,管理員應遵循這些實踐。
使用云平臺提供程序控件
云計算提供商還具有多種內置服務,可幫助用戶識別潛在的錯誤配置。例如,AWS Trusted Advisor是運行AWS Lambda的選項。
日志功能活動
由于無服務器功能是事件驅動和無狀態的,因此查看實時活動通常會錯過大多數活動。通過對無服務器使用云計算提供程序(或第三方)日志記錄和監視,可以在需要威脅搜索時使用審計跟蹤。
監控功能層
功能可以有多個層,可以調用不同的代碼和第三方數據庫。通過監控功能層,管理員可以識別注入和惡意活動的嘗試。
考慮第三方安全工具
雖然無服務器平臺提供商通常集成了一些安全控制,但它們的范圍往往有限,只關注運行這些功能的平臺。有多種第三方工具和技術可為無服務器計算提供額外的可見性和控制層。
無服務器計算安全供應商
無服務器計算安全工具的市場是一個相對較新的市場,但該領域已經有多家供應商。與容器安全供應商存在一些重疊(可以參閱eSecurity Planet的頂級容器安全供應商列表),因為無服務器技術通常涉及使用短期無狀態容器。
Aqua Security
Aqua Security提供完整的容器和無服務器安全平臺,可幫助組織評估和減輕無服務器風險。
Nuweba
Nuweba是無服務器行業領域的新秀,于2019年2月脫穎而出,擁有自己的安全功能即服務平臺,可與主要公共云提供商的無服務器服務集成。
Puresec
PureSec無服務器安全平臺專為無服務器安全性的挑戰而構建,可以集成到組織現有的持續集成/持續開發(CI/CD)工作流程中。
Protego Labs
Protego Labs還專注于無服務器安全性,旨在提供從開發到部署的全生命周期安全性。
Snyk
Snyk平臺使組織能夠持續掃描功能,以幫助識別任何潛在風險。
Twistlock
Twistlock的平臺在整個開發和部署生命周期中為容器和無服務器功能提供安全性。