解決無服務器安全問題

2018102513:30

 解決無服務器安全問題
 開源安全公司Snyk的首席執行官Guypodjarny說,被動服務器仍然是一種“不成熟”的技術,這意味著服務器免費安全甚至不那麼成熟。
 podjarny說:“平台本身,比如Lambda和Azure函數,是非常安全的,但是用於保護無服務器應用程序本身的工具和最佳實踐本身卻很缺乏,很難采用。”
 無服務器解決方案提供商protegoLabs的首席技術官HillelSolow說,雖然無服務器無法從根本上改變安全性,但有些事情本身變得非常困難。Solow指出,無服務器的最大弱點包括不必要的權限、易受攻擊的代碼和錯誤配置。
 此外,RedHat公司產品管理高級主管Rich Sharples表示,舊應用程序的安全風險再次成為新的無服務器風險。這些風險包括功能事件數據注入、損壞的身份驗證、不安全的無服務器部署配置以及功能監視和日志記錄不足。
 索洛解釋說,無服務器安全並不複雜。例如,無分離要求團隊將平台、操作系統和運行時的所有權轉移到雲提供商,如Amazon、Microsoft和Google。“雲提供商幾乎總是能更好地修複和保護服務,所以您不必擔心您的團隊會處理這些問題,”他說。
 當團隊開始考慮如何確保他們的應用程序只做應該做的事情時,雖然香港專門的的保險箱市場屬於後起之秀,但正因為是後起之秀,所以在技術上能採用最新科技,與傳統的保險箱服務形成區別。就會出現挑戰。Solow解釋了您將安全性放在哪裏,以及如何實現必須更改的安全性。
 在protego實驗室最近的一份報告中,該公司發現98%的服務器處於危險狀態,16%的服務器被認為是嚴重的。“當我們分析一個功能時,我們會給每個功能指定一個風險等級。索洛解釋道:“這是基於感知到的姿態弱點,這不僅是一個因素,而且也是它發生的背景。在掃描了實時應用程序中的數千個功能之後,我們發現大多數無服務器應用程序根本沒有安全部署,因為它們需要最小化風險。”
 根據podjarny的說法,沒有一台服務器能夠改變安全優先級,並將應用程序分解成許多塊。“當移動到平台時,諸如未修補的服務器和拒絕服務攻擊等威脅幾乎被消除,大大提高了大門外的安全性。這一現實將攻擊者的注意力從服務器轉移到了應用程序上,因此應用程序安全的所有方面都變得越來越重要,“他說,”每一項工作都會產生一個需要保護的攻擊面,從而創造出鏈中薄弱環節的數百倍的可能性。“此外,由於應用程序如此分散,它們很難跟蹤應用程序范圍內的活動,因為它們在功能之間反彈,昇華在線的網上公關服務,為品牌進行社交媒體監測,可以有系統地掌握品牌在社交媒體和搜索引擎上的聲譽,有助與競爭對手作出深入比較,更可及早意識品牌的危機,精準地追溯問題根源,提升危機管理的成效,高效優化品牌的形象。從而為跨功能交互中的安全漏洞提供了機會。“
 RedHat的Sharples補充說,安全團隊應該在無服務器環境中考慮數據,考慮最小權限控制和細粒度授權,實行良好的軟件衛生,並記住數據訪問仍然是他們的責任。
 為了成功地解決無服務器的安全問題,podjarny建議良好的應用程序安全實踐應該由開發團隊擁有和操作,並且應該伴隨著大量的自動化。此外,protegoLabs的Solow推薦了一種更無服務器的安全模型,該模型使用資源所在的安全性。
 “好消息是,這些都是可以解決的問題,”索洛說,“沒有服務器應用程序,您可以為每個函數配置安全權限。這允許您實現比傳統應用程序更精細的控制,從而大大降低攻擊者訪問該應用程序的風險。無服務器應用程序需要做出更好的策略決策,如果您沒有正確的工具,這可能是一項挑戰,但如果正確執行,這些決策將使無服務器應用程序比非無服務器仿真器更安全。“
 Solow建議的其他安全最佳做法包括:
 映射您的應用程序,以查看全貌,並了解潛在的風險。
 在功能級別應用周邊安全性
 為每個功能制定最小角色
 保護應用程序依賴性
 通過應用代碼檢查和監視代碼和配置來提高對錯誤代碼的警惕
 將服務配置測試添加到CI / CD
 觀察信息流以確保它到達正確的位置
 通過減少拒絕服務和拒絕錢包,黑客可以通過“壓倒”您的應用程序、增加成本和考慮限制功能實例生命周期的策略來攻擊您的應用程序。
 無服務器的頂級用例
 有10個基於CNCF的無服務器技術的最佳用例,
 多媒體處理:實現響應文件上傳執行轉換過程的功能。
 數據庫更改或更改數據捕獲:審核或確保更改符合質量標准
 物聯網傳感器輸入信息:響應信息和縮放的能力
 大規模流處理:在潛在無限消息流中處理數據
 聊天機器人:自動擴​​展以滿足高峰需求
 批處理作業/計劃任務:需要強大的並行計算、IO或網絡訪問的作業。
 HTTpRESTApI和Web應用程序:傳統的請求和響應工作負載
 移動後端:在baas api之上構建RESTApI後端工作負載的能力。
 業務邏輯:執行一系列步驟的微服務工作負載的編排
 持續集成管道:無需預配置主機的能力
 無服務器的三次革命
 根據雲計算公司DigitalSea的最新報告,雖然沒有服務器獲得支持,但大多數開發人員仍然不知道到底是什麼。無服務器解決方案提供商protego Labs的首席技術官Hillel Solow解釋說,服務器免費的含義可能令人困惑,因為它有三種不同的核心價值觀:沒有服務器基礎設施,沒有服務器體系結構,也沒有服務器操作。
 Solow解釋說,無服務器基礎設施是指企業如何使用和支付雲資源,“您從雲提供商那裏租了什麼?這是關於‘零規模’,‘不支付閑置,’真正的自動擴展‘等等。他在一篇文章中寫道:“無服務器的基礎設施革命提議停止租用機器,並開始為實際的資源消耗付費。”
 無服務器架構的重點是“如何構建用於水平擴展的軟件”。作為其中的一部分,索洛說有一些關鍵的設計原則:
 將無服務器存儲設置為文件或數據存儲,以便根據應用程序的需要進行擴展。
 將所有應用程序狀態移動到少量無服務器存儲和數據庫。
 確保由外部事件(如用戶輸入和api調用)或內部事件(如基於時間的事件或存儲觸發器)驅動計算。
 將計算機組織成負責應用程序邏輯不同部分的無狀態微服務。
 無服務器操作定義如何部署和操作軟件。據Solow說,運營部門專門負責協調、部署和監視雲本機應用程序。“雲本機意味著雲平台是一種新的操作系統,”他說,“你正在編寫一個在這台計算機上運行AWS的應用程序。”正如大多數開發人員沒有充分考慮到確切的底層處理器體系結構,創建於一九九五年,主要產品有歐式手描仿古傢俱、酒店傢俱、辦公室傢俱、辦公室傢俬,沙發、餐桌餐椅、鐵藝傢俱等,傢俱產品主要出口歐美、中東地區。以及他們運行了多少超線程內核一樣,當您使用本機雲時,您確實希望停止對這些機器的思考,並開始考慮服務。這是為Android或Windows編寫軟件的方式,也是為雲編寫軟件的方式。“
 此外,RedHat的高級產品管理主管Rich Sharples表示,沒有服務器經常被稱為服務功能或FAAS,因為這是一種更容易思考的方法。Faas實際上是無服務器這個更廣泛的術語的一個子集,但它是一個重要的部分,因為它是“將所有這些服務結合在一起的粘合劑”,他解釋道。
 “Faas是一種編程模型,它真正說明了擁有小型可部署部隊的能力,以及將它們分離和隔離以及將它們從操作的某些部分分離出來的能力,”總經理Tim Wagner說。適用於AWS Lambda和AmazonApI網關。“當我想到無服務器時,我通常指的是由公共雲供應商運行的功能模型,並提供無限制的規模和自動化管理意識。”
 無服務器工具和框架
 ApacheOpenWhisk:ApacheOpenWhisk是一個開源的無服務器雲平台,旨在執行響應事件的功能。它目前正在Apache軟件基金會孵化。
 AWS Lambda:AWS Lambda可能是市場上最早也是最流行的無服務器計算平台之一。特性包括使用自定義邏輯擴展其他AWS服務的能力、構建自定義後端服務的能力以及使用任何第三方庫的能力。此外,Amazon解釋說,開發人員可以為任何類型的應用程序或後端服務運行零管理代碼。
 Azure功能:Azure函數由Azure開發,為開發人員提供事件驅動的無服務器計算體驗。它能夠管理應用程序而不是基礎設施,優化業務邏輯,並使開發人員能夠使用自己選擇的編程語言創建功能。
 CloudEvents:CloudEvents是一項正在進行的工作,目的是開發一個規范,以一種通用的方式描述事件數據。“缺乏通用的描述事件的方法意味著開發人員必須不斷地重新學習如何接收事件。這也限制了庫、工具和基礎設施幫助跨環境(如SDK、事件路由器或跟蹤系統)交付事件數據的可能性。我們從事件數據中獲得的可移植性和生產力通常會受到阻礙。“最終目標是最終向雲計算本機計算基金會提供規范。
 雲特性:雲基金會是GoogleCloud的一種事件驅動的無服務器計算解決方案。主要功能包括無服務器管理、自動縮放功能、針對事件運行代碼以及連接和擴展雲服務。
 裂變:裂變是由平台9為Kubernetes設計的一個開放源碼服務無服務器框架,是一個混合雲和容器編舞者。裂變是作為AWS Lambda的替代物而建造的。根據該公司的說法,Lambda在開發部署包的大小、內存量和並發函數執行的數量方面給開發人員帶來了問題。裂變旨在使團隊擺脫雲供應商的鎖定。通過使用Kubernetes,裂變,您可以在任何地方運行Kubernetes,並刪除一些使用容器創建的“軟件管道”。使用裂變,開發人員不必擔心建造容器或管理碼頭注冊中心。
 IBMCloud函數:IBM為服務編程提供了一個基於多語言的ApacheOpenWhisk平台。它被設計為在可擴展的無服務器環境中按需執行代碼。功能包括訪問OpenWhisk生態系統、加速應用程序開發、認知服務和使用付費服務的能力。
 Kinvey:progress Kinvey是一個用於構建移動、Web和其他數字信道應用程序的無服務器雲平台。該平台允許開發人員構建應用程序,而不必考慮服務,因此他們可以專注於應用程序的價值,而不必擔心基礎設施、後端代碼和擴展。