在傳統(tǒng)上,保護(hù)運(yùn)營(yíng)環(huán)境意味著采取防火墻等安全措施。然而,像在2020年遭遇的SolarWinds這樣的網(wǎng)絡(luò)攻擊在軟件供應(yīng)鏈上的威脅越來(lái)越大。研究表明,網(wǎng)絡(luò)攻擊者變得更加深思熟慮,并在軟件開(kāi)發(fā)生命周期的早期階段進(jìn)行攻擊。
對(duì)安全軟件開(kāi)發(fā)生命周期的日益增長(zhǎng)的需求引發(fā)了圍繞“安全左移”概念的討論。幾十年來(lái),安全性一直處于軟件開(kāi)發(fā)周期的末端,軟件開(kāi)發(fā)基本上是線性規(guī)劃的。隨著云原生應(yīng)用程序的發(fā)展,以及用戶對(duì)實(shí)時(shí)和全天候軟件服務(wù)的需求,這種在開(kāi)發(fā)周期結(jié)束時(shí)安排安全性和測(cè)試的線性方法可能會(huì)產(chǎn)生重大的開(kāi)發(fā)、運(yùn)營(yíng)和成本影響。
因此,需要的不僅僅是保護(hù)外圍。開(kāi)發(fā)商從開(kāi)發(fā)生命周期的開(kāi)始,從編寫(xiě)第一行代碼并在整個(gè)過(guò)程中運(yùn)行開(kāi)始,到應(yīng)用程序在生產(chǎn)環(huán)境中運(yùn)行,企業(yè)必須采取更廣泛的視角來(lái)關(guān)注安全性。
(資料圖片)
安全性應(yīng)該被視為基礎(chǔ)設(shè)施元素,就像網(wǎng)絡(luò)和存儲(chǔ)一樣。然而,與網(wǎng)絡(luò)和存儲(chǔ)不同的是,安全性出現(xiàn)問(wèn)題意味著應(yīng)用程序的停機(jī)和隨之而來(lái)的損失,而破壞安全性可能導(dǎo)致敏感信息的丟失,這可能會(huì)造成更大的損失,并且在許多情況下是無(wú)法挽回的。
全面看待安全問(wèn)題企業(yè)的安全涉及多個(gè)方面,包括企業(yè)資產(chǎn)、設(shè)備、工具、文檔和其他內(nèi)部信息的安全。隨著企業(yè)實(shí)施數(shù)字化轉(zhuǎn)型,他們依靠軟件來(lái)提供所尋求的敏捷性、性能和可擴(kuò)展性?xún)?yōu)勢(shì)。但是,怎樣才能在生產(chǎn)環(huán)境中安全地運(yùn)行應(yīng)用程序呢?
如果企業(yè)希望改善其安全狀況,則需要在流程、人員和產(chǎn)品上進(jìn)行大量投資。僅僅在這些領(lǐng)域中的一個(gè)方面進(jìn)行改進(jìn)可能不會(huì)改善整體的安全狀況,其缺點(diǎn)可能導(dǎo)致整體的軟件安全風(fēng)險(xiǎn),這就是為什么這些投資應(yīng)該攜手并進(jìn)的原因。
例如,如果安全團(tuán)隊(duì)不能有效地與開(kāi)發(fā)和運(yùn)營(yíng)團(tuán)隊(duì)進(jìn)行溝通和協(xié)作,那么網(wǎng)絡(luò)攻擊者發(fā)現(xiàn)安全漏洞只是時(shí)間問(wèn)題。
通過(guò)Kubernetes實(shí)現(xiàn)業(yè)務(wù)敏捷性現(xiàn)代應(yīng)用程序基于云原生技術(shù)和微服務(wù)架構(gòu)。容器已經(jīng)成為打包微服務(wù)的默認(rèn)方式,因?yàn)樗鼈兲峁┝艘恢滦?、可遷移性和可重復(fù)性。隨著越來(lái)越多的企業(yè)轉(zhuǎn)向云原生應(yīng)用程序,Kubernetes已經(jīng)成為事實(shí)上的容器編排器,使得部署、發(fā)現(xiàn)和擴(kuò)展這些微服務(wù)變得更加容易。
Kubernetes和容器在將新代碼交付到生產(chǎn)環(huán)境時(shí)提供了急需的業(yè)務(wù)敏捷性。然而,這使得安全環(huán)境更具挑戰(zhàn)性。Kubernetes使用熟悉的概念,例如authZ和authN、證書(shū)和加密。同時(shí),它引入了新的概念,如部署、pod、入口、名稱(chēng)空間、基于角色的訪問(wèn)控制、服務(wù)帳戶、秘密、網(wǎng)絡(luò)策略、資源限制和配額,這些概念不僅對(duì)開(kāi)發(fā)人員和運(yùn)營(yíng)團(tuán)隊(duì)來(lái)說(shuō)是陡峭的學(xué)習(xí)曲線,對(duì)安全團(tuán)隊(duì)來(lái)說(shuō)也是如此。
DevSecOps的利弊Kubernetes打破了DevOps和安全團(tuán)隊(duì)之間的界限,并鼓勵(lì)了DevSecOps的概念,進(jìn)一步推動(dòng)了安全向左轉(zhuǎn)移的趨勢(shì)。DevSecOps可以?xún)?yōu)化DevOps實(shí)踐,將軟件開(kāi)發(fā)周期縮短到幾周甚至幾天的時(shí)間,從而滿足企業(yè)和用戶的多樣化需求。
許多企業(yè)在嘗試在生產(chǎn)環(huán)境中保護(hù)Kubernetes環(huán)境時(shí)發(fā)現(xiàn)了采用DevSecOps的挑戰(zhàn)。DevSecOps和左移的概念要求開(kāi)發(fā)人員具備更豐富的安全知識(shí),他們還需要管理設(shè)計(jì)、開(kāi)發(fā)、架構(gòu)、基礎(chǔ)設(shè)施和測(cè)試。額外的安全職責(zé)會(huì)給已經(jīng)承受壓力的DevOps團(tuán)隊(duì)帶來(lái)更大的壓力,這為處理Kubernetes問(wèn)題打開(kāi)了一個(gè)新的窗口。
采用DevSecOps和左移實(shí)踐的現(xiàn)實(shí)方法在大多數(shù)情況下,要求開(kāi)發(fā)人員也成為遇到上述挑戰(zhàn)的安全專(zhuān)家是不切實(shí)際的期望。企業(yè)的最佳選擇是采用默認(rèn)安全的工具和技術(shù),并將安全專(zhuān)家作為平臺(tái)團(tuán)隊(duì)的一部分,他們可以了解安全結(jié)構(gòu)并構(gòu)建護(hù)欄,并將安全最佳實(shí)踐應(yīng)用于該平臺(tái)。
另外,企業(yè)可以開(kāi)始關(guān)注軟件物料清單(SBOM)。就像材料的詳細(xì)菜單一樣,軟件物料清單(SBOM)列出了代碼庫(kù)中的開(kāi)源和第三方組件,幫助團(tuán)隊(duì)更好地理解開(kāi)發(fā)周期中單個(gè)項(xiàng)目和特定代碼之間的關(guān)系。
SBOM還包含組件許可信息,這可以幫助企業(yè)理解許可和法規(guī)信息,從而更容易自動(dòng)化遵從性檢查。詳細(xì)的軟件文檔還提高了開(kāi)發(fā)人員和安全團(tuán)隊(duì)的代碼審查效率,減少了開(kāi)發(fā)人員的負(fù)擔(dān)。
循序漸進(jìn)提高安全性提高安全性并不一定是孤注一擲。隨著企業(yè)團(tuán)隊(duì)獲得了運(yùn)行安全生產(chǎn)環(huán)境的信心,這通常是一個(gè)緩慢提高企業(yè)安全狀況的過(guò)程。這個(gè)過(guò)程可以從保護(hù)來(lái)自集集群外部的訪問(wèn)和網(wǎng)絡(luò)流量(南北流量)開(kāi)始,然后保護(hù)來(lái)自集群內(nèi)部的訪問(wèn)和網(wǎng)絡(luò)流量(東西向流量),最后應(yīng)用安全性最佳實(shí)踐。
然后,安全團(tuán)隊(duì)可以專(zhuān)注于實(shí)現(xiàn)安全合規(guī)性、構(gòu)建零信任架構(gòu)和改進(jìn)供應(yīng)鏈安全性。每個(gè)階段都需要培訓(xùn),包括學(xué)習(xí)如何部署和管理Kubernetes。成功在很大程度上取決于團(tuán)隊(duì)實(shí)現(xiàn)這些能力的速度有多快。將流程分解并以這種方式進(jìn)行將使企業(yè)能夠朝著實(shí)現(xiàn)更好的應(yīng)用程序安全性穩(wěn)步前進(jìn)。
標(biāo)簽: