快速推進(jìn)DevOps流程時(shí)的安全問題探討
寫在前面的話
容器和微服務(wù)技術(shù)的誕生為我們設(shè)計(jì)和構(gòu)建安全的基礎(chǔ)設(shè)施以及應(yīng)用程序提供了非常大的幫助。容器環(huán)境從中心化到數(shù)字化的轉(zhuǎn)變,正在迅速成為主流?;谠骗h(huán)境的原生架構(gòu)以及基于微服務(wù)的應(yīng)用程序?qū)τ诠竞推髽I(yè)的快速發(fā)展至關(guān)重要。為了快速實(shí)現(xiàn)安全性,企業(yè)必須加快自身的容器安全策略以及實(shí)施的成熟度。
隨著生產(chǎn)部署速度的加快,不同組件之間的安全問題愈發(fā)明顯,這將給企業(yè)帶來直接的安全風(fēng)險(xiǎn)。大家都知道,傳統(tǒng)的安全工具及產(chǎn)品無法給容器和微服務(wù)提供安全保護(hù),因此大多數(shù)部署了容器的公司都會對自身資產(chǎn)的安全性表示擔(dān)憂,并且希望安全社區(qū)能夠提供專門的解決方案。
除了部署新的容器安全平臺之外,各大公司還意識到了他們必須利用云環(huán)境和容器化生態(tài)系統(tǒng)固有的安全功能及架構(gòu),而類似Kubernetes這樣的容器及微服務(wù)技術(shù)就給我們構(gòu)建安全的基礎(chǔ)設(shè)施以及應(yīng)用程序提供了絕佳的機(jī)會。
新的挑戰(zhàn)和策略轉(zhuǎn)移
從本質(zhì)上來看,容器化環(huán)境只要在構(gòu)建和使用時(shí)操作得當(dāng),那它們就是更安全的。但想要安全地配置、操作和運(yùn)行這些系統(tǒng),就需要豐富的經(jīng)驗(yàn)了。通常,一般的安全團(tuán)隊(duì)對容器或Kubernetes這樣的東西是沒有經(jīng)驗(yàn)的,因此很多企業(yè)還需要根據(jù)各自部署容器的方式來重新審視這些團(tuán)隊(duì)的安全角色和責(zé)任。
加強(qiáng)Kubernetes的安全性是一個(gè)組織想要保護(hù)容器化應(yīng)用程序時(shí)所要做的最基本的事情之一。Kubernetes已經(jīng)成為了絕大多數(shù)容器化環(huán)境部署方案中的首選,它是否能夠成為一個(gè)強(qiáng)大的解決方案,主要原因在于你能夠從多大程度上來使用和控制它。需要注意的是,它提供了非常豐富的配置選項(xiàng),這也就意味著在操作的過程中會出現(xiàn)錯(cuò)誤,如果你的設(shè)置不正確,那么你就有可能引入不必要的業(yè)務(wù)風(fēng)險(xiǎn)。此外,Kubernetes也正在成為網(wǎng)絡(luò)犯罪分子的攻擊目標(biāo),因?yàn)樗氖褂迷絹碓綇V泛了。
DevOps跟安全更加貼近
隨著云服務(wù)和云生態(tài)環(huán)境的興起,CIO團(tuán)隊(duì)已經(jīng)從提供和運(yùn)行云基礎(chǔ)設(shè)施,轉(zhuǎn)移到了提供服務(wù)支持型的應(yīng)用程序?,F(xiàn)在,隨著容器化環(huán)境技術(shù)的發(fā)展,安全團(tuán)隊(duì)也在進(jìn)行著類似的轉(zhuǎn)變,這是因?yàn)閼?yīng)用程序的安全已經(jīng)逐步進(jìn)入了DevOps的領(lǐng)域??紤]到DevOps在構(gòu)建、測試和部署應(yīng)用程序方面的專業(yè)知識和核心作用,DevOps團(tuán)隊(duì)成員必須負(fù)責(zé)去保護(hù)這些應(yīng)用程序以及基礎(chǔ)設(shè)施。雖然安全團(tuán)隊(duì)仍然需要去制定一些安全策略并設(shè)置防護(hù)邊界,但DevOps將越來越多地去操作更適用于容器化應(yīng)用程序的安全工具。
除此之外,DevOps還可以幫助我們在軟件開發(fā)生命周期的初期更加安全地構(gòu)建產(chǎn)品基礎(chǔ)設(shè)施,而容器技術(shù)的細(xì)粒度可以提高系統(tǒng)的彈性和靈活性。在云本地環(huán)境中,控制層和數(shù)據(jù)層從某種程度上來說時(shí)交織在一起的,因此我們可以編寫一個(gè)邏輯層來進(jìn)行連續(xù)的、及時(shí)的操作。
容器和微服務(wù)能夠幫助我們進(jìn)行實(shí)時(shí)的修改,例如部署安全更新等等。為了解決一個(gè)問題,我們只需要替換掉舊的鏡像,部署新的鏡像,刪除受影響的容器,然后重構(gòu)一個(gè)新的容器,而這些容器將會自動(dòng)使用新的鏡像。這樣一來,你就可以在不破壞整個(gè)應(yīng)用程序的情況下解決你所遇到的安全問題了。
毫無疑問,DevOps會讓網(wǎng)絡(luò)犯罪分子們更加頭疼,如果他們成功滲透,通常只能看到一個(gè)容器里的東西,而擴(kuò)大攻擊范圍意味著他們必須多次重復(fù)執(zhí)行攻擊入侵操作。
考慮到容器固有的安全結(jié)構(gòu),DevOps團(tuán)隊(duì)和安全團(tuán)隊(duì)還可以協(xié)同合作來保護(hù)基礎(chǔ)設(shè)施的安全。此時(shí),安全團(tuán)隊(duì)只需要在共享安全原則和策略上集中盡力以應(yīng)用到新的開發(fā)工具上,而DevOps團(tuán)隊(duì)可以把注意力放在集成本地DevOps工具容器安全平臺上。
沒錯(cuò),我們需要更聰明一點(diǎn)!再聰明一點(diǎn)!