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