如何使用Kubernetes實現(xiàn)安全合規(guī)自動化?
容器與Kubernetes帶來了新的、獨特的安全審視角度。它們促使團隊重新考量自己的傳統(tǒng)安全策略,擺脫單一或瀑布式的粗放方法,希望破除安全工作“馬后炮”式的被動屬性。
有些人將這種趨勢稱為“左移”思維模式,代表著我們會盡可能將安全因素部署在軟件開發(fā)生命周期或CI/CD管道的起點位置。同樣重要的是,這種轉(zhuǎn)型將高度依賴于自動化,要求我們盡早且頻繁檢測并修復(fù)問題,而不再等到嚴(yán)重問題發(fā)生時再進行事后補救。
在這場轟轟烈烈的轉(zhuǎn)型中,容器化加編排工具的組合將助力提升安全性與合規(guī)性。
Stackrox聯(lián)合創(chuàng)始人兼首席戰(zhàn)略官Wei Lien Dang表示,“像Kubernetes這樣的平臺,最大的優(yōu)勢之一就是能夠在安全性與合規(guī)性領(lǐng)域?qū)崿F(xiàn)高度自動化,大大增強配置能力。這些自動化流程與工具能夠幫助IT團隊隨時隨地準(zhǔn)確衡量Kubernetes環(huán)境的安全狀況與整體風(fēng)險。”
左移思維還能在安全策略的實施當(dāng)中發(fā)揮作用,這同樣有助于改善合規(guī)性。Dang解釋道,“策略的執(zhí)行將可分布在各個檢查點當(dāng)中——包括CI/CD管道、部署或運行期間,并由編排工具根據(jù)實際要求提供良好的可擴展性與可靠性。”
下面,我們一起來看通過容器化與編排工具提高安全/合規(guī)自動化水平的三條關(guān)鍵路徑。
保證擁有良好的配置觀察能力
自動化已經(jīng)成為保障安全性與合規(guī)性關(guān)鍵手段,具體用例包括自動管理存儲在私有注冊表內(nèi)的容器鏡像及其安全策略,以及將自動化安全測試納入構(gòu)建或持續(xù)集成的流程當(dāng)中等。
Kubernetes自帶一組豐富的安全相關(guān)功能,涵蓋基于角色的訪問控制、命名空間及其他功能。但如前文所述,盲目仰仗默認(rèn)配置并不可取。Aqua Security公司戰(zhàn)略副總裁Rani Osnat表示,“Kubernetes是一套復(fù)雜的系統(tǒng),包含大量配置與選項。其中一部分可能存在安全隱患,甚至在默認(rèn)狀態(tài)下會造成重大風(fēng)險。”
只有正確配置這些功能,我們才有可能借助容器與編排工具之力達成安全性與合規(guī)性自動化。對于這方面用例,Red Hat OpenShift等以開源項目為基礎(chǔ)構(gòu)建而成的商業(yè)平臺往往會帶來重要助益。
Dang還指出,“這樣,安全最佳實踐將可以在整個Kubernetes的各個層級上自動應(yīng)用——包括集群層級、命名空間層級、部署/服務(wù)層級以及pod層級等等。”
借自動化機制提高檢測與策略執(zhí)行能力
與很多朋友已經(jīng)熟知的聲明式、自動化基礎(chǔ)設(shè)施操作方法一樣,大家在安全領(lǐng)域也可以采取相同或者類似的操作。如上所述,這些在容器安全與Kubernetes安全當(dāng)中同樣不可或缺。
Dang表示,“這些環(huán)境強調(diào)以聲明式API進行操作,能夠在基礎(chǔ)設(shè)施的配置期間實現(xiàn)安全設(shè)置,并在應(yīng)用程序的構(gòu)建與部署流程中始終提供安全保護。”
換言之,“即代碼管理模式”將由此與安全領(lǐng)域展開融合。
NeuVector公司CTO Gray Duan認(rèn)為,“希望實現(xiàn)Kubernetes合規(guī)性與安全性自動化的企業(yè),還應(yīng)盡可能將安全策略即代碼與行為學(xué)習(xí)(或者機器學(xué)習(xí))結(jié)合起來。這項技術(shù)策略有助于支持安全性“左移”的思維模式,幫助我們在應(yīng)用程序開發(fā)早期引入工作負(fù)載安全策略,立足整個生產(chǎn)過程實現(xiàn)環(huán)境保護。”
Duan還分享了安全性與合規(guī)性領(lǐng)域的幾個“應(yīng)該”案例,一馬當(dāng)先的就是在運行時中自動執(zhí)行安全漏洞掃描。Duan提到,“在實施Kubernetes合規(guī)性與安全性自動化時,我們需要在運行時中執(zhí)行漏洞掃描——不只是掃描容器,還需要掃描主機乃至Kubernetes本身。”
第二點則是自動網(wǎng)絡(luò)分段。事實上,網(wǎng)絡(luò)分段在某些行業(yè)中屬于必要的合規(guī)性要求,需要強制加以執(zhí)行。
越來越的企業(yè)需要組織合規(guī)報告并加以管理,而自動化網(wǎng)絡(luò)分段也開始在眾多行業(yè)的合規(guī)性標(biāo)準(zhǔn)中成為主流。例如,管理支付處理的PCI DSS安全標(biāo)準(zhǔn)就要求在持卡人數(shù)據(jù)環(huán)境內(nèi)外的流量之間設(shè)置網(wǎng)絡(luò)分段和防火墻。在Duan看來,我們根本無法以手動方式調(diào)整防火墻規(guī)則,借以應(yīng)對新的、不斷發(fā)展的容器化環(huán)境威脅態(tài)勢。“正因為如此,很多法規(guī)理所當(dāng)然地要求在業(yè)務(wù)環(huán)境中執(zhí)行自動化運行時掃描與合規(guī)性檢查。”
Kubernetes操作器則是安全自動化領(lǐng)域的一類新興工具。Red Hat安全策略師Kirsten Newcomer向我們解釋道,“最酷的一點在于,IT人員可以使用Kubernetes操作器來管理Kubernetes本身,從而更輕松地交付并自動處理安全部署。例如,操作器能夠高效管理配置漂移、使用Kubernetes聲明機制來重置和更改不受支持的配置。”
按照基準(zhǔn)進行持續(xù)測試,建立自動化測試體系
即使配置正確,大家也必須記住一點:根據(jù)設(shè)計要求,容器體化工作負(fù)載以及運行所處的基礎(chǔ)設(shè)施并非靜態(tài)不變。這些環(huán)境高度動態(tài),因此必須將安全保障視為一種持續(xù)性實踐。
Dang提到,“合規(guī)性檢查也可以自動化,只有這樣才能準(zhǔn)確評估當(dāng)前環(huán)境對于各類基準(zhǔn)及行業(yè)標(biāo)準(zhǔn)的遵循情況。”
從安全性與合規(guī)性的角度來看,Kubernetes環(huán)境中最著名的檢查(及重新檢查)標(biāo)準(zhǔn)之一當(dāng)數(shù)CIS Kubernetes基準(zhǔn)。這是一份免費清單,包含約200項設(shè)置與安全配置最佳實踐。
這份清單系統(tǒng)且全面,但同時也令企業(yè)幾乎不可能手動按照內(nèi)容要求定期檢查動態(tài)環(huán)境。好消息是,目前市面上的現(xiàn)成工具能夠自動高效地完成這項工作。
Aqua開發(fā)的kube-bench是一款免費開源工具,能夠根據(jù)CIS Kubernetes基準(zhǔn)自動檢查IT環(huán)境。事實上,目前CIS指南已經(jīng)成為一項重要的運營前提,Red Hat OpenShift Container Platform 4就專門根據(jù)其中的條目為用戶選擇了合作商工具。在kube-bench的幫助下,企業(yè)能夠持續(xù)檢查自己的安全狀況,確保集群不致偏離合規(guī)性要求。
NeuVector也提供一組免費開源腳本,可根據(jù)最佳實踐自動檢查Kubernetes的安裝情況。
同樣來自Aqua的還有一款開源kube-hunter工具,可根據(jù)已知漏洞對集群發(fā)動模擬攻擊。
Osnat指出,“如果說CIS基準(zhǔn)測試關(guān)注的是單一設(shè)置及其對整體安全狀況產(chǎn)生的影響,那么kube-hunter就是通過數(shù)十種已知攻擊向量對集群發(fā)動滲透測試,借此實現(xiàn)安全性補充。它會模擬攻擊集群,驗證集群是否抵御得住各種已知的攻擊手段。它還提供關(guān)于設(shè)置的變更建議,幫助大家快速對所發(fā)現(xiàn)的安全漏洞施以補救。”
最后,開源陣營還有另外一位新成員——同樣來自Aqua的Starboard,一款面向Kubernetes安裝的安全工具包。
Osnat總結(jié)道,“Starboard努力將各種工具集成到K8s的體驗當(dāng)中,包括漏洞掃描工具、工作負(fù)載審計器以及基準(zhǔn)測試等。它基于K8s CRD(定制化資源定義)實現(xiàn),并可通過Kubernetes API進行訪問。熟悉kubectl(K8s的原生CLI)的用戶能夠輕松從中獲取安全信息,并據(jù)此編程以進一步提升自動化水平。”

