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