0
雷鋒網(wǎng)按:基礎(chǔ)設(shè)施即代碼(IaC)將成為本文重點(diǎn)討論的對(duì)象,它的出現(xiàn),源自云原生時(shí)代不僅是開發(fā)者體驗(yàn)的核心,也是補(bǔ)齊云原生體系的最后一塊版圖。
近年來,DevOps在云原生領(lǐng)域越來越朝著自動(dòng)化方向演進(jìn)。基礎(chǔ)設(shè)施即代碼(IaC)現(xiàn)在通常用于啟動(dòng)服務(wù)器、自動(dòng)配置、設(shè)置存儲(chǔ)和跨服務(wù)應(yīng)用標(biāo)準(zhǔn)網(wǎng)絡(luò)功能。使用新的工具和能力來簡化整個(gè)應(yīng)用程序生命周期的操作,開發(fā)團(tuán)隊(duì)顯著提高了其部署的敏捷性。
但是,在這種新范式中,誰對(duì)安全負(fù)責(zé)?更多的工具提升了開發(fā)人員全周期的所有權(quán)。然而,應(yīng)用開發(fā)人員有很多事情要負(fù)責(zé)。此外,他們沒有一個(gè)完整的窗口來了解細(xì)粒度的漏洞、以及每天出現(xiàn)大量新的合規(guī)性要求。IT安全工程師通常不了解不擴(kuò)展的DevOps工具連續(xù)體的復(fù)雜性。如果沒有更好地協(xié)作,強(qiáng)大的云原生命令可能會(huì)失控,需要修復(fù)。
Oak9 的聯(lián)合創(chuàng)始人兼 CPO Om Vyas 在最近的采訪中,談?wù)摿怂麄儓F(tuán)隊(duì)如何應(yīng)對(duì)云原生部署環(huán)境下安全性的問題。按照他的說法,安全需要為IaC采用與DevOps相同的自動(dòng)化策略。
云原生中的IaC問題
十年前的軟件交付方式與如今大有不同。部門之間往往是孤立的,IT和運(yùn)營部門只能管理本地部署的硬件。這使得工程師能夠使用防火墻鎖定一切以控制運(yùn)行時(shí)環(huán)境。同時(shí),IT可以更直接地控制訪問、網(wǎng)絡(luò)策略、數(shù)據(jù)流和通信邊界。
快進(jìn)到如今的云原生架構(gòu),工程師擁有觸手可及的巨大能力。開發(fā)人員可以通過使用 Terraform 立即啟動(dòng)像EC2這樣的實(shí)例,用編輯器管理Kubernetes上的計(jì)算集群,調(diào)用無服務(wù)或其他各種功能。在引入新功能時(shí),如果基礎(chǔ)設(shè)施自動(dòng)化正在改變現(xiàn)有架構(gòu),那么安全實(shí)施是什么?
保護(hù)IaC的一般方法
AWS、Azure 和 GCP 使啟動(dòng)存儲(chǔ)、計(jì)算和網(wǎng)絡(luò)資源變得非常容易,但是前提是建立在不考慮IaC 的安全影響對(duì)開發(fā)團(tuán)隊(duì)再次造成困擾的可能性。例如,混淆彈性負(fù)載均衡器之間的細(xì)微差別可能會(huì)暴露敏感數(shù)據(jù)。當(dāng)然,一些組織正在構(gòu)建適當(dāng)?shù)?IaC 抽象和模塊。要做到這一點(diǎn),必須要對(duì)文化轉(zhuǎn)變、可觀測性和全周期發(fā)展進(jìn)行思考。
文化轉(zhuǎn)變
與大多數(shù) IT 變革一樣,提高安全性首先需要進(jìn)行文化轉(zhuǎn)變。技術(shù)是次要的,擁抱文化轉(zhuǎn)變需要增加程序員、DevOps、SRE 和安全專業(yè)人員之間的協(xié)作,以決定自主的領(lǐng)域。
文化轉(zhuǎn)變可能包括重新調(diào)整部署流程,或決定何時(shí)讓安全團(tuán)隊(duì)參與新功能的發(fā)布。它還可以包括制定新的代碼分析工具和工作流程標(biāo)準(zhǔn)化。
可觀測性
如果從根本上改變了應(yīng)用程序的架構(gòu),那么團(tuán)隊(duì)需要知道哪些安全領(lǐng)域受到了影響。一個(gè)棘手的部分是在不增加開發(fā)人員工作流程的情況下,添加更多安全檢查點(diǎn),關(guān)鍵就在于實(shí)現(xiàn)自動(dòng)化。
全周期開發(fā)
開發(fā)人員繼續(xù)圍繞代碼庫承擔(dān)延長生命周期的責(zé)任,有人稱這種趨勢為全周期發(fā)展。在應(yīng)用生命周期內(nèi),為開發(fā)人員提供自主權(quán)確實(shí)會(huì)帶來生產(chǎn)力優(yōu)勢。它可以減少對(duì)外部批準(zhǔn)的需求并實(shí)現(xiàn)更快的軟件更改。
但是,這種自主權(quán)并不意味著其他人不參與安全過程。安全的責(zé)任不應(yīng)該僅僅在于開發(fā)人員和 SRE 團(tuán)隊(duì),安全是整個(gè)組織的共同責(zé)任。
安全和IaC的未來
對(duì)于改變底層架構(gòu)的新功能,團(tuán)隊(duì)需要提前了解潛在的安全影響和風(fēng)險(xiǎn)因素。例如,在添加分析儀表板時(shí),如何知道無服務(wù)功能具有對(duì)數(shù)據(jù)庫的正確訪問級(jí)別?是公開的嗎?是靜態(tài)加密的嗎?有適當(dāng)?shù)拿荑€管理系統(tǒng)嗎?如何確保每次更改都不會(huì)產(chǎn)生額外風(fēng)險(xiǎn)?
圍繞這些因素提高安全意識(shí)并不是可以馬虎的事情。與DevOps的實(shí)踐類似,采用安全思維往往在最后一環(huán)才能感受其帶來的巨大收益。此外,隨著多云采用率的提高,如果企業(yè)想要在所有軟件部門應(yīng)用與云無關(guān)的一致保護(hù),則需要實(shí)時(shí)響應(yīng)自身的安全理念。
最后再提一點(diǎn),隨著這種基礎(chǔ)設(shè)施自動(dòng)化的持續(xù)演進(jìn),預(yù)計(jì)未來很快還會(huì)從IaC 轉(zhuǎn)向更多低代碼/無代碼的能力,這通常稱為 ClickOps。而有可能將是未來新的發(fā)展方向。
(雷鋒網(wǎng)編譯)雷鋒網(wǎng)雷鋒網(wǎng)
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。