實踐分析Docker和企業安全
大小:0.6 MB 人氣: 2017-10-12 需要積分:1
開發團隊很容易為這樣的速度和便捷帶來的可能性傾倒(至今已經有超過4億Docker容器的下載,這是令人興奮的)。但是確實有對容器化和安全的擔憂。你當然不能因此抑制你的熱情就把快速迭代和創新抹殺了(這樣就徹底地否定了所有美好的可能),但是如果你想你的組織安全地擁抱Docker,你確實需要避免牛仔式的編程文化,需要預先考慮安全。
明確地說,Docker模型確實是考慮了安全的,但是負責地使用是關鍵。當你開始使用Docker時,你很快發現網上Docker庫中有許多可以下載的模板(鏡像)可以作為開發你自己的微服務的捷徑,因此你可以指數級地提高開發速度。問題是你不知道哪些鏡像是安全的(他們可能存在隱患),在哪里可能存在最近的安全告警。鏡像的隱患對個人應用開發者可能不是個大問題,但是對企業來說,安全和數據符合策略是重要的并且必須得到保證。問題來了,在應用Docker時應該注意什么呢?
Docker最佳實踐
為了在你的組織中確保最佳實踐,可以參考互聯網安全中心(CIS)提供的超過100頁的Docker配置的 安全標準 資源。此外,下列這些方面也需要注意。
知道你在使用什么鏡像
所有容器都繼承自一個父鏡像,典型情況就是一個基礎操作系統和一些依賴(shell、缺省用戶、軟件庫、依賴的軟件包等)。Docker的安全須知中明白地說:“運行Docker容器的一個首要風險是容器的缺省的能力集合和配置可能沒有提供足夠的資源隔離,或者是由于容器本身的原因,或者是和內核的缺陷配合的原因?!彼孕⌒牡卦O置容器的能力集和驗證任何鏡像是否滿足安全需求是每個用戶自己的責任,這對每一個容器都是適用的。
部署代理
代理為你的容器的安全參數進行設置提供幫助,因為他們自動地讓你可以看到父鏡像中的內容。因為終端用戶自己需要確保每一個容器的安全性,你需要一個方法來自己檢查依賴(雖然鏡像在發布和更新時在Docker Hub上不斷地被掃描,但是你不能依靠郵件列表和問題跟蹤報告來管理隱患)。當你往你的方案中加東西時,你應該理解底層的細節并且自己做掃描和驗證。代理在主機和Docker容器的層面用很小的開銷來做這件事。
考慮你運行的方式
以只讀模式來運行Docker容器是最安全的運行方式之一,這樣他們就不能夠被其他人修改或非法訪問。如果在只讀模式下運行,你不需要每個容器都安排一個代理,你可以重用一個驗證過的父鏡像。如果你在即可讀又可寫的模式下運行,你最好在每個容器中放一個代理。你也應該設置一條不允許從公共場所獲取鏡像的規則,并且永遠不在特權優先級來運行容器。管理容器與外部的交互
從安全角度來說,一個容器接受任意網卡任意端口上來的連接請求是一條紅色警報。好的方法是只暴露一個安裝了例如入侵檢測、入侵防御、防火墻、負荷分擔等服務的特定的外部接口來過濾所有到來的流量。容器的端口也應該綁定在可靠的特定的主機接口上。需要過硬的Linux系統管理技能
Docker可以提供增強的安全能力,但是缺省他們是關閉的。所以有Linux專家來確立你的Docker工作流程和鞏固你的Linux主機來避免錯誤配置顯得非常關鍵(許多常見的Docker錯誤都是由于用戶的錯誤配置導致的)。
總體而言,企業應用Docker的最佳策略是把互聯網安全中心的安全標準和你現有的安全策略融合起來。這將會確保你的所有Docker容器保持安全的狀態,給在上面開發的團隊提供一個更安全的場所。
?
非常好我支持^.^
(0) 0%
不好我反對
(0) 0%