您好,歡迎來(lái)電子發(fā)燒友網(wǎng)! ,新用戶?[免費(fèi)注冊(cè)]

您的位置:電子發(fā)燒友網(wǎng)>源碼下載>數(shù)值算法/人工智能>

實(shí)踐分析Docker和企業(yè)安全

大?。?/span>0.6 MB 人氣: 2017-10-12 需要積分:1
 虛擬化容器的高效的硬件利用率使開(kāi)發(fā)團(tuán)隊(duì)夢(mèng)想變成現(xiàn)實(shí)?;蛟S容器化永遠(yuǎn)不會(huì)替代虛擬機(jī)在企業(yè)應(yīng)用開(kāi)發(fā)和部署中的地位,但是越來(lái)越流行的像Docker這樣的系統(tǒng)滿足人們開(kāi)發(fā)、測(cè)試和部署現(xiàn)代大型的軟件的期待列表中的速度和敏捷這兩個(gè)需求。沒(méi)有重量級(jí)的管理程序、極度便攜、分隔資源、驚人的輕量級(jí)容器、開(kāi)放標(biāo)準(zhǔn)、完美的微服務(wù)架構(gòu)、包含許多開(kāi)箱即用的干凈的軟件包的單一Linux實(shí)例,所有這些特質(zhì)加起來(lái),叫我們?nèi)绾尾粣?ài)她。
  開(kāi)發(fā)團(tuán)隊(duì)很容易為這樣的速度和便捷帶來(lái)的可能性傾倒(至今已經(jīng)有超過(guò)4億Docker容器的下載,這是令人興奮的)。但是確實(shí)有對(duì)容器化和安全的擔(dān)憂。你當(dāng)然不能因此抑制你的熱情就把快速迭代和創(chuàng)新抹殺了(這樣就徹底地否定了所有美好的可能),但是如果你想你的組織安全地?fù)肀ocker,你確實(shí)需要避免牛仔式的編程文化,需要預(yù)先考慮安全。
  明確地說(shuō),Docker模型確實(shí)是考慮了安全的,但是負(fù)責(zé)地使用是關(guān)鍵。當(dāng)你開(kāi)始使用Docker時(shí),你很快發(fā)現(xiàn)網(wǎng)上Docker庫(kù)中有許多可以下載的模板(鏡像)可以作為開(kāi)發(fā)你自己的微服務(wù)的捷徑,因此你可以指數(shù)級(jí)地提高開(kāi)發(fā)速度。問(wèn)題是你不知道哪些鏡像是安全的(他們可能存在隱患),在哪里可能存在最近的安全告警。鏡像的隱患對(duì)個(gè)人應(yīng)用開(kāi)發(fā)者可能不是個(gè)大問(wèn)題,但是對(duì)企業(yè)來(lái)說(shuō),安全和數(shù)據(jù)符合策略是重要的并且必須得到保證。問(wèn)題來(lái)了,在應(yīng)用Docker時(shí)應(yīng)該注意什么呢?
  Docker最佳實(shí)踐
  為了在你的組織中確保最佳實(shí)踐,可以參考互聯(lián)網(wǎng)安全中心(CIS)提供的超過(guò)100頁(yè)的Docker配置的 安全標(biāo)準(zhǔn) 資源。此外,下列這些方面也需要注意。
  知道你在使用什么鏡像
  所有容器都繼承自一個(gè)父鏡像,典型情況就是一個(gè)基礎(chǔ)操作系統(tǒng)和一些依賴(shell、缺省用戶、軟件庫(kù)、依賴的軟件包等)。Docker的安全須知中明白地說(shuō):“運(yùn)行Docker容器的一個(gè)首要風(fēng)險(xiǎn)是容器的缺省的能力集合和配置可能沒(méi)有提供足夠的資源隔離,或者是由于容器本身的原因,或者是和內(nèi)核的缺陷配合的原因?!彼孕⌒牡卦O(shè)置容器的能力集和驗(yàn)證任何鏡像是否滿足安全需求是每個(gè)用戶自己的責(zé)任,這對(duì)每一個(gè)容器都是適用的。
  部署代理
  代理為你的容器的安全參數(shù)進(jìn)行設(shè)置提供幫助,因?yàn)樗麄冏詣?dòng)地讓你可以看到父鏡像中的內(nèi)容。因?yàn)榻K端用戶自己需要確保每一個(gè)容器的安全性,你需要一個(gè)方法來(lái)自己檢查依賴(雖然鏡像在發(fā)布和更新時(shí)在Docker Hub上不斷地被掃描,但是你不能依靠郵件列表和問(wèn)題跟蹤報(bào)告來(lái)管理隱患)。當(dāng)你往你的方案中加?xùn)|西時(shí),你應(yīng)該理解底層的細(xì)節(jié)并且自己做掃描和驗(yàn)證。代理在主機(jī)和Docker容器的層面用很小的開(kāi)銷來(lái)做這件事。
  考慮你運(yùn)行的方式
  以只讀模式來(lái)運(yùn)行Docker容器是最安全的運(yùn)行方式之一,這樣他們就不能夠被其他人修改或非法訪問(wèn)。如果在只讀模式下運(yùn)行,你不需要每個(gè)容器都安排一個(gè)代理,你可以重用一個(gè)驗(yàn)證過(guò)的父鏡像。如果你在即可讀又可寫的模式下運(yùn)行,你最好在每個(gè)容器中放一個(gè)代理。你也應(yīng)該設(shè)置一條不允許從公共場(chǎng)所獲取鏡像的規(guī)則,并且永遠(yuǎn)不在特權(quán)優(yōu)先級(jí)來(lái)運(yùn)行容器。管理容器與外部的交互
  從安全角度來(lái)說(shuō),一個(gè)容器接受任意網(wǎng)卡任意端口上來(lái)的連接請(qǐng)求是一條紅色警報(bào)。好的方法是只暴露一個(gè)安裝了例如入侵檢測(cè)、入侵防御、防火墻、負(fù)荷分擔(dān)等服務(wù)的特定的外部接口來(lái)過(guò)濾所有到來(lái)的流量。容器的端口也應(yīng)該綁定在可靠的特定的主機(jī)接口上。需要過(guò)硬的Linux系統(tǒng)管理技能
  Docker可以提供增強(qiáng)的安全能力,但是缺省他們是關(guān)閉的。所以有Linux專家來(lái)確立你的Docker工作流程和鞏固你的Linux主機(jī)來(lái)避免錯(cuò)誤配置顯得非常關(guān)鍵(許多常見(jiàn)的Docker錯(cuò)誤都是由于用戶的錯(cuò)誤配置導(dǎo)致的)。
  總體而言,企業(yè)應(yīng)用Docker的最佳策略是把互聯(lián)網(wǎng)安全中心的安全標(biāo)準(zhǔn)和你現(xiàn)有的安全策略融合起來(lái)。這將會(huì)確保你的所有Docker容器保持安全的狀態(tài),給在上面開(kāi)發(fā)的團(tuán)隊(duì)提供一個(gè)更安全的場(chǎng)所。
?

非常好我支持^.^

(0) 0%

不好我反對(duì)

(0) 0%

      發(fā)表評(píng)論

      用戶評(píng)論
      評(píng)價(jià):好評(píng)中評(píng)差評(píng)

      發(fā)表評(píng)論,獲取積分! 請(qǐng)遵守相關(guān)規(guī)定!

      ?