NIST.SP.800-190容器安全指南

0x00背景

計算機系統技術報告美國國家標準技術研究院(NIST) 的信息技術實驗室(ITL) 通過爲美國的測量和標準基礎設施提供技術指導, 促進了美國經濟和公共福利的發展。 ITL 開發測試、 測試方法、參考數據、 概念驗證、 以及技術分析, 促進信息技術的開發和生產使用。 ITL 的職責包括制定管理、 行政、 技術和物理標準以及指南, 以經濟有效地保護聯邦信息系統中除國家
安全相關信息以外的安全性和隱私。 特別出版物 800 系列報告了 ITL 在信息系統安全性方面的研究、 指南和探究工作, 以及與行業、 政府和學術組織的合作活動。

摘要

容器技術, 也稱爲容器, 是操作系統虛擬化與應用軟件打包相結合的一種形式。 容器提供了一種可移植、 可重用的自動化方式來打包和運行應用。 該出版物解釋了與容器使用相關的潛在安全隱患, 並對解決這些隱患提出了建議。

關鍵詞

應用; 應用軟件打包; 容器; 容器安全; 隔離; 操作系統虛擬化; 虛擬化

0x01 執行摘要

操作系統(OS) 虛擬化爲每個應用單獨提供了一個操作系統虛擬化視圖, 從而使每個應用與服務器上的所有其它應用隔離開來。 每個應用只能看到並影響自身。 近年來,由於 OS 虛擬化易用性程度提高、 並提高了開發人員敏捷性等關鍵效益, OS 虛擬化已變得越來越流行。 當今的 OS 虛擬化技術主要致力於提供一種可移植、 可重用的自動化方式來打包和運行應用(app) 。 術語“應用容器”或簡稱爲“容器”經常用於指代這些技術。該文檔的目的是解釋與容器技術有關的安全問題, 併爲規劃、 實施和維護容器時解決這些問題提出切實可行的建議。 許多建議是針對容器技術架構(如圖 1 所示) 中的具體組件或層而提出的。

0x02 確保其容器技術的實施和使用安全

組織機構應遵循這些建議, 以確保其容器技術的實施和使用安全:

(1) 通過使用容器, 可以調整組織機構的運營方式和技術流程, 支持以全新方式來開發、運行和支持應用。採用容器技術可能會破壞組織機構內的現有方式和軟件開發方法。 傳統的開發實踐、 補丁技術和系統升級過程可能無法直接應用到容器化環中,因此員工願意適應這種新模型,這一點非常重要。 應鼓勵員工採納本指南中涵蓋的在容器內安全構建和運行應用的推薦做法,並且組織機構應願意反思現有程序, 充分利用容器。 應向軟件開發生命週期內所涉及的所有人提供有關技術和運行方式的教育與培訓。

(2) 使用容器專用主機操作系統而不是通用操作系統以減少攻擊面。NIST 特別出版物 800-190 容器安全指南容器專用主機操作系統是一種極簡操作系統, 僅設計用於運行容器, 而禁用所有其它服務和功能, 並且部署了只讀文件系統和其它加固措施。 當使用容器專用主機操作系統時, 攻擊面通常比使用通用主機操作系統小很多, 所以攻擊和入侵容器專用主機操作系統的機率更小。 因此, 組織機構應儘量使用容器專用主機操作系統來降低風險。 但重要的是要注意, 專用主機操作系統隨着時間的推移也會有漏洞需要修復

(3) 只將具有同樣目的、 敏感性和威脅態勢的容器組合放在同一主機操作系統內核中, 以提高縱深防禦能力。雖然大多數容器平臺在將容器與容器隔離、 將容器與主機操作系統隔離方面做的卓有成效, 但在同一主機操作系統上運行不同敏感級別的應用時會存在不必要的風險。 依據目的、敏感性和威脅態勢來將容器分隔開來, 可以提高縱深防禦能力。 組織機構按照這種方式對容器分組, 入侵某一組容器的攻擊者就很難橫向移動到其它組容器。 這提高了發現和控制入侵的可能性, 並且確保任何殘留數據, 如緩存或加載臨時文件的本地數據卷, 保留在安全區域內。在數以百計的主機和數以千計的容器這樣大規模的環境中, 自動化分組才具有現實可操作性。 幸運的是, 容器技術通常包含某種機制, 能夠將應用組合在一起, 而且容器安全工具可以使用像容器名稱和標籤等屬性來對容器執行安全策略。

(4) 採用容器專用的漏洞管理工具和過程, 防止鏡像遭到入侵。傳統的漏洞管理工具對主機持久性和應用更新機制及頻率做了很多假設, 但這與容器化模型完全不相符。 例如, 傳統的漏洞管理工具常常假定, 某一服務器長時間運行一組相同的應用, 但不同的容器實際上可能是根據資源可用性情況, 在任何給定時間在不同的服務器上運行。 此外, 傳統工具往往無法檢測容器內的漏洞, 從而產生一種虛假的安全感。 組織機構使用的工具應採用聲明式、 分步構建的方法, 並將容器和鏡像的不變性融入其設計中, 從而提供更可行、 更可靠的結果。這些工具和過程應考慮到鏡像軟件漏洞和配置設置。 組織機構應採用工具和過程來驗證並強制確保鏡像符合安全配置最佳慣例。 這應包括對每個鏡像的合規性狀態進行集中報告和監控, 防止運行不合規鏡

(5) 考慮採用基於硬件的防範措施, 爲可信計算提供基礎。安全應擴展到整個容器技術的所有層。 目前, 實現這一目標的方法是將安全建立在硬件可信根之上, 例如行業標準的可信平臺模塊(TPM) 。 在硬件可信根中存儲了主機的固件、軟件和配置數據的測量結果。 在啓動主機前用存儲的測量結果驗證當前的測量結果, 這就保證了可以信任主機。 硬件的可信鏈可以擴展到操作系統內核和操作系統組件, 從而可以實現針對啓動機制、 系統鏡像、 容器運行時和容器鏡像的密碼驗證。 可信計算爲構建、 運行、 編排和管理容器提供了一種安全方式。

(6) 使用容器感知的運行時防禦工具。NIST 特別出版物 800-190 容器安全指南部署和使用能夠在容器運行時預防、 檢測和響應威脅的專用容器安全解決方案。 傳統的安全解決方案, 如入侵防禦系統(IPS) 和 Web 應用防火牆(WAF) , 通常無法對容器提供恰當防護。 這些傳統的安全解決方案可能無法運行在大規模的容器上, 無法管理容器環境中的頻繁變更, 也無法檢測容器內部的活動。 利用容器原生安全解決方案能夠監視容器環境,並能夠精確檢測其中的異常情況和惡意活動

0x03 標準目錄

歡迎大家分享更好的思路,熱切期待^^_^^ !

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章