容器化應用環(huán)境安全:需要進行這8條安全檢查
容器能將應用從底層基礎設施中抽象出來,令開發(fā)人員能夠?qū)么虬煽稍诓煌掌魃线\行的較小模塊,令應用的部署、維護和升級都更加簡單易行。
但容器化應用的安全方法與保護傳統(tǒng)應用環(huán)境的方法略有不同,因為容器化應用的安全漏洞更難以發(fā)現(xiàn),它們所依托的系統(tǒng)鏡像往往是未經(jīng)過驗證的,且容器領域的標準化仍在發(fā)展過程中。更重要的是,容器的啟用和棄用都很方便快捷,從安全角度看略有點轉(zhuǎn)瞬即逝的特點。
Red Hat 高級首席產(chǎn)品經(jīng)理科斯騰·紐卡曼( Kirsten Newcomer )認為:“即便容器技術(shù)對部署它們的公司企業(yè)而言是個新概念,但其背后的理念應該是為人熟知的。”
在部署容器之前和應用容器的整個生命周期里,公司企業(yè)都應考慮該應用棧的安全。“雖然容器繼承了Linux的很多安全特性,在該應用模式上仍有一些具體的問題需要考慮。”
以下就是公司企業(yè)在部署容器時需要檢查的8個方面內(nèi)容:
1. 秘密管理
正如其他應用環(huán)境中你需要安全地管理口令、API密鑰和令牌等秘密,容器環(huán)境中也需要相應的秘密管理控制措施。
很多容器化應用要訪問敏感信息,比如用戶名和口令,所以你的容器平臺得支持敏感信息安全功能,比如默認加密各種秘密、在容器啟動時自動找回并注入秘密、防止容器訪問其他容器的秘密等。
2. 鏡像源
你得信任承載你容器應用的基礎鏡像。這意味著你需要知道這些鏡像的來源,構(gòu)建鏡像所用的源代碼,鏡像的構(gòu)建方式和地點,鏡像運行的軟件,以及鏡像是否含有什么安全問題。
容器鏡像是生產(chǎn)環(huán)境中應用程序的基礎。公司企業(yè)需要做的最重要的事,就是確保自己的基礎容器鏡像是經(jīng)過驗證的、可信的、受支持的。
在確定鏡像可信前一定要注意鏡像代碼中是否存在什么安全漏洞。容器鏡像往往是從非信任源下載的,或者不是經(jīng)過企業(yè)策劃收錄的,鏡像完整性需受到管理和檢查。
3. 容器工作流可見性
容器和容器編配工具令安全團隊難以跟蹤應用通信流,可能導致應用意外暴露在風險之中。
所以,企業(yè)使用的工具集應能驅(qū)動對容器內(nèi)和容器間過程的可見性。該可見性是確保企業(yè)了解容器過程工作流的關鍵。
Docker、Kubernetes和OpenShift之類容器編配平臺也應具備容器工作流可見性,這可以帶來過程依賴性映射、策略創(chuàng)建及實施上的種種好處。
4. 標準化配置和部署
帶安全漏洞的容器配置可能將IT環(huán)境暴露在更高的風險之中,具有數(shù)據(jù)泄露和敏感信息遺失的隱患。希望部署容器的企業(yè)需標準化配置和部署過程。
在這方面,企業(yè)應引入合規(guī)即代碼(compliance-as-code)方法來檢查Docker主機部署是否遵從了互聯(lián)網(wǎng)安全中心(CIS)提供的各項標準。
另外,企業(yè)敏捷開發(fā)運維(DevOps)中也應集成進工具和API供開發(fā)人員和DevOps團隊使用。企業(yè)應開始保護容器收集元數(shù)據(jù)和特定于容器部署的日志,了解Kubernetes之類的新編配環(huán)境。
5. 發(fā)現(xiàn)與監(jiān)測
想要保護容器環(huán)境,就得能夠發(fā)現(xiàn)和跟蹤企業(yè)范圍內(nèi)的容器使用情況。企業(yè)得具備檢測諸如資源瓶頸和漏洞等潛在問題的安全控制措施。
有效漏洞管理、合規(guī)操作和容器原生入侵檢測/預防也是企業(yè)需要的。
6. 特定于容器的主機操作系統(tǒng)
NIST說,如果你想要減小自身容器環(huán)境的攻擊界面,就不要使用通用操作系統(tǒng)。特定于容器的操作系統(tǒng)摒除了無關功能和服務,是專門設計來在容器中使用的簡化版操作系統(tǒng),留給攻擊者利用來入侵的機會最少。
7. 容器風險優(yōu)先級劃分
有效安全的關鍵在于劃分關鍵容器風險優(yōu)先級。來自漏洞掃描、秘密管理、編配設置、服務配置、用戶權(quán)限和注冊表元數(shù)據(jù)的各項數(shù)據(jù),可以提供與容器環(huán)境威脅相關的大量信息和上下文。應使用這些數(shù)據(jù)標定企業(yè)環(huán)境中的最大威脅暴露面,讓開發(fā)人員可以在創(chuàng)建容器應用時有所注意。
8. 容器分組
不同威脅狀況的容器都放到同一個主機操作系統(tǒng)內(nèi)核上運行,就是在提升所有應用面臨的風險。NIST建議,將按相同目的、同級別敏感度和相似威脅狀況來分組。以這種方式分隔容器能實現(xiàn)深度防御,防止成功入侵了一組容器攻擊者擴大他的戰(zhàn)果。
【本文是51CTO專欄作者“”李少鵬“”的原創(chuàng)文章,轉(zhuǎn)載請通過安全牛(微信公眾號id:gooann-sectv)獲取授權(quán)】