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