本文講的是 在Docker上部署容器時應考慮的安全風險,Docker——被稱為容器的作業系統級虛拟化執行個體平台,已成為超級流行的基礎設施技術。靈活的容器化,完全改變了我們大規模部署和維護應用的方式,其中大企業市場是關鍵驅動因素。

4月底,Docker首席執行官本·格魯布在DockerCon大會上發言,分析使用者體驗和經驗教訓,慶祝該平台巨大的成功。如今,所有容器開發中有1/3都在生産環境中完成,大多以成百上千台主機上線的形式呈現。
事實上,涉及容器化,大公司往往身先士卒;雲監視公司Datadog發現,過去1年裡Docker采用率上升了40%。
今天不斷變化的技術格局裡,除了積極面與成長勢頭,我們不能忘記的一個核心重點是:資訊安全。想要保護你的容器部署,以下5個潛在威脅和政策可以參考。
容器的顧慮
惡意及脆弱鏡像
Docker Hub 系統資料庫托管着超過10萬個公共容器資源庫,免費的。比如說,搜尋WordPress,會得到官方(也是必須下載下傳的)資源庫,但還有許多修改版。
這是因為,任何人都可以在 Docker Hub 上釋出新資源,是以,在部署前一定要確定熟悉項目維護者。從虛假源執行未經測試的版本,可能會導緻主機不穩定,非故意引入脆弱元件,甚或惡意代碼執行。
就替代方案來說,目前嶄露頭角的是官方Docker商店和“認證”項目,可以提供一系列萬無一失的部署就緒包。Hub上的付費計劃,主打“安全掃描”工具,可檢查鏡像中的已知漏洞;可信第三方也能提供内置資源庫掃描的自有容器系統資料庫。
IAM突破
身份和通路管理與現代雲技術緊密相關。Gartner專業詞典解釋稱:
IAM是讓正确的人,在正确的時間,以正确的理由,通路正确資源的安全守則。它解決的是日趨異構的技術環境中,確定合理通路資源的任務關鍵需求。
雲提供商,比如AWS,旨在預設提供強化的IAM角色架構。這些可與彈性計算雲(EC2)同時使用,或應用到另一提供商實作上,以確定使用者根據最小特權原則配置設定到恰當的通路權限。
部署私有容器或内部開發的容器時,另外的IAM考慮,源自確定自身系統資料庫受到充分保護。雙因子身份驗證和單點登入,可支援你的安全環境并幫助攔截惡意人士。
過量資源使用
一般情況下,Docker容器沒有資源限制。是以,不受限制地積極部署容器,可導緻主機性能嚴重下降。要對記憶體、帶寬和磁盤使用(塊I/O)設限,以便緩解性能問題——這有可能是惡意代碼(比如DoS代碼執行)或主機錯誤配置引起的。
容器突破
侵入某個容器的黑客不應該能橫向移動到其他容器或Docker主機。然而,Docker發展迅速,提權漏洞亦可能出現。是以,要謹慎打造基礎設施,時刻謹記分層深度防禦方法。
盡管隻影響用root權限運作容器(不推薦)的使用者,但請考慮Docker引擎0.11容器突破的例子。概念驗證代碼在2014年6月18日公布,并很快由Docker團隊公開透明地解決了。
順便提及,Docker支援安全漏洞的負責披露。是以,如果你掌握了影響Docker産品或服務的漏洞資訊,請聯系[email protected]。
編配安全
雖然此文圍繞Docker容器安全展開,編配(Orchestration)平台及其元件的安全防護措施也必須要做好的。編配涉及任務管理與自動化,比如容器叢集與排程,公司企業往往訴諸Kubernetes和Mesos之類的工具來有效管理。
原文釋出時間為:七月 18, 2017
本文作者:nana
本文來自雲栖社群合作夥伴安全牛,了解相關資訊可以關注安全牛。