從前分俯,安全防護只是特定團隊的責任肾筐,在開發(fā)的最后階段才會介入。當開發(fā)周期長達數(shù)月缸剪、甚至數(shù)年時吗铐,這樣做沒什么問題;但是現(xiàn)在杏节,這種做法現(xiàn)在已經(jīng)行不通了唬渗。采用 DevOps 可以有效推進快速頻繁的開發(fā)周期(有時全程只有數(shù)周或數(shù)天),但是過時的安全措施則可能會拖累整個流程奋渔,即使最高效的 DevOps 計劃也可能會放慢速度镊逝。
一、DevSecOps是什么
在 DevOps 協(xié)作框架下嫉鲸,安全防護是整個 IT 團隊的共同責任撑蒜,需要貫穿至整個生命周期的每一個環(huán)節(jié)。這個理念非常重要玄渗,因此催生出了“DevSecOps”一詞座菠,即在開發(fā)和運維緊密結(jié)合的基礎(chǔ)上再強調(diào)了Security,強調(diào)必須為 DevOps 計劃打下扎實的安全基礎(chǔ)捻爷。
DevSecOps 意味著從一開始就要考慮應用和基礎(chǔ)架構(gòu)的安全性辈灼;同時還要讓某些安全網(wǎng)關(guān)實現(xiàn)自動化,以防止 DevOps 工作流程變慢也榄。選擇合適的工具來持續(xù)集成安全防護(比如在集成開發(fā)環(huán)境(IDE)中集成安全防護功能)有助于實現(xiàn)這些目標。但是高效的 DevOps 安防需要的不僅是新工具司志。它更需要整個公司實現(xiàn) DevOps 文化變革甜紫,從而盡早集成安全團隊的工作。
二骂远、DevSecOps目標及原因
DevSecOps的目的和意圖是建立在“每個人都對安全負責”的思想基礎(chǔ)上囚霸,目標是在不犧牲所需安全性的前提下,將安全決策快速激才、大規(guī)模地分發(fā)給擁有最高級別上下流的人員拓型。
如今,也是同樣的原因致使傳統(tǒng)的安全領(lǐng)導者竭力爭取自己在行政會議上的一席之地瘸恼。雖然這一席之地能夠保證安全決策有效性的提高劣挫,但由于價值創(chuàng)造過程中缺乏所需安全技能的供應,導致成果在產(chǎn)出過程中摩擦增多东帅、速度減緩压固。如果沒有足夠的人手,企業(yè)經(jīng)營者就無法達到業(yè)務(wù)運營商所期望的速度靠闭,也就意味著他們必須改變安全價值的貢獻方式帐我,否則風險就會增加坎炼。
隨著DevOps、敏捷和公共云服務(wù)的業(yè)務(wù)需要拦键,傳統(tǒng)的安全流程已成為需要削減的主要目標谣光。但可悲的是,這又是最容易忽略的一點芬为。傳統(tǒng)安全性的出發(fā)點是抢肛,一旦設(shè)計了系統(tǒng),便可以由安全人員確定系統(tǒng)的安全缺陷碳柱,并由業(yè)務(wù)運營商在發(fā)布系統(tǒng)之前對其進行糾正捡絮。這一原則允許流程將有限的安全技能應用于結(jié)果,并且不必在大型系統(tǒng)中額外增加安全環(huán)境莲镣。但是福稳,這樣設(shè)計的流程只有在業(yè)務(wù)活動的速度是瀑布式的并且得到各方同意的情況下才有效。更糟的是瑞侮,在迭代中引入認為安全必須以這種方式運行的想法是有缺陷的的圆,也會在系統(tǒng)內(nèi)增加固有風險。因為業(yè)務(wù)決策需要內(nèi)聯(lián)平衡并以較快的速度解決半火。因此越妈,這一方式尚未得到實現(xiàn)。?
三钮糖、DevSecOps優(yōu)勢及實施
在價值創(chuàng)造生命周期的最后階段梅掠,安全團隊幾乎不可能擁有呈現(xiàn)安全決策所需的所有信息。而且店归,隨著價值創(chuàng)造過程加快提供迭代價值阎抒,以便緊密地聯(lián)系客戶的需求,更可能的是消痛,一次性完成整個系統(tǒng)的測試實際上對結(jié)果具有破壞性且叁。實際上,以這種方式做出的大多數(shù)安全決策很少有效秩伞,經(jīng)常被業(yè)務(wù)領(lǐng)導人否決逞带,并且通常會在事件或破壞發(fā)生時受到質(zhì)疑。
因此纱新,隨著DevOps的不斷變化展氓,傳統(tǒng)的安全性不再是一種選擇。在通過迭代構(gòu)建的系統(tǒng)的設(shè)計和發(fā)布中怒炸,協(xié)作已經(jīng)太晚了带饱。但是,隨著DevSecOps的引入,業(yè)務(wù)運營商或安全人員都沒有必要放棄降低風險的措施勺疼;相反教寂,組織內(nèi)的每個人都應該擁抱并改進它,使其得到那些有能力為系統(tǒng)貢獻安全價值的人的支持执庐。有個很棒的說法是酪耕,如果沒有刻意的內(nèi)置安全控制,系統(tǒng)故障是肯定的轨淌,因為僅僅是避免安全就會給系統(tǒng)帶來更多風險迂烁。因此,認為價值創(chuàng)造與安全性不能合作的觀點是非车蒺模荒謬的盟步。
DevSecOps建立的思維模式包括為業(yè)務(wù)運營商提供了工具和決策,幫助他們進行安全決策躏结,以及為安全人員提供使用却盘、調(diào)整這些工具的支持,這非常適合協(xié)作型團隊媳拴。在這種情況下黄橘,安全工程師與DevSecOps宣言保持一致,該宣言表明了安全從業(yè)者必須提供的價值屈溉,以及他們必須做出的更改塞关,以使安全價值能夠提供給更大的生態(tài)系統(tǒng)。通過這種方式子巾,DevSecOps工程師為系統(tǒng)提供的價值是在非合作的攻擊者發(fā)現(xiàn)缺陷之前持續(xù)監(jiān)視帆赢、攻擊并確定缺陷。這需要業(yè)務(wù)生態(tài)系統(tǒng)中的所有人砰左,包括安全人員匿醒,為迭代的價值創(chuàng)造做出貢獻,并不需要為了團隊中安全從業(yè)者的缺失而過度焦慮缠导。
DevSecOps作為一種思維方式和安全性轉(zhuǎn)換,有助于流程與其他安全更改合作溉痢。換句話說僻造,如果您認為需要將安全性添加到“開發(fā)”或“運營”或某些其他業(yè)務(wù)流程中,那就沒關(guān)系了孩饼!需要將安全性添加到所有業(yè)務(wù)流程中髓削,并且需要創(chuàng)建一個專門的團隊來建立對業(yè)務(wù)的理解、發(fā)現(xiàn)缺陷的工具镀娶、持續(xù)的測試立膛,以及預測作為業(yè)務(wù)操作人員如何做出決策的科學。此外,為了實現(xiàn)全面的轉(zhuǎn)型宝泵,DevSecOps需要執(zhí)行管理層和董事會參與提供相關(guān)信息好啰,這些信息是業(yè)務(wù)如何在當今經(jīng)濟所代表的競爭日益激烈的低信任度環(huán)境中運營和保護團隊的關(guān)鍵指標。