DevOps中端點檢測與響應的必要性
譯文【51CTO.com快譯】近年來,DevOps已經發展成為最受歡迎的軟件開發方法之一。DevOps已經對整個軟件行業的思維方式和技術前景都產生了重大的影響。如您所見,企業在DevOps實施過程中的成敗不僅取決于團隊內部成員在文化認識上、以及相關流程上的轉變,還取決于Dev和Ops團隊的技術實施能力。可以說,每個從事構建和發布工程的軟件專業人員都強烈希望成為一名DevOps領域的專家,從而能夠在競爭激烈的市場環境中構建出各種云端、本地兼容的軟件基礎設施。
此外,隨著Python和Go等編程語言的引入,我們不但可以借助DevOps工具鏈,在軟件開發的生命周期中實現測試與部署的自動化,而且解決了諸如:軟件應用服務的更新、修復和補丁之類的遺留問題,使它們變得更加靈活,進而以高度集成的方式為企業和組織帶來最佳的價值。
端點檢測與響應(Endpoint Detection Response,EDR)
EDR是一項網絡安全技術,可滿足持續監控和對各種高級威脅的響應需求。確切地說,在部署應用程序,檢測威脅,以及實施預防措施時,它能夠保證端點需要最少量的人工干預。
通常,EDR解決方案具有豐富的數據收集和監控功能,可以讓組織在遭受嚴重損害之前,檢測并修復各種高級威脅。因此,通過開發并實施EDR解決方案,我們可以在一定程度上保護組織免受各種潛在的網絡攻擊。
如今,隨著各類報道的及時披露,我們發現安全漏洞遠比以往任何時候都更為廣泛。而其中大多數的安全漏洞都是通過端點進入網絡的。通過持續監控網絡中端點設備上的惡意活動,EDR方案能夠根據攻擊的方式,協助使用觸發器予以識別,以便在主動分析端點數據的基礎上,進而提供針對實時場景的檢測和預防措施。
此外,EDR解決方案還具有分析端點上用戶和設備的行為,根據可疑活動向系統發送相關警報的能力。相比過去僅使用數字簽名來檢測各類威脅,EDR能夠主動將安全威脅情報運用到基于行為的解決方案之中。總的說來,EDR方案的所有過程都主要基于活動、事件、以及端點上(或與端點)的交互。
DevOps中的安全
近年來,隨著業界對于DevOps的宣傳,各個企業對于DevOps的實踐,人們已經能夠意識到向DevOps文化轉移的必要性。但是,與之對應的安全性似乎并未得到足夠的注意。下面是我們在DevOps方法落地的過程中可能遇到的一些挑戰:
1. 環境挑戰
我們在實施環境中碰到的任何差異,無疑會導致開發和部署方面的顯著不同。因此,我們需要通過變更管理,來有效地應對環境變化的挑戰,進而保持交付目標一致性。
2. 開源
在某種程度上,開源項目對于任何業務運營都是至關重要的。隨著開源代碼的大量使用,DevOps方法在效率上有了顯著的提升。如今,開源軟件已經脫離了過往“小作坊”產品的形象,逐漸發展成為可以在企業級別上被采用和維護的技術。可以說,有了開源項目,開發團隊能夠快速獲取那些經歷了實際商用檢驗的代碼片段,并據此增強特定的應用功能。
不過,一個值得關注的客觀情況是:大多數新興的網絡安全應用,往往被視為潛藏著各種高風險的開源漏洞。因此,為了避免成為“實驗室的小白鼠”,團隊應該通過全面閱讀源代碼及其相關文檔,以了解DevOps工具鏈中使用到的開源框架,及其常見的提示信息。與此同時,團隊還應該通過二次開發與迭代,及時修復各種錯誤,并發布可用的應用補丁。當然在某些情況下,直接使用市場上成熟的代碼庫產品也是一種不錯的選擇。
3. 安全管理
DevOps的成功關鍵因素之一就是:在創建整體策略時,能夠確保安全參數在設計框架中占有一席之地。從各個角度綜合來看,良好的安全態勢不但可以降低軟件交付過程存在的風險,還能夠確保自身的合規性。過去,漫長的軟件開發周期既沒有引入,也無法采用最佳的安全編碼實踐。這就導致了在編寫代碼和構建提交的過程中,團隊缺乏對安全方法和策略的全面了解。因此,我們有必要將安全編碼和管理植入項目開發的整個生命周期。
4. 測試框架
可靠的測試是成功實施DevOps的重要標準之一。如今,我們可以使用各種自動化的工具,來提高開發人員交付代碼和構建可執行文件的速度。同時,許多工具可以通過顯示代碼覆蓋率的百分比,來方便測試團隊及時、有效地發現和研究代碼中的缺陷,以及需要改進的方法,進而對各種測試方案進行調整。這種從瀑布,到敏捷,再到DevOps的方式改進,有利于我們構建出健壯的軟件基礎設施。
5. 指標和監控
在將軟件產品交付給客戶之后,如果系統中出現了未曾檢測到的延遲,那么就可能會給多個業務線帶來不同程度的質量問題。根據本人在該域參與過的各種端到端系統的交付經驗,運營人員易于通過帶有既定顏色編碼的經典GUI,來持續監控和判定目標服務的啟、停狀態。在此基礎上,我們可以通過預先定義服務質量的指標,來及時發現諸如:最終用戶在登錄某個已啟動的應用時,由于程序的掛起或加載時間過長,而無法正常使用的情況。例如:獲悉Scrum團隊的速度問題,可以幫助我們確定那些影響質量和敏捷性的瓶頸、或關鍵的技能差距。據此,我們可以在DevOps實踐過程中,通過調整相關的基礎架構,成功地交付出客戶端應用,并為企業帶來有價值的服務。
EDR與DevOps的集成
業界常提到的DevSecOps,致力于引入和利用工具與解決方案,來確保應用程序的持續集成、開發和交付。此類服務既能夠以應用程序的形式運行在服務器端,又可以“跑”在用戶端設備上。其中,工作在端點系統中的EDR方案,可以集成在DevOps的周期內,以方便開發人員跟蹤各種錯綜復雜的活動,并以最快、且自動化的方法解決安全威脅的相關問題。
通常,公有云能夠為開發人員提供適用于開發、測試和執行應用程序的云端環境,而DevOps方法主要適用的是社區云,及其提供商所支持的各種工具集。當然,云資源也存在著其自身的安全問題。例如:一旦某個應用存在著的任何配置或代碼中的錯誤,那么其可能受到的攻擊面會迅速擴大。而且,各類開發人員往往會使用自己的設備去開發和監控應用程序,因此我們無法保障訪問云端資源的、各種類型的設備是否達到了基本的安全態勢要求。此時,我們就需要通過在端點、以及在云端的應用上部署并啟用EDR方案。
在DevOps中,我們通常會使用EDR方案的如下集成功能,來實現軟件產品的安全交付:
- 接受并應用威脅情報(請參見--https://www.esecurityplanet.com/network-security/threat-intelligence.html)
- 能夠檢測和防范隱蔽的復雜過程
- 全面提供端點的可見化
- 自動化定制警報
- 能夠及時檢測到那些因為攻擊而關閉特定進程
- 檢測惡意活動,簡化安全事件的響應
- 通過取證功能,可最大程度地減少違規所帶來的影響
- 通過數據收集,以建立用于分析的存儲庫
Gartner在其報告--《競爭格局:端點檢測和響應工具》中,曾列出了在該市場領域的那些具有領先服務的供應商清單。該報告也深入討論了我們在上面提到的EDR的各項功能。
總結
雖說部署EDR方案并不意味著組織能夠一勞永逸地降低受到入侵和攻擊的風險。但是,目前流行的EDR解決方案往往基于最先進的技術。而這些技術恰好能夠針對請求源和端點所提供的信息進行分析,并產生相應的操作。通過EDR工具與DevOps工具鏈的集成,企業不但能夠在整體流程的自動化執行程度上更進一步,而且可以在服務運行時,及時跟蹤各類安全漏洞,修正并消除代碼框架中的缺陷。
如今,隨著端點設備在產生各種安全事件方面的重要性日益凸顯,對于DevOps團隊而言,按照測試左移(Shift-left Testing)的理念,將安全管控盡早地植入項目,通過安全編碼等方式來保護端點設備,實現對于云端和終端的檢查與響應,都是非常值得每一位成員去認真實踐的。
原文標題:Essential Role of EDR in Safeguarding DevOps Network,作者:Eshan Kamath
【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】
























