DevSecOps:新手需考慮的四個要點
譯文【51CTO.com快譯】安全過去是最后開發(fā)階段某個專門團隊的責任,但隨著開發(fā)周期的數(shù)量和速度同提升,安全實踐需要與時俱進。
這導致DevSecOps(開發(fā)安全運維)大行其道,DevSecOps強調為DevOps融入安全。公司需要DevSecOps來確保項目安全可靠地運作。如果沒有DevSecOps,DevOps團隊需要在發(fā)現(xiàn)漏洞后重建和更新所有系統(tǒng),這費時費力。
以下是項目負責人開始實施DevSecOps時要考慮的四個關鍵因素:
1. 了解貴公司的安全策略和標準,以便開發(fā)時可以明智地選擇安全組件。
適當?shù)陌踩蛯徲嫴呗院苤匾?,以便能夠證明生產環(huán)境中預期的樣子就是實際運行時的樣子。能夠驗證你在生產環(huán)境中運行的軟件不需要將特殊代碼添加到原始代碼,那樣就無需重新測試和維護新代碼。實際上,如果可以在運行時進行這番驗證,并立即報告所有應用程序上運行的組件,那么你的團隊就能獲得一直缺乏的證據(jù)和監(jiān)管:安全、治理和合規(guī)證明。
2. 實施靜態(tài)、可重現(xiàn)、不可變的構建環(huán)境。
如果在整個組織中利用系統(tǒng)化、可重復的構建流程建立構建環(huán)境,團隊就能夠減少漏洞,并確保應用程序的質量。實施面向整個組織的流程,以便針對依賴項、許可證和安全來解決開源語言的構建。這將消除浪費在改建上的時間、集成安全機制以及提高靈活性。
受信任、精挑細選的語言發(fā)行版可以在整個團隊中帶來這些好處,并構建開源語言的三個生命周期階段:構建、認證和解決。
3. 積極主動。
開發(fā)過程中確定許可證合規(guī)和漏洞方面要注意的事項,而不是事后再做。了解應用程序中的組件,讓你的所有應用程序組合了解這些組件,并密切跟蹤那些更新,這是繁重的工作。這實際上可以實現(xiàn)自動化,以了解團隊依賴某個組件的情況和與組件有關的風險。
這種方法使團隊能夠將安全目標放在首要的位置,并在自動通知開源組件的更新時保持持續(xù)交付。
應掃描所有第三方開源組件以查找許可證合規(guī)和漏洞。應用程序的風險在逐漸變化,因此有必要在整個軟件開發(fā)生命周期(包括CI/CD流程和進入到生產環(huán)境)中密切關注開源軟件包,關注漏洞、有效期和許可。
以前,跨SDLC和生產環(huán)境跟蹤安全需要安裝某個持續(xù)運行的代理,或者在系統(tǒng)層面使用應用程序掃描工具(AST),或者在應用程序的代碼里面使用運行時應用程序自保護(RASP)解決方案。
如今,借助解釋器插件進行的無代理監(jiān)控可以將安全機制直接部署到源代碼中,以便安全團隊能夠跟上開發(fā)步伐,并使產品更快地進入市場。這種方法可以更深入地了解合規(guī)團隊、InfoSec團隊和風險管理團隊當中的安全。
4. 使用最新版本的組件,組件應盡量來自積極維護的項目。
過時或維護不力的開源軟件會為不法分子提供可趁之機,并破壞關鍵任務型應用程序的穩(wěn)定性。許多開源軟件包由多個貢獻者創(chuàng)建,可能沒有走嚴格的安全審核流程。此外,即使軟件包過去經過了安全評估,也可能含有未知的新漏洞。而現(xiàn)有的工具和流程檢測不出這些新漏洞。
為了解決這些問題,企業(yè)應實施策略以防止使用易受攻擊的軟件包、模塊和庫;為應用程序使用的軟件包維護一份最新的清單;根據(jù)可靠的信息來源,定期檢查漏洞。若發(fā)現(xiàn)任何軟件包含有漏洞,必須打補丁,并部署新版本。
新的安全機會
在組織內部實施DevSecOps標準并不完全是開發(fā)人員的責任。然而,開發(fā)期間制定安全標準卻是開發(fā)人員的職責。為什么不超越最基本的許可證合規(guī)、漏洞檢查和組件檢查,使用可用的工具和流程制定更強大的安全標準?DevSecOps為節(jié)省時間、避免沮喪和返工,同時提高安全、縮短投放市場的時間提供了機會。
原文標題:DevSecOps: 4 key considerations for beginners,作者:Bart Copeland
【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】