DevOps 的環(huán)境和實(shí)踐可幫助您的組織快速構(gòu)建、可靠運(yùn)行并不斷改進(jìn)您的軟件解決方案。但是,DevOps 可能會(huì)破壞傳統(tǒng)應(yīng)用安全測(cè)試流程和工具。
要在不影響安全性的情況下保持速度,需要將安全功能融入各個(gè)階段。這種功能就是 DevSecOps!
我們正快速向DevSecOps邁進(jìn),同時(shí)靜下心來(lái)進(jìn)行自我定位是非常有意義的。長(zhǎng)期以來(lái),開(kāi)發(fā)和運(yùn)營(yíng)團(tuán)隊(duì)相互協(xié)調(diào),為同一個(gè)目標(biāo)奮進(jìn):快速交付穩(wěn)定的、高質(zhì)量的軟件。通過(guò)將手動(dòng)流程自動(dòng)化并且將工具構(gòu)建到持續(xù)集成和持續(xù)交付(CI/CD)管道,增加了團(tuán)隊(duì)之間的信任,這對(duì)那些曾經(jīng)在不同的部門(mén)、如今一起解決關(guān)鍵問(wèn)題的團(tuán)隊(duì)來(lái)說(shuō)是非常必要的。
三種方法
當(dāng)談?wù)揇evOps原則時(shí),人們很容易想到在公司里應(yīng)用DevOps的三種不同方法,但是每一種方法都促進(jìn)了整個(gè)DevOps概念的落地,包括幫助團(tuán)隊(duì)在公司實(shí)施其規(guī)范性的步驟。
這個(gè)重要基礎(chǔ)很自然會(huì)導(dǎo)向DevSecOps。在軟件開(kāi)發(fā)生命周期(SDLC)早期采用DevOps可以縮短反饋回路并且降低復(fù)雜性,從而使工程師能夠更快、更輕松地檢測(cè)和修復(fù)安全性和合規(guī)性問(wèn)題。
在技術(shù)價(jià)值流中,DevOps可能是將信息安全更好地集成到每個(gè)人日常工作的最佳方式之一。
— The DevOps Handbook
找到通向DevSecOps的方法
真正實(shí)施DevSecOps需要關(guān)鍵的文化和實(shí)踐變革,將安全性集成到軟件開(kāi)發(fā)生命周期(SDLC)中,這包括以下5個(gè)方面:
1. 將安全性集成到缺陷追蹤和事后追蹤中
2. 將安全控制集成到共享源代碼存儲(chǔ)庫(kù)和服務(wù)中
3. 將安全性集成到部署管道中
4. 確保應(yīng)用程序的安全性
5. 確保軟件供應(yīng)鏈的安全性
所以要做到成功的DevSecOps只需要這五個(gè)基本要素嗎?我知道你們?cè)趺聪?—— 知易行難。那么,你如何在組織中實(shí)現(xiàn)每項(xiàng)變革呢?
將關(guān)鍵流程自動(dòng)化
為你的工作環(huán)境找到正確的工具是重要的一步,你需要找到適合CI/CD工作流以及自動(dòng)運(yùn)行的工具。不僅僅如此,你還需要這些工具能夠在出現(xiàn)問(wèn)題時(shí)通知合適的人,對(duì)其進(jìn)行相關(guān)培訓(xùn),并提供如何修復(fù)的指導(dǎo)。而且在集成和測(cè)試期間,以及在安裝、部署和維護(hù)中,你不能只做一次。你必須在開(kāi)發(fā)生命周期早期進(jìn)行測(cè)試(我們通常稱之為“向左移”)。在應(yīng)用程序投產(chǎn)之后,你無(wú)法確保其持續(xù)的安全性,你必須在生產(chǎn)過(guò)程中持續(xù)測(cè)試并且修復(fù)任何新的安全問(wèn)題。