微服務(wù)如何徹底改變了企業(yè)安全?
譯文譯者 | 布加迪
審校 | 重樓?
這幾年,微服務(wù)革命席卷整個IT界,71%的組織聲稱2021年之前采用了這種架構(gòu)。在討論微服務(wù)時,我們常聽到其優(yōu)勢在于可以靈活地向客戶交付創(chuàng)新成果。但有一個方面卻很少被人提及,那就是企業(yè)安全問題。?
在單體式應(yīng)用程序時代,單單一個安全問題就可能意味著要花成百上千個小時從頭重新構(gòu)建應(yīng)用程序。除了必須修補安全漏洞本身外,這還意味著DevOps團隊和安全團隊將不得不審查和重構(gòu)應(yīng)用程序以調(diào)整依賴項,有時不得不有效地對整個應(yīng)用程序進行逆向工程處理。?
微服務(wù)顛覆了這種模式。它允許DevOps團隊在不用擔(dān)心破壞整個應(yīng)用程序架構(gòu)的情況下隔離安全漏洞或問題,并解決它們。這不僅意味著可以更迅速地開發(fā)出安全補丁,還意味著DevOps團隊和IT架構(gòu)整體上更有彈性、更高效。?
微服務(wù)如何幫助隔離安全漏洞??
先有必要提醒一下什么是微服務(wù)架構(gòu):這是一組可以獨立部署的服務(wù),通過API等中介系統(tǒng)松散地聯(lián)系在一起。這些單獨的服務(wù)通常反映了應(yīng)用程序最基本的構(gòu)建模塊。?
實際上,容器是用于交付微服務(wù)架構(gòu)的技術(shù)。這些輕量級獨立軟件包將應(yīng)用程序代碼與輕量級操作系統(tǒng)、運行時環(huán)境、庫和配置數(shù)據(jù)捆綁在一起。通過使用像Kubernetes這樣的編排系統(tǒng),各個容器可以彼此交換輸出內(nèi)容,使它們能夠執(zhí)行曾經(jīng)通過單體式應(yīng)用程序才能實現(xiàn)的總體任務(wù)。?
微服務(wù)架構(gòu)通常由容器提供,通過設(shè)計來隔離許多安全風(fēng)險。由于單個微服務(wù)僅通過編排它們的中介系統(tǒng)交換輸出,單個微服務(wù)被破壞或攻擊很難影響整個應(yīng)用程序。?
以日歷為例?
在實踐中,上述表述又意味著什么呢?以下是一個推演案例。?
幾年前制造商發(fā)現(xiàn),如果將日期改為1/1/1970,許多消費級設(shè)備就無法使用。想象一下:如果我們將該缺陷引入到用于企業(yè)環(huán)境中的日歷應(yīng)用程序。現(xiàn)在假設(shè)黑帽攻擊者搶在安全團隊之前發(fā)現(xiàn)了這個問題,隨后進而獲取某人的憑據(jù),并將日歷應(yīng)用程序中的當(dāng)前日期更改為1/1/1970。?
如果企業(yè)的DevOps團隊在處理單體式應(yīng)用程序,他們不得不做以下工作:?
首先,他們將不得不應(yīng)對由攻擊引起的一系列廣泛的系統(tǒng)故障,除非解決了這個缺陷,否則他們無法修復(fù)這些問題。?
其次,假設(shè)他們發(fā)現(xiàn)了缺陷出在日歷應(yīng)用程序上,將不得不檢查該應(yīng)用程序的完整源代碼,并手動找到問題所在。?
最后,他們將不得不檢查整個日歷應(yīng)用程序的源代碼,以更改引用與有漏洞的代碼行相關(guān)的變量或語句的任何地方。?
如果同一個DevOps團隊處理微服務(wù)架構(gòu),情況又會怎樣呢??
首先,一旦黑帽攻擊者更改了日期,他們會注意到含有缺陷的特定微服務(wù)出現(xiàn)了故障。?
其次,假設(shè)他們在使用容器,他們的Kubernetes發(fā)行版會標(biāo)記特定的容器并沒有發(fā)送有效的輸出數(shù)據(jù)。?
最后,團隊只需將有問題的容器的設(shè)置恢復(fù)到惡意日期更改之前即可。?
一旦團隊完成了最初的診斷并通過設(shè)置回滾來解決問題,他們可以修復(fù)導(dǎo)致漏洞的底層缺陷。綜觀整個過程,更廣泛的日歷應(yīng)用程序以及依賴它的一切都保持在線狀態(tài)。?
微服務(wù)有助于提高效率和主動性?
從上面的故事中可以得出一大啟示:在微服務(wù)架構(gòu)中,只需要替換或更新有缺陷的組件,而不是替換或更新整個應(yīng)用程序。這意味著果真出現(xiàn)問題或漏洞時,停運時間更短,因為團隊可以識別并恢復(fù)受損的單個微服務(wù)。此外,這為DevOps團隊和安全團隊減少了解決缺陷的工作量,因為他們只需要改動單個微服務(wù),需要改動的應(yīng)用程序代碼必然比完整的單體式應(yīng)用程序更少。?
此外,微服務(wù)讓團隊可以更積極主動。微服務(wù)通過防止攻擊或級聯(lián)漏洞的隔離機制來實現(xiàn)這種主動性。這種隔離機制讓團隊能夠不斷地改進單個微服務(wù),不必考慮應(yīng)用程序的其余部分。?
這意味著DevSecOps專業(yè)人員可以致力于留意漏洞或推出安全更新。不需要管理或后勤工作來阻止安全更新破壞應(yīng)用程序中的另一個微服務(wù)。說到修復(fù)零日漏洞或保護應(yīng)用程序免受新出現(xiàn)的威脅,這種靈活性和自由度大有益處。?
由于微服務(wù),團隊可以比以往任何時候更快速、更有效地響應(yīng)安全威脅。說到主動性方面,微服務(wù)使團隊能夠以極快的速度加固系統(tǒng)。總之,這就是為什么說微服務(wù)已改變了企業(yè)IT安全界的面貌:它們讓開發(fā)團隊、運營團隊和安全團隊能夠以前所未有的靈活性更快速地工作。?
原文標(biāo)題:??How microservices have transformed enterprise security??,作者:Simon Wright