DevOps的安全交付功能

導讀 本文通過介紹端點檢測與響應(EDR)的基本概念,以及它與DevOps之間的緊密聯繫,提出在DevOps的生命週期中,通過建立EDR來保障軟件代碼的安全交付。

近年來,DevOps已經發展成爲最受歡迎的軟件開發方法之一。DevOps已經對整個軟件行業的思維方式和技術前景都產生了重大的影響。如您所見,企業在DevOps實施過程中的成敗不僅取決於團隊內部成員在文化認識上、以及相關流程上的轉變,還取決於Dev和Ops團隊的技術實施能力。可以說,每個從事構建和發佈工程的軟件專業人員都強烈希望成爲一名DevOps領域的專家,從而能夠在競爭激烈的市場環境中構建出各種雲端、本地兼容的軟件基礎設施。

DevOps的安全交付功能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方案的如下集成功能,來實現軟件產品的安全交付:

  1. 接受並應用威脅情報
  2. 能夠檢測和防範隱蔽的複雜過程
  3. 全面提供端點的可見化
  4. 自動化定製警報
  5. 能夠及時檢測到那些因爲攻擊而關閉特定進程
  6. 檢測惡意活動,簡化安全事件的響應
  7. 通過取證功能,可最大程度地減少違規所帶來的影響
  8. 通過數據收集,以建立用於分析的存儲庫

Gartner在其報告--《競爭格局:端點檢測和響應工具》中,曾列出了在該市場領域的那些具有領先服務的供應商清單。該報告也深入討論了我們在上面提到的EDR的各項功能。

總結

雖說部署EDR方案並不意味着組織能夠一勞永逸地降低受到入侵和攻擊的風險。但是,目前流行的EDR解決方案往往基於最先進的技術。而這些技術恰好能夠針對請求源和端點所提供的信息進行分析,併產生相應的操作。通過EDR工具與DevOps工具鏈的集成,企業不但能夠在整體流程的自動化執行程度上更進一步,而且可以在服務運行時,及時跟蹤各類安全漏洞,修正並消除代碼框架中的缺陷。

如今,隨着端點設備在產生各種安全事件方面的重要性日益凸顯,對於DevOps團隊而言,按照測試左移(Shift-left Testing)的理念,將安全管控儘早地植入項目,通過安全編碼等方式來保護端點設備,實現對於雲端和終端的檢查與響應,都是非常值得每一位成員去認真實踐的。更多Linux資訊請查看:https://www.linuxprobe.com

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章