自動(dòng)化:DevSecOps成功關(guān)鍵所在
們知道,DevOps 不僅僅涉及開發(fā)和運(yùn)維團(tuán)隊(duì)。而如果您想充分發(fā)揮出 DevOps 的敏捷性和響應(yīng)力,就必須將IT 安全防護(hù)融入應(yīng)用的整個(gè)生命周期中 。
為什么呢?從前,安全防護(hù)只是特定團(tuán)隊(duì)的責(zé)任,在開發(fā)的最后階段才會(huì)介入。當(dāng)開發(fā)周期長達(dá)數(shù)月、甚至數(shù)年時(shí),這樣做沒什么問題;但是現(xiàn)在,這種做法現(xiàn)在已經(jīng)行不通了。采用 DevOps 可以有效推進(jìn)快速頻繁的開發(fā)周期(有時(shí)全程只有數(shù)周或數(shù)天),但是過時(shí)的安全措施則可能會(huì)拖累整個(gè)流程,即使最高效的 DevOps 計(jì)劃也可能會(huì)放慢速度。
如今,在 DevOps 協(xié)作框架下,安全防護(hù)是整個(gè) IT 團(tuán)隊(duì)的共同責(zé)任,需要貫穿至整個(gè)生命周期的每一個(gè)環(huán)節(jié)。這個(gè)理念非常重要,因此催生出了“DevSecOps”一詞,強(qiáng)調(diào)必須為 DevOps 計(jì)劃打下扎實(shí)的安全基礎(chǔ)。
DevSecOps 意味著從一開始就要考慮應(yīng)用和基礎(chǔ)架構(gòu)的安全性;同時(shí)還要讓某些安全網(wǎng)關(guān)實(shí)現(xiàn)自動(dòng)化,以防止 DevOps 工作流程變慢。選擇合適的工具來持續(xù)集成安全防護(hù)(比如在集成開發(fā)環(huán)境(IDE)中集成安全防護(hù)功能)有助于實(shí)現(xiàn)這些目標(biāo)。但是高效的 DevOps 安防需要的不僅是新工具。它更需要整個(gè)公司實(shí)現(xiàn) DevOps 文化變革,從而盡早集成安全團(tuán)隊(duì)的工作。
從 DevOps 到 DevSecOps 內(nèi)置安全防護(hù)
無論您習(xí)慣叫它“DevOps”還是“DevSecOps”,最好確保安全防護(hù)融入了軟件的整個(gè)生命周期中。DevSecOps 就是要內(nèi)置安全防護(hù),而不是僅僅在應(yīng)用和數(shù)據(jù)層面做文章。如果把安全問題留到開發(fā)流程的最后再考慮,那么企業(yè)即便是采用了 DevOps 方法,也會(huì)重回冗長開發(fā)周期的老路,而這就是大家從一開始就想要避免的情況。
DevSecOps 強(qiáng)調(diào),在 DevOps 計(jì)劃剛啟動(dòng)時(shí)就要邀請(qǐng)安全團(tuán)隊(duì)來確保信息的安全性,并制定自動(dòng)安全防護(hù)計(jì)劃,實(shí)現(xiàn)持續(xù) IT 防護(hù)。它還強(qiáng)調(diào),要幫助開發(fā)人員從代碼層面確保安全性;在這個(gè)過程中,安全團(tuán)隊(duì)需要針對(duì)已知的威脅共享掌握的全局信息、提供反饋并進(jìn)行智能分析。由于 DevSecOps 并非始終著眼于較為傳統(tǒng)的應(yīng)用開發(fā)模式,所以這可能還包括為開發(fā)人員提供新的安全培訓(xùn)。
那么,怎樣才算是真正地實(shí)現(xiàn)了安全防護(hù)一體化?對(duì)于新手而言,優(yōu)良的 DevSecOps 策略應(yīng)能確定風(fēng)險(xiǎn)承受能力并進(jìn)行風(fēng)險(xiǎn)/收益分析。在一個(gè)特定的應(yīng)用中,需要配備多少個(gè)安全控制功能?對(duì)于不同的應(yīng)用,上市速度又有多重要?由于在管道中運(yùn)行手動(dòng)安全檢查可能會(huì)非常耗時(shí),所以自動(dòng)執(zhí)行重復(fù)任務(wù)是 DevSecOps 的關(guān)鍵所在。
DevOps 安全防護(hù)自動(dòng)化
要推行 DevOps,企業(yè)需要:確保采用時(shí)間短、頻率高的開發(fā)周期;采取安全措施,最大限度地縮短運(yùn)維中斷時(shí)間;及時(shí)應(yīng)用創(chuàng)新技術(shù),如容器和微服務(wù);同時(shí),還要促使以往各自為陣的團(tuán)隊(duì)加強(qiáng)合作——這一切對(duì)所有企業(yè)來說都是艱巨的任務(wù)。上述所有措施都是以人員為根本,都需要企業(yè)內(nèi)部協(xié)同合作;但是,要想在 DevSecOps 框架中實(shí)現(xiàn)這些人員的變革,自動(dòng)化是關(guān)鍵所在。
那么,企業(yè)應(yīng)該在哪些方面實(shí)現(xiàn)自動(dòng)化?具體又該怎么做呢?企業(yè)應(yīng)該退后一步,以全局視角,著眼整個(gè)開發(fā)和運(yùn)維環(huán)境。其中涉及:源控制存儲(chǔ)庫;容器注冊(cè)表;持續(xù)集成和持續(xù)部署(CI/CD)管道;應(yīng)用編程接口(API)的管理、編排和發(fā)布自動(dòng)化;以及運(yùn)維管理和監(jiān)控。
全新的自動(dòng)化技術(shù)已幫助企業(yè)應(yīng)用了更敏捷的開發(fā)實(shí)踐,也在促進(jìn)新的安全措施方面起到了重要作用。但是,自動(dòng)化并不是近年來 IT 領(lǐng)域發(fā)生的唯一變化。現(xiàn)在,對(duì)于大多數(shù) DevOps 計(jì)劃而言,容器和微服務(wù)等云原生技術(shù)也是一個(gè)非常重要的組成部分。所以,企業(yè)必須及時(shí)調(diào)整 DevOps 安全措施。
針對(duì)容器和微服務(wù)的 DevOps 安全防護(hù)
容器可以實(shí)現(xiàn)更大的規(guī)模和更靈活的基礎(chǔ)架構(gòu),從而改變了許多組織開展業(yè)務(wù)的方式。因此,DevOps 的安全防護(hù)實(shí)踐必須適應(yīng)新環(huán)境并遵循容器特有的安全準(zhǔn)則。云原生技術(shù)不適合用來落實(shí)靜態(tài)安全策略和檢查清單。相反,企業(yè)必須確保應(yīng)用和基礎(chǔ)架構(gòu)生命周期的每個(gè)階段都有集成其中的持續(xù)安全防護(hù)。




(圖:針對(duì)環(huán)境和數(shù)據(jù)安全防護(hù)以及CI/CD流程安全防護(hù))
DevSecOps 意味著,安全防護(hù)要貫穿應(yīng)用開發(fā)的整個(gè)過程。要實(shí)現(xiàn)集成進(jìn)管道,我們既需要一種全新的思維方式,也需要合適的新工具。因此,DevOps 團(tuán)隊(duì)?wèi)?yīng)該實(shí)現(xiàn)安全防護(hù)自動(dòng)化,從而保護(hù)整體環(huán)境和數(shù)據(jù),同時(shí)實(shí)現(xiàn)持續(xù)集成/持續(xù)交付流程——可能還要確保容器中的微服務(wù)的安全。