在Docker上部署容器時應考慮的安全風險

2021-09-23 02:16:11 字數 1359 閱讀 9860

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

4月底,docker首席執行官本·格魯布在dockercon大會上發言,分析使用者體驗和經驗教訓,慶祝該平台巨大的成功。如今,所有容器開發中有1/3都在生產環境中完成,大多以成百上千臺主機上線的形式呈現。

事實上,涉及容器化,大公司往往身先士卒;雲監視公司datadog發現,過去1年裡docker採用率上公升了40%。

容器的顧慮

惡意及脆弱映象

這是因為,任何人都可以在 docker hub 上發布新資源,所以,在部署前一定要確保熟悉專案維護者。從虛假源執行未經測試的版本,可能會導致主機不穩定,非故意引入脆弱元件,甚或惡意**執行。

就替代方案來說,目前嶄露頭角的是官方docker商店和「認證」專案,可以提供一系列萬無一失的部署就緒包。hub上的付費計畫,主打「安全掃瞄」工具,可檢查映象中的已知漏洞;可信第三方也能提供內建資源庫掃瞄的自有容器登錄檔。

iam突破

iam是讓正確的人,在正確的時間,以正確的理由,訪問正確資源的安全守則。它解決的是日趨異構的技術環境中,確保合理訪問資源的任務關鍵需求。

雲提供商,比如aws,旨在預設提供強化的iam角色架構。這些可與彈性計算雲(ec2)同時使用,或應用到另一提供商實現上,以確保使用者根據最小特權原則分配到恰當的訪問許可權。

部署私有容器或內部開發的容器時,另外的iam考慮,源自確保自身登錄檔受到充分保護。雙因子身份驗證和單點登入,可支援你的安全環境並幫助攔截惡意人士。

過量資源使用

一般情況下,docker容器沒有資源限制。因此,不受限制地積極部署容器,可導致主機效能嚴重下降。要對記憶體、頻寬和磁碟使用(塊i/o)設限,以便緩解效能問題——這有可能是惡意**(比如dos**執行)或主機錯誤配置引起的。

容器突破

侵入某個容器的黑客不應該能橫向移動到其他容器或docker主機。然而,docker發展迅速,提權漏洞亦可能出現。所以,要謹慎打造基礎設施,時刻謹記分層深度防禦方法。

儘管只影響用root許可權執行容器(不推薦)的使用者,但請考慮docker引擎0.11容器突破的例子。概念驗證**在2023年6月18日公布,並很快由docker團隊公開透明地解決了。

編配安全

雖然此文圍繞docker容器安全展開,編配(orchestration)平台及其元件的安全防護措施也必須要做好的。編配涉及任務管理與自動化,比如容器集群與排程,公司企業往往訴諸kubernetes和mesos之類的工具來有效管理。

在docker上部署springboot專案

開發 win10 idea2020.1 j a11 部署 centos7 docker docker pull openjdk 版本號 docker run name myopenjdk idt openjdk 版本號 選中test,點選藍色閃電,選中package,點選綠色三角。不用使用 getf...

在Docker容器中部署Django的時區問題

目錄 現在容器化部署已經非常成熟了,我們很多服務都會使用容器部署,更新恢復都非常方便,但是有乙個問題比較麻煩,就是時區處理,通常情況下,都採用注入 tz 環境變數來解決,但是實際這種處理方式在 django 中卻是不行的。在www.cppcns.comdjango的配置檔案 settings.py ...

如何使用Docker在Mac上部署Swagger

如何使用docker在mac上部署swagger docker 是乙個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到乙個可移植的容器中,然後發布到任何流行的 linux 機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何介面。docker常用命令 swagger是乙個規...