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