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

