九項工作做好K8s的事件響應
谷歌開發的Kubernetes(K8s)已經成為主流容器編排平臺,K8s的主要目標是應對監管大規模容器的復雜性,其通過分布式節點集群管理微服務應用程序,支持擴展、回滾、零停機和自我修復。它可以在內部數據中心的裸機上運行,也可以在Azure、AWS等公有云或私有云平臺上運行。
K8s安全是一項復雜的任務,其中一個非常具體和關鍵的方面是事件響應。如K8s集群遭受攻擊時該如何做?組織內各團隊如何協調以應對攻擊?應急恢復的有效流程是怎樣的,以及需要哪些必要的調查工具和數據?
事件響應是檢測、管理并恢復網絡安全事件的結構化過程,其最終目標是降低成本、最小化宕機時間,把附帶損害(包括業務損失和品牌影響)降至最低。
為了實現高效的事件響應,必須讓組織內各個部門的人員參與進來。除了IT和安全團隊,包括客戶支持、人力資源、法律、合規和高級管理人員。以下是事件響應工作的九項主要構成:
1. DevOps
響應K8s安全事件幾乎總是需要部署、回滾、更改集群配置,或者部署策略中指定的這些組合。所有這些操作都是DevOps人員的權限。DevOps團隊必須有一個明確的流程,用于識別哪個構建或配置更改導致了安全事件,以及如何恢復到已知的正常配置或使用修復程序前滾。
2. 軟件開發
當發生安全事件時,通常意味著容器或應用程序中的漏洞正在K8s集群中運行,修復漏洞需要軟件開發人員。事件響應者和開發者之間必須有明確的溝通渠道。開發人員需要確切知道安全問題在哪個組件中,以及在哪些代碼行中。開發團隊還必須將修復漏洞工作賦予優先處理流程,然后將其推向生產環境。這是強變化性管理項目的標準實踐,最終目標是讓事件的移交變得常規而直接。另外,在發生嚴重事件或確認入侵的情況下,制定非工作時間的支持制度也很重要。
3. 核心基礎設施
根據組織的不同,核心基礎設施可能由DevOps團隊、軟件可靠性和網站可靠性工程(SRE)人員或外部云提供商管理。事件響應者應該知道誰負責加固每個K8s部署的服務器和配置。如果在基礎設施級別發現漏洞,應該有明確的流程來獲得基礎設施或云提供商安全團隊的支持。
4. 建立事件響應策略
可以通過兩個步驟為K8s環境制定事件響應策略:制定事件響應計劃和準備容器取證。
5. 準備事件響應計劃
為K8s環境準備一份事件響應計劃至關重要。該計劃至少應包含以下四個階段,還可以根據需要進行擴展。
(1)識別
該步驟旨在跟蹤安全事件,以識別和報告可疑的安全事件。K8s監控工具用于報告K8s節點和Pod中的活動。想要識別安全問題,如容器權限提升或惡意網絡通信,要使用專用的K8s安全工具。
(2)協作
一旦安全分析師發現事件,他們應該將其上報給高級分析師,并讓組織中的其他人參與進來。在上文中談到的DevOps、開發和基礎設施團隊建立的流程將非常有用。應該有一個事先與高管達成一致的明確流程,用于分享漏洞的詳細信息并得到優先修復。
(3)解決
即使DevOps和開發人員盡到了自己的責任,事件響應團隊仍需擔負解決事件的最終責任。他們必須驗證修復效果,確保漏洞不再被利用,并清除系統中的入侵者和惡意軟件。然后,由相應人員著手恢復生產系統,同時與安全團隊合作,以確保漏洞的修復。
(4)持續改進
每一次安全事件都是學習和改進的機會。除了危機期間執行的緊急修復之外,事件響應者還應與技術團隊會面,更為廣泛的分享安全問題的經驗教訓。每一次事件都會改善K8s的集群配置,并識別出薄弱或缺失的安全控制。
6. 容器取證
一旦啟動K8s環境所需的安全保護措施,事件響應計劃應確保安全團隊能夠訪問所有必要的信息,以便進行取證分析。
7. 日志
K8s的日志組成中,有一些全面安全調查至關重要的一些日志,如API服務器日志、單個節點上的kubelet日志、云基礎設施日志、應用程序日志和操作系統日志等,特別要關注網絡連接、用戶登錄、安全Shell會話和進程執行。
8. 節點的快照
對于任何部署,都必須執行一個簡單、自動化的過程,對運行可疑惡意容器的節點進行快照。這樣做可以隔離節點,或者移除受感染的容器以恢復環境的其余部分。
使用節點快照可以進行以下分析:
- 調查并掃描磁盤鏡像是否存在惡意活動;
- 使用Docker Inspect和其他容器引擎工具調查容器級別的惡意活動;
- 詳細查看操作系統活動,以確定攻擊者是否設法突破容器以實現Root訪問。
9. 容器可見性工具
建議DevOps安全分析師首先利用K8s和Docker中可用的工具,包括Docker statistics API,幫助他們收集系統指標。對于只需要知道系統在大規模運行時如何受容器負載影響的分析人員來說,系統指標非常有用。
容器可見性工具幫助DevOps了解容器和Pod內發生的事情。例如,它們可以幫助安全團隊了解重要文件是否丟失或容器中是否添加了未知文件,監控實時網絡通信,并識別容器或應用程序級別的異常行為。所有信息都要在無需容器登錄憑證的情況下可用。