成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Linux容器安全的10個層面

系統 Linux 云安全
容器提供了打包應用程序的一種簡單方法,它實現了從開發到測試到投入生產系統的無縫傳遞。它也有助于確保跨不同環境的連貫性,包括物理服務器、虛擬機、以及公有云或私有云。這些好處使得一些組織為了更方便地部署和管理為他們提升業務價值的應用程序,而快速地采用了容器技術。

[[222233]]

應用這些策略來保護容器解決方案的各個層面和容器生命周期的各個階段的安全。

容器提供了打包應用程序的一種簡單方法,它實現了從開發到測試到投入生產系統的無縫傳遞。它也有助于確保跨不同環境的連貫性,包括物理服務器、虛擬機、以及公有云或私有云。這些好處使得一些組織為了更方便地部署和管理為他們提升業務價值的應用程序,而快速地采用了容器技術。

企業需要高度安全,在容器中運行核心服務的任何人都會問,“容器安全嗎?”以及“我們能信任運行在容器中的應用程序嗎?”

對容器進行安全保護就像是對運行中的進程進行安全保護一樣。在你部署和運行你的容器之前,你需要去考慮整個解決方案各個層面的安全。你也需要去考慮貫穿了應用程序和容器整個生命周期的安全。

請嘗試從這十個關鍵的因素去確保容器解決方案棧不同層面、以及容器生命周期的不同階段的安全。

 

1. 容器宿主機操作系統和多租戶環境

由于容器將應用程序和它的依賴作為一個單元來處理,使得開發者構建和升級應用程序變得更加容易,并且,容器可以啟用多租戶技術將許多應用程序和服務部署到一臺共享主機上。在一臺單獨的主機上以容器方式部署多個應用程序、按需啟動和關閉單個容器都是很容易的。為完全實現這種打包和部署技術的優勢,運營團隊需要運行容器的合適環境。運營者需要一個安全的操作系統,它能夠在邊界上保護容器安全、從容器中保護主機內核,以及保護容器彼此之間的安全。

容器是隔離而資源受限的 Linux 進程,允許你在一個共享的宿主機內核上運行沙盒化的應用程序。保護容器的方法與保護你的 Linux 中運行的任何進程的方法是一樣的。降低權限是非常重要的,也是保護容器安全的最佳實踐。最好使用盡可能小的權限去創建容器。容器應該以一個普通用戶的權限來運行,而不是 root 權限的用戶。在 Linux 中可以使用多個層面的安全加固手段,Linux 命名空間、安全強化 Linux(SELinux)、cgroups 、capabilities(LCTT 譯注:Linux 內核的一個安全特性,它打破了傳統的普通用戶與 root 用戶的概念,在進程級提供更好的安全控制)、以及安全計算模式( seccomp ),這五種 Linux 的安全特性可以用于保護容器的安全。

 

2. 容器內容(使用可信來源)

在談到安全時,首先要考慮你的容器里面有什么?例如 ,有些時候,應用程序和基礎設施是由很多可用組件所構成的。它們中的一些是開源的軟件包,比如,Linux 操作系統、Apache Web 服務器、Red Hat JBoss 企業應用平臺、PostgreSQL,以及 Node.js。這些軟件包的容器化版本已經可以使用了,因此,你沒有必要自己去構建它們。但是,對于你從一些外部來源下載的任何代碼,你需要知道這些軟件包的原始來源,是誰構建的它,以及這些包里面是否包含惡意代碼。

 

3. 容器注冊(安全訪問容器鏡像)

你的團隊的容器構建于下載的公共容器鏡像,因此,訪問和升級這些下載的容器鏡像以及內部構建鏡像,與管理和下載其它類型的二進制文件的方式是相同的,這一點至關重要。許多私有的注冊庫支持容器鏡像的存儲。選擇一個私有的注冊庫,可以幫你將存儲在它的注冊中的容器鏡像實現策略自動化。

 

4. 安全性與構建過程

在一個容器化環境中,軟件構建過程是軟件生命周期的一個階段,它將所需的運行時庫和應用程序代碼集成到一起。管理這個構建過程對于保護軟件棧安全來說是很關鍵的。遵守“一次構建,到處部署”的原則,可以確保構建過程的結果正是生產系統中需要的。保持容器的恒定不變也很重要 — 換句話說就是,不要對正在運行的容器打補丁,而是,重新構建和部署它們。

不論是因為你處于一個高強度監管的行業中,還是只希望簡單地優化你的團隊的成果,設計你的容器鏡像管理以及構建過程,可以使用容器層的優勢來實現控制分離,因此,你應該去這么做:

  • 運營團隊管理基礎鏡像
  • 架構師管理中間件、運行時、數據庫,以及其它解決方案
  • 開發者專注于應用程序層面,并且只寫代碼

最后,標記好你的定制構建容器,這樣可以確保在構建和部署時不會搞混亂。

 

5. 控制好在同一個集群內部署應用

如果是在構建過程中出現的任何問題,或者在鏡像被部署之后發現的任何漏洞,那么,請在基于策略的、自動化工具上添加另外的安全層。

我們來看一下,一個應用程序的構建使用了三個容器鏡像層:內核、中間件,以及應用程序。如果在內核鏡像中發現了問題,那么只能重新構建鏡像。一旦構建完成,鏡像就會被發布到容器平臺注冊庫中。這個平臺可以自動檢測到發生變化的鏡像。對于基于這個鏡像的其它構建將被觸發一個預定義的動作,平臺將自己重新構建應用鏡像,合并該修復的庫。

一旦構建完成,鏡像將被發布到容器平臺的內部注冊庫中。在它的內部注冊庫中,會立即檢測到鏡像發生變化,應用程序在這里將會被觸發一個預定義的動作,自動部署更新鏡像,確保運行在生產系統中的代碼總是使用更新后的最新的鏡像。所有的這些功能協同工作,將安全功能集成到你的持續集成和持續部署(CI/CD)過程和管道中。

 

6. 容器編配:保護容器平臺安全

當然了,應用程序很少會以單一容器分發。甚至,簡單的應用程序一般情況下都會有一個前端、一個后端、以及一個數據庫。而在容器中以微服務模式部署的應用程序,意味著應用程序將部署在多個容器中,有時它們在同一臺宿主機上,有時它們是分布在多個宿主機或者節點上,如下面的圖所示:

在大規模的容器部署時,你應該考慮:

  • 哪個容器應該被部署在哪個宿主機上?
  • 那個宿主機應該有什么樣的性能?
  • 哪個容器需要訪問其它容器?它們之間如何發現彼此?
  • 你如何控制和管理對共享資源的訪問,像網絡和存儲?
  • 如何監視容器健康狀況?
  • 如何去自動擴展性能以滿足應用程序的需要?
  • 如何在滿足安全需求的同時啟用開發者的自助服務?

考慮到開發者和運營者的能力,提供基于角色的訪問控制是容器平臺的關鍵要素。例如,編配管理服務器是中心訪問點,應該接受最高級別的安全檢查。API 是規模化的自動容器平臺管理的關鍵,可以用于為 pod、服務,以及復制控制器驗證和配置數據;在入站請求上執行項目驗證;以及調用其它主要系統組件上的觸發器。

 

7. 網絡隔離

在容器中部署現代微服務應用,經常意味著跨多個節點在多個容器上部署。考慮到網絡防御,你需要一種在一個集群中的應用之間的相互隔離的方法。一個典型的公有云容器服務,像 Google 容器引擎(GKE)、Azure 容器服務,或者 Amazon Web 服務(AWS)容器服務,是單租戶服務。他們讓你在你初始化建立的虛擬機集群上運行你的容器。對于多租戶容器的安全,你需要容器平臺為你啟用一個單一集群,并且分割流量以隔離不同的用戶、團隊、應用、以及在這個集群中的環境。

使用網絡命名空間,容器內的每個集合(即大家熟知的 “pod”)都會得到它自己的 IP 和綁定的端口范圍,以此來從一個節點上隔離每個 pod 網絡。除使用下面所述的方式之外,默認情況下,來自不同命名空間(項目)的 pod 并不能發送或者接收其它 pod 上的包和不同項目的服務。你可以使用這些特性在同一個集群內隔離開發者環境、測試環境,以及生產環境。但是,這樣會導致 IP 地址和端口數量的激增,使得網絡管理更加復雜。另外,容器是被設計為反復使用的,你應該在處理這種復雜性的工具上進行投入。在容器平臺上比較受歡迎的工具是使用 軟件定義網絡 (SDN) 提供一個定義的網絡集群,它允許跨不同集群的容器進行通訊。

 

8. 存儲

容器即可被用于無狀態應用,也可被用于有狀態應用。保護外加的存儲是保護有狀態服務的一個關鍵要素。容器平臺對多種受歡迎的存儲提供了插件,包括網絡文件系統(NFS)、AWS 彈性塊存儲(EBS)、GCE 持久磁盤、GlusterFS、iSCSI、 RADOS(Ceph)、Cinder 等等。

一個持久卷(PV)可以通過資源提供者支持的任何方式裝載到一個主機上。提供者有不同的性能,而每個 PV 的訪問模式被設置為特定的卷支持的特定模式。例如,NFS 能夠支持多路客戶端同時讀/寫,但是,一個特定的 NFS 的 PV 可以在服務器上被發布為只讀模式。每個 PV 有它自己的一組反應特定 PV 性能的訪問模式的描述,比如,ReadWriteOnce、ReadOnlyMany、以及 ReadWriteMany。

 

9. API 管理、終端安全、以及單點登錄(SSO)

保護你的應用安全,包括管理應用、以及 API 的認證和授權。

Web SSO 能力是現代應用程序的一個關鍵部分。在構建它們的應用時,容器平臺帶來了開發者可以使用的多種容器化服務。

API 是微服務構成的應用程序的關鍵所在。這些應用程序有多個獨立的 API 服務,這導致了終端服務數量的激增,它就需要額外的管理工具。推薦使用 API 管理工具。所有的 API 平臺應該提供多種 API 認證和安全所需要的標準選項,這些選項既可以單獨使用,也可以組合使用,以用于發布證書或者控制訪問。

這些選項包括標準的 API key、應用 ID 和密鑰對,以及 OAuth 2.0。

 

10. 在一個聯合集群中的角色和訪問管理

在 2016 年 7 月份,Kubernetes 1.3 引入了 Kubernetes 聯合集群。這是一個令人興奮的新特性之一,它是在 Kubernetes 上游、當前的 Kubernetes 1.6 beta 中引用的。聯合是用于部署和訪問跨多集群運行在公有云或企業數據中心的應用程序服務的。多個集群能夠用于去實現應用程序的高可用性,應用程序可以跨多個可用區域,或者去啟用部署公共管理,或者跨不同的供應商進行遷移,比如,AWS、Google Cloud、以及 Azure。

當管理聯合集群時,你必須確保你的編配工具能夠提供你所需要的跨不同部署平臺的實例的安全性。一般來說,認證和授權是很關鍵的 —— 不論你的應用程序運行在什么地方,將數據安全可靠地傳遞給它們,以及管理跨集群的多租戶應用程序。Kubernetes 擴展了聯合集群,包括對聯合的秘密數據、聯合的命名空間、以及 Ingress objects 的支持。

 

選擇一個容器平臺

當然,它并不僅關乎安全。你需要提供一個你的開發者團隊和運營團隊有相關經驗的容器平臺。他們需要一個安全的、企業級的基于容器的應用平臺,它能夠同時滿足開發者和運營者的需要,而且還能夠提高操作效率和基礎設施利用率。

想從 Daniel 在 歐盟開源峰會 上的 容器安全的十個層面 的演講中學習更多知識嗎?這個峰會已于 10 月 23 - 26 日在 Prague 舉行。 

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2013-12-18 13:06:33

數據庫安全安全審計啟明星辰

2013-12-19 14:40:13

2012-02-17 10:22:31

2017-10-23 08:52:02

Linux容器移動應用人工智能

2021-02-16 08:45:10

React前端代碼

2019-04-26 14:04:16

物聯網IOT技術

2019-10-16 22:45:41

容器安全云安全網絡安全

2017-05-10 16:00:29

2012-06-19 10:56:21

2012-07-02 14:12:50

2021-04-20 16:56:01

物聯網安全設備

2018-08-30 21:10:59

2023-08-04 12:07:11

2012-09-06 09:48:05

BYOD

2020-10-10 13:05:45

開源云安全工具云主機開源

2020-05-19 09:28:45

企業網絡安全提示網絡安全

2017-10-17 05:22:24

2020-08-04 10:07:47

Web日志安全分析工具漏洞

2018-09-13 10:00:02

Linux命令危險命令

2017-03-20 14:37:43

Linux命令
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美精品一区二区三区四区 在线 | 国产1区| 国产综合久久久久久鬼色 | 成人国产精品久久久 | 中文字幕乱码视频32 | 亚洲精品成人 | 日本精品网站 | 中文字幕一区二区三区在线观看 | 亚洲一区二区三区免费观看 | 成人在线观看免费 | 久久久精品视频免费看 | 欧美一级视频在线观看 | 亚洲理论在线观看电影 | 色欧美综合 | 免费黄色的视频 | 国产日韩精品一区 | 欧美精品a∨在线观看不卡 国产精品久久国产精品 | av在线一区二区三区 | 欧美日一区二区 | 亚洲精品一 | 国产精品成人69xxx免费视频 | 精品欧美黑人一区二区三区 | 欧美精品综合在线 | 无人区国产成人久久三区 | 色呦呦网站 | 一级毛片视频 | 中文字幕亚洲精品 | 在线观看国产www | 超碰97在线免费 | 久久综合久久综合久久 | 一区网站 | 97精品国产| 色接久久 | 伊人精品 | 亚洲精品黄色 | 精品国产三级 | 黄色网址在线免费观看 | 欧美激情99| 国产精品久久久久久久毛片 | 天天操欧美 | 爱综合 |