Docker——被稱為容器的操作系統(tǒng)級(jí)虛擬化實(shí)例平臺(tái),已成為超級(jí)流行的基礎(chǔ)設(shè)施技術(shù)。靈活的容器化,完全改變了我們大規(guī)模部署和維護(hù)應(yīng)用的方式,其中大企業(yè)市場是關(guān)鍵驅(qū)動(dòng)因素。
4月底,Docker首席執(zhí)行官本·格魯布在DockerCon大會(huì)上發(fā)言,分析用戶體驗(yàn)和經(jīng)驗(yàn)教訓(xùn),慶祝該平臺(tái)巨大的成功。如今,所有容器開發(fā)中有1/3都在生產(chǎn)環(huán)境中完成,大多以成百上千臺(tái)主機(jī)上線的形式呈現(xiàn)。
事實(shí)上,涉及容器化,大公司往往身先士卒;云監(jiān)視公司Datadog發(fā)現(xiàn),過去1年里Docker采用率上升了40%。
今天不斷變化的技術(shù)格局里,除了積極面與成長勢頭,我們不能忘記的一個(gè)核心重點(diǎn)是:信息安全。想要保護(hù)你的容器部署,以下5個(gè)潛在威脅和策略可以參考。
容器的顧慮
1. 惡意及脆弱鏡像
Docker Hub 注冊表托管著超過10萬個(gè)公共容器資源庫,免費(fèi)的。比如說,搜索WordPress,會(huì)得到官方(也是必須下載的)資源庫,但還有許多修改版。
這是因?yàn)椋魏稳硕伎梢栽?Docker Hub 上發(fā)布新資源,所以,在部署前一定要確保熟悉項(xiàng)目維護(hù)者。從虛假源執(zhí)行未經(jīng)測試的版本,可能會(huì)導(dǎo)致主機(jī)不穩(wěn)定,非故意引入脆弱組件,甚或惡意代碼執(zhí)行。
就替代方案來說,目前嶄露頭角的是官方Docker商店和“認(rèn)證”項(xiàng)目,可以提供一系列萬無一失的部署就緒包。Hub上的付費(fèi)計(jì)劃,主打“安全掃描”工具,可檢查鏡像中的已知漏洞;可信第三方也能提供內(nèi)置資源庫掃描的自有容器注冊表。
2. IAM突破
身份和訪問管理與現(xiàn)代云技術(shù)緊密相關(guān)。Gartner專業(yè)詞典解釋稱:
IAM是讓正確的人,在正確的時(shí)間,以正確的理由,訪問正確資源的安全守則。它解決的是日趨異構(gòu)的技術(shù)環(huán)境中,確保合理訪問資源的任務(wù)關(guān)鍵需求。
云提供商,比如AWS,旨在默認(rèn)提供強(qiáng)化的IAM角色架構(gòu)。這些可與彈性計(jì)算云(EC2)同時(shí)使用,或應(yīng)用到另一提供商實(shí)現(xiàn)上,以確保用戶根據(jù)最小特權(quán)原則分配到恰當(dāng)?shù)脑L問權(quán)限。
部署私有容器或內(nèi)部開發(fā)的容器時(shí),另外的IAM考慮,源自確保自身注冊表受到充分保護(hù)。雙因子身份驗(yàn)證和單點(diǎn)登錄,可支持你的安全環(huán)境并幫助攔截惡意人士。
3. 過量資源使用
一般情況下,Docker容器沒有資源限制。因此,不受限制地積極部署容器,可導(dǎo)致主機(jī)性能嚴(yán)重下降。要對內(nèi)存、帶寬和磁盤使用(塊I/O)設(shè)限,以便緩解性能問題——這有可能是惡意代碼(比如DoS代碼執(zhí)行)或主機(jī)錯(cuò)誤配置引起的。
4. 容器突破
侵入某個(gè)容器的黑客不應(yīng)該能橫向移動(dòng)到其他容器或Docker主機(jī)。然而,Docker發(fā)展迅速,提權(quán)漏洞亦可能出現(xiàn)。所以,要謹(jǐn)慎打造基礎(chǔ)設(shè)施,時(shí)刻謹(jǐn)記分層深度防御方法。
盡管只影響用root權(quán)限運(yùn)行容器(不推薦)的用戶,但請考慮Docker引擎0.11容器突破的例子。概念驗(yàn)證代碼在2014年6月18日公布,并很快由Docker團(tuán)隊(duì)公開透明地解決了。
順便提及,Docker支持安全漏洞的負(fù)責(zé)披露。所以,如果你掌握了影響Docker產(chǎn)品或服務(wù)的漏洞信息,請聯(lián)系[email protected]。
5. 編配安全
雖然此文圍繞Docker容器安全展開,編配(Orchestration)平臺(tái)及其組件的安全防護(hù)措施也必須要做好的。編配涉及任務(wù)管理與自動(dòng)化,比如容器集群與調(diào)度,公司企業(yè)往往訴諸Kubernetes和Mesos之類的工具來有效管理。