亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網管 > 服務器 > 正文

對于Docker使用的一些安全配置建議

2020-05-27 12:57:34
字體:
來源:轉載
供稿:網友

   介紹

  相信很多開發者都默認Docker這樣的容器是一種沙盒(sandbox)應用,也就是說他們可以用root權限在Docker中運行隨便什么應用,而Docker有安全機制能保護宿主系統。比如,有些人覺得Docker容器里面的進程跟虛擬機里面的進程一樣安全;還有的人隨便找個源就下載沒有驗證過的Docker鏡像,看都不看內容就在宿主機器上嘗試、學習和研究;還有一些提供PaaS服務的公司竟然允許用戶向多租戶系統中提交自己定制的Docker鏡像。請注意,上述行為均是不安全的。

  本文將介紹Docker的隔離性和安全性,以及為什么它在隔離和安全性上不如傳統的虛擬機。

  何謂安全性?

  單單就Docker來說,安全性可以概括為兩點:

  不會對主機造成影響

  不會對其他容器造成影響

  所以安全性問題90%以上可以歸結為隔離性問題。而Docker的安全問題本質上就是容器技術的安全性問題,這包括共用內核問題以及Namespace還不夠完善的限制:

  /proc、/sys等未完全隔離

  Top, free, iostat等命令展示的信息未隔離

  Root用戶未隔離

  /dev設備未隔離

  內核模塊未隔離

  SELinux、time、syslog等所有現有Namespace之外的信息都未隔離

  當然,鏡像本身不安全也會導致安全性問題。

  真的不如虛擬機安全?

  其實傳統虛擬機系統也絕非100%安全,只需攻破Hypervisor便足以令整個虛擬機毀于一旦,問題是有誰能隨隨便便就攻破嗎?如上所述,Docker的隔離性主要運用Namespace 技術。傳統上Linux中的PID是唯一且獨立的,在正常情況下,用戶不會看見重復的PID。然而在Docker采用了Namespace,從而令相同的PID可于不同的Namespace中獨立存在。舉個例子,A Container 之中PID=1是A程序,而B Container之中的PID=1同樣可以是A程序。雖然Docker可透過Namespace的方式分隔出看似是獨立的空間,然而Linux內核(Kernel)卻不能Namespace,所以即使有多個Container,所有的system call其實都是通過主機的內核處理,這便為Docker留下了不可否認的安全問題。

  傳統的虛擬機同樣地很多操作都需要通過內核處理,但這只是虛擬機的內核,并非宿主主機內核。因此萬一出現問題時,最多只影響到虛擬系統本身。當然你可以說黑客可以先Hack虛擬機的內核,然后再找尋Hypervisor的漏洞同時不能被發現,之后再攻破SELinux,然后向主機內核發動攻擊。文字表達起來都嫌繁復,更何況實際執行?所以Docker是很好用,但在遷移業務系統至其上時,請務必注意安全性!

  如何解決?

  在接納了“容器并不是全封閉”這種思想以后,開源社區尤其是紅帽公司,連同Docker一起改進Docker的安全性,改進項主要包括保護宿主不受容器內部運行進程的入侵、防止容器之間相互破壞。開源社區在解決Docker安全性問題上的努力包括:

  Audit namespace

  作用:隔離審計功能

  未合入原因:意義不大,而且會增加audit的復雜度,難以維護。

  Syslognamespace

  作用:隔離系統日志

  未合入原因:很難完美的區分哪些log應該屬于某個container。

  Device namespace

  作用:隔離設備(支持設備同時在多個容器中使用)

  未合入原因:幾乎要修改所有驅動,改動太大。

  Time namespace

  作用:使每個容器有自己的系統時間

  未合入原因:一些設計細節上未達成一致,而且感覺應用場景不多。

  Task count cgroup

  作用:限制cgroup中的進程數,可以解決fork bomb的問題

  未合入原因:不太必要,增加了復雜性,kmemlimit可以實現類似的效果。(最近可能會被合入)

  隔離/proc/meminfo的信息顯示

  作用:在容器中看到屬于自己的meminfo信息

  未合入原因:cgroupfs已經導出了所有信息,/proc展現的工作可以由用戶態實現,比如fuse。

  不過,從08年cgroup/ns基本成型后,至今還沒有新的namespace加入內核,cgroup在子系統上做了簡單的補充,多數工作都是對原有subsystem的完善。內核社區對容器技術要求的隔離性,本的原則是夠用就好,不能把內核搞的太復雜。

  一些企業也做了很多工作,比如一些項目團隊采用了層疊式的安全機制,這些可選的安全機制具體如下:

  1、文件系統級防護

  文件系統只讀:有些Linux系統的內核文件系統必須要mount到容器環境里,否則容器里的進程就會罷工。這給惡意進程非常大的便利,但是大部分運行在容器里的App其實并不需要向文件系統寫入數據?;谶@種情況,開發者可以在mount時使用只讀模式。比如下面幾個: /sys 、/proc/sys 、/proc/sysrq-trigger 、 /proc/irq、/proc/bus

  寫入時復制(Copy-On-Write):Docker采用的就是這樣的文件系統。所有運行的容器可以先共享一個基本文件系統鏡像,一旦需要向文件系統寫數據,就引導它寫到與該容器相關的另一個特定文件系統中。這樣的機制避免了一個容器看到另一個容器的數據,而且容器也無法通過修改文件系統的內容來影響其他容器。

  2、Capability機制

  Linux對Capability機制闡述的還是比較清楚的,即為了進行權限檢查,傳統的UNIX對進程實現了兩種不同的歸類,高權限進程(用戶ID為0,超級用戶或者root),以及低權限進程(UID不為0的)。高權限進程完全避免了各種權限檢查,而低權限進程則要接受所有權限檢查,會被檢查如UID、GID和組清單是否有效。從2.2內核開始,Linux把原來和超級用戶相關的高級權限劃分成為不同的單元,稱為Capability,這樣就可以獨立對特定的Capability進行使能或禁止。通常來講,不合理的禁止Capability,會導致應用崩潰,因此對于Docker這樣的容器,既要安全,又要保證其可用性。開發者需要從功能性、可用性以及安全性多方面綜合權衡Capability的設置。目前Docker安裝時默認開啟的Capability列表一直是開發社區爭議的焦點,作為普通開發者,可以通過命令行來改變其默認設置。

  3、NameSpace機制

  Docker提供的一些命名空間也從某種程度上提供了安全保護,比如PID命名空間,它會將全部未運行在開發者當前容器里的進程隱藏。如果惡意程序看都看不見這些進程,攻擊起來應該也會麻煩一些。另外,如果開發者終止pid是1的進程命名空間,容器里面所有的進程就會被全部自動終止,這意味著管理員可以非常容易地關掉容器。此外還有網絡命名空間,方便管理員通過路由規則和iptable來構建容器的網絡環境,這樣容器內部的進程就只能使用管理員許可的特定網絡。如只能訪問公網的、只能訪問本地的和兩個容器之間用于過濾內容的容器。

  4、Cgroups機制

  主要是針對拒絕服務攻擊。惡意進程會通過占有系統全部資源來進行系統攻擊。Cgroups機制可以避免這種情況的發生,如CPU的cgroups可以在一個Docker容器試圖破壞CPU的時候登錄并制止惡意進程。管理員需要設計更多的cgroups,用于控制那些打開過多文件或者過多子進程等資源的進程。

  5、SELinux

  SELinux是一個標簽系統,進程有標簽,每個文件、目錄、系統對象都有標簽。SELinux通過撰寫標簽進程和標簽對象之間訪問規則來進行安全保護。它實現的是一種叫做MAC(Mandatory Access Control)的系統,即對象的所有者不能控制別人訪問對象。

  安全建議

  最簡單的就是不要把Docker容器當成可以完全替代虛擬機的東西。跑在Docker容器中的應用在很長一段時間內都將會是選擇性的,通常只跑測試系統或可信業務。

  門檻再高一點,我們對系統做減法,通過各種限制來達到安全性。這也是最主流的、有效的安全加固方法,比如上一章節介紹的幾種安全機制。同時一定要保證內核的安全和穩定。外部工具的監控、容錯等系統也必不可少。

  總之通過適配、加固的Docker容器方案,在安全性上完全可以達到商用標準。就是可能對實施人員的技術要求和門檻較高。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲综合在线中文字幕| 亚洲视频电影图片偷拍一区| 人人澡人人澡人人看欧美| 久久中文字幕国产| 久久久久久久香蕉网| 日韩在线免费高清视频| 一区二区中文字幕| 精品亚洲永久免费精品| 亚洲女同性videos| 亚洲精品中文字幕有码专区| 精品亚洲男同gayvideo网站| 亚洲精品suv精品一区二区| 亚洲日韩第一页| 一本大道香蕉久在线播放29| 欧美成人中文字幕在线| 国产精品一区二区三区久久| 九九九久久久久久| 成人午夜两性视频| 欧美精品videos性欧美| 国产精品高潮在线| 亚洲美女av电影| 欧美一区三区三区高中清蜜桃| 亚洲色图日韩av| 欧美高清不卡在线| 国产亚洲精品成人av久久ww| 亚洲欧美变态国产另类| 久久久久久久网站| 日韩欧美国产中文字幕| 欧美日韩亚洲国产一区| 亚洲国模精品一区| 不卡av在线网站| 97久久精品人人澡人人爽缅北| 欧美国产日韩一区二区| 日韩av免费看网站| 色久欧美在线视频观看| 91中文字幕在线观看| 亚洲一区第一页| 亚洲一区第一页| 亚洲影视九九影院在线观看| 成人看片人aa| 国产精品专区第二| 97福利一区二区| 人人澡人人澡人人看欧美| 国产精品一区二区久久精品| 国产日韩av高清| 91精品久久久久久久久久另类| 91国产美女视频| 中文欧美日本在线资源| 久久久国产精彩视频美女艺术照福利| 九九精品在线观看| 精品一区二区三区四区在线| 亚洲黄色成人网| 国产精品草莓在线免费观看| 亚洲第一男人天堂| 亚洲a∨日韩av高清在线观看| 成人黄色短视频在线观看| 在线电影av不卡网址| 国产在线拍揄自揄视频不卡99| 日韩专区中文字幕| 欧美一级淫片aaaaaaa视频| 精品久久久在线观看| 一区二区三欧美| 国产97人人超碰caoprom| 亚洲网站在线观看| 亚洲国产欧美久久| 久久久精品久久久| 日韩视频一区在线| 日韩免费高清在线观看| 亚洲直播在线一区| 激情懂色av一区av二区av| 中日韩美女免费视频网址在线观看| 国产精品成人va在线观看| 午夜精品久久久久久久99黑人| 欧美黑人xxxx| 国产福利精品av综合导导航| 久久天天躁狠狠躁夜夜躁| 国产最新精品视频| 日韩免费观看在线观看| 九色91av视频| 久久久久久成人| 欧美日本高清一区| 久久精品国产清自在天天线| 亚洲精品色婷婷福利天堂| 成人精品久久一区二区三区| 欧美日韩中文字幕日韩欧美| 久久中文字幕在线| 亚洲人成网站999久久久综合| 成人欧美一区二区三区黑人孕妇| 国产在线精品播放| 亚洲精品电影在线观看| 欧美性受xxxx白人性爽| 国产精品91久久| zzijzzij亚洲日本成熟少妇| 欧美精品久久久久a| 欧美美最猛性xxxxxx| 91影视免费在线观看| 亚洲欧美精品一区| 欧美日韩美女在线观看| 疯狂做受xxxx欧美肥白少妇| 亚洲免费电影一区| 欧美日韩国产中文字幕| 日韩av电影免费观看高清| 精品自在线视频| 日韩禁在线播放| 麻豆成人在线看| 成人a在线视频| 国产亚洲精品美女久久久| 亚洲影视九九影院在线观看| 欧美性高潮床叫视频| 国产精品亚洲一区二区三区| 日本三级久久久| 欧美肥臀大乳一区二区免费视频| 精品福利在线看| 午夜精品一区二区三区在线| 欧美最猛性xxxxx亚洲精品| 97精品在线视频| 久热99视频在线观看| 久久色免费在线视频| 亚洲精品国产精品国产自| 国产美女精品视频免费观看| 色综合视频网站| 97色伦亚洲国产| 国产精品日韩欧美大师| 91在线精品视频| 日韩高清电影好看的电视剧电影| 成人做爽爽免费视频| 中文字幕在线看视频国产欧美| 欧美电影免费观看高清| 中文字幕日韩欧美在线视频| 97精品国产97久久久久久免费| 8x海外华人永久免费日韩内陆视频| 国产欧美日韩精品在线观看| 92裸体在线视频网站| 欧美日韩一区二区三区| 91精品国产综合久久香蕉922| 丝袜美腿精品国产二区| 国产丝袜一区视频在线观看| 精品国产乱码久久久久久天美| 亚洲精品自拍视频| 色综合五月天导航| 欧美激情videoshd| 亚洲人精选亚洲人成在线| 久久综合九色九九| 中文字幕欧美日韩va免费视频| 日韩成人中文字幕| 中文字幕在线观看日韩| 精品久久久久久国产91| 亚洲人成啪啪网站| 欧美一区二区三区图| 92国产精品视频| 亚洲福利在线看| 亚洲男人天堂2019| 欧美一级成年大片在线观看| 在线观看久久久久久| 国产精品久久中文| 国产主播喷水一区二区| 精品视频偷偷看在线观看| 中文字幕亚洲无线码在线一区| 日本aⅴ大伊香蕉精品视频| 亚洲高清久久久久久| 亚洲国产美女精品久久久久∴| 日本道色综合久久影院| 久久综合电影一区| 国产精品偷伦视频免费观看国产|