国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專(zhuān)注于服務(wù)器技術(shù)及軟件下載分享
分類(lèi)導(dǎo)航

服務(wù)器資訊|IT/互聯(lián)網(wǎng)|云計(jì)算|區(qū)塊鏈|軟件資訊|操作系統(tǒng)|手機(jī)數(shù)碼|百科知識(shí)|免費(fèi)資源|頭條新聞|

服務(wù)器之家 - 新聞資訊 - 云計(jì)算 - Kubernetes的五種安全實(shí)踐

Kubernetes的五種安全實(shí)踐

2020-09-25 23:23新鈦云服祝祥 云計(jì)算

Kubernetes還不到6歲,但它已經(jīng)是每個(gè)人最喜歡的容器編排程序了。云和基礎(chǔ)設(shè)施監(jiān)測(cè)公司Datadog發(fā)現(xiàn)Kubernetes主導(dǎo)著容器市場(chǎng):“大約45%的運(yùn)行容器的Datadog客戶(hù)使用Kubernetes。”其他容器編排程序,如Marathon和Docker swarm已經(jīng)退出。

Kubernetes的五種安全實(shí)踐

Kubernetes還不到6歲,但它已經(jīng)是每個(gè)人最喜歡的容器編排程序了。云和基礎(chǔ)設(shè)施監(jiān)測(cè)公司Datadog發(fā)現(xiàn)Kubernetes主導(dǎo)著容器市場(chǎng):“大約45%的運(yùn)行容器的Datadog客戶(hù)使用Kubernetes。”其他容器編排程序,如Marathon和Docker swarm已經(jīng)退出。

Kubernetes在公有云上更受歡迎。例如,根據(jù)Datadog的統(tǒng)計(jì),“大約80%在Azure中運(yùn)行容器的Datadog客戶(hù)現(xiàn)在都在使用Kubernetes”。在亞馬遜網(wǎng)絡(luò)服務(wù)(AWS)上,Datadog發(fā)現(xiàn)它的受歡迎程度在過(guò)去兩年翻了一番,達(dá)到了45%。

人氣越高危險(xiǎn)就越大。Windows用戶(hù)深知,一個(gè)程序越受歡迎,就越容易受到攻擊。Kubernetes也是如此。如果你在使用它,你必須保護(hù)它。

但是這并不容易。

Kubernetes的管理組織Cloud Native Computing Foundation(CNCF)最近對(duì)Trail of Bits和Atredis合作伙伴進(jìn)行安全審計(jì)。Bits的報(bào)告說(shuō),Kubernetes存在許多安全問(wèn)題,這是因?yàn)镵ubernetes的配置和部署并不簡(jiǎn)單,某些組件的默認(rèn)設(shè)置容易讓人混肴,同時(shí)缺少操作控制以及隱式設(shè)計(jì)的安全控制。”

由此可見(jiàn),這真的不容易。

不過(guò),我們必須嘗試。這是我們?nèi)绾伪WCKubernetes安全的前五種方法。

1.確保容器本身安全

如果容器損壞,保護(hù)Kubernetes并沒(méi)有任何好處。開(kāi)源安全公司Snyk在2019年分析了10個(gè)最受歡迎的Docker鏡像。他們發(fā)現(xiàn)所有映像都包含易受攻擊的系統(tǒng)庫(kù)。

正如VMware副總裁兼首席開(kāi)源官Dirk Hohndel 在2019年開(kāi)源領(lǐng)袖峰會(huì)上所說(shuō)的那樣:“容器打包格式類(lèi)似于Windows中的.exe和macOS中的.dmg,基本上你可以發(fā)布一個(gè)包含所有依賴(lài)項(xiàng)的完整文件系統(tǒng)。由于您現(xiàn)在將這些依賴(lài)項(xiàng)包含在容器中,因此您必須關(guān)注這些二進(jìn)制文件用途,產(chǎn)生方式以及相應(yīng)的來(lái)源。“

簡(jiǎn)而言之,您必須先確定容器的內(nèi)容是可信任的,然后再將其部署給Kubernetes進(jìn)行管理。否則,您將遇到最常見(jiàn)的計(jì)算機(jī)問(wèn)題之一:垃圾回收(GIGO)。因此,您別無(wú)選擇,只能檢查每個(gè)生產(chǎn)容器是否存在潛在的安全問(wèn)題。

是的,很痛苦。從來(lái)沒(méi)有人說(shuō)過(guò)安全是容易的。

2.鎖定容器的Linux內(nèi)核

從本處開(kāi)始只會(huì)越來(lái)越困難。除了確保容器是安全的以外,由于所有容器都運(yùn)行在單個(gè)Linux內(nèi)核上,因此確保該內(nèi)核盡可能安全是有意義的。而且,推薦使用AppArmor或SELinux進(jìn)行安全配置,保護(hù)內(nèi)核。

但是,這些復(fù)雜的配置限制了用戶(hù)控制,程序管理,文件訪問(wèn)和系統(tǒng)維護(hù)。他們將其作為L(zhǎng)inux安全模塊來(lái)執(zhí)行,該模塊在Linux上強(qiáng)加了強(qiáng)制性訪問(wèn)控制(MAC)體系結(jié)構(gòu)。對(duì)于Linux的內(nèi)置安全模型(除非明確禁止,否則允許一切),這是一種完全不同的安全方法(除非明確允許,否則限制一切)。

很多系統(tǒng)管理員都無(wú)法正確設(shè)置兩者。更糟糕的是,如果您配置錯(cuò)誤,那這就不僅僅是一個(gè)重新配置的過(guò)程。如果您配置不對(duì),您的Linux系統(tǒng)將被凍結(jié),而您將不得不重新進(jìn)行調(diào)整。或者,您可能認(rèn)為它的配置是正確的,但是實(shí)際上您的容器可能仍然會(huì)像以前一樣受到攻擊。

正確以及安全的配置需要操作人員的大量時(shí)間和專(zhuān)業(yè)知識(shí)。在AppArmor或SELinux保護(hù)的內(nèi)核上運(yùn)行應(yīng)用程序可能會(huì)遇到困難。大多程序?qū)Φ讓硬僮飨到y(tǒng)采取了安全措施。這些受保護(hù)的內(nèi)核不允許這樣做。

如果這兩種方法中的任何一種被證明是太麻煩了,那么您可以通過(guò)阻止內(nèi)核自動(dòng)加載內(nèi)核模塊來(lái)獲得一些保護(hù)。例如,由于即使是非特權(quán)進(jìn)程也可以強(qiáng)制加載一些與網(wǎng)絡(luò)協(xié)議相關(guān)的內(nèi)核模塊,只需創(chuàng)建一個(gè)特定的網(wǎng)絡(luò)套接字,就可以添加規(guī)則來(lái)阻止有問(wèn)題的模塊。您可以使用禁止的模塊配置文件來(lái)執(zhí)行此操作:

/etc/modprobe.d/kubernetes-blacklist.conf

文件中記得加入配置說(shuō)明,例如:

#SCTP在大多數(shù)Kubernetes集群中不使用,并且也有漏洞。

不過(guò),最好的方法還是安裝AppArmor或SELinux。

3.使用基于角色的訪問(wèn)控制(RBAC)

從Kubernetes1.8開(kāi)始,您可以使用RBAC來(lái)控制用戶(hù)可以做什么。這一點(diǎn)很重要,因?yàn)樵噲D將運(yùn)行在數(shù)十個(gè)實(shí)例和集群上的用戶(hù)混為一談來(lái)提供服務(wù)是非常恐怖的。使用RBAC,零信任安全方法,用戶(hù)和組件(如應(yīng)用程序和節(jié)點(diǎn))只需要獲得完成任務(wù)所需的權(quán)限。

RBAC在應(yīng)用程序編程接口(API)級(jí)別上工作。這樣,即使不使用授權(quán)者本身,RBAC規(guī)則也會(huì)鎖定用戶(hù)。RBAC還阻止用戶(hù)通過(guò)編輯角色或角色綁定為自己提供更多特權(quán)。

默認(rèn)情況下,它也會(huì)阻止外來(lái)者。RBAC策略向控制平面組件、節(jié)點(diǎn)和控制器授予作用域權(quán)限。但是,這一點(diǎn)很重要,它不向kube-system namespace之外的服務(wù)帳戶(hù)授予任何權(quán)限。

為了便于管理Kubernetes,RBAC提供了預(yù)定義的角色。這樣,開(kāi)發(fā)人員、操作員和集群管理員只需獲得他們所需的權(quán)限,而不需要任何用不到的權(quán)限。

在這個(gè)系統(tǒng)中,cluster admin角色相當(dāng)于Unix和Linux的超級(jí)用戶(hù)。群集管理員可以創(chuàng)建、編輯或刪除任何群集資源。不用說(shuō),必須小心保護(hù)群集管理員角色的訪問(wèn)權(quán)限。

4.保守秘密的辛勤工作

Kubernetes Secrets對(duì)象包含敏感元素,例如密碼,OAuth令牌或ssh密鑰。簡(jiǎn)而言之,它們是Kubernetes集群的鑰匙。您必須保護(hù)好他們。

Kubernetes會(huì)自動(dòng)創(chuàng)建用于訪問(wèn)API的機(jī)密,并修改您的Pod以使用它們。但是,您的secrets(例如Pod訪問(wèn)數(shù)據(jù)庫(kù)所需的用戶(hù)名和密碼)則在您的控制和保護(hù)之下。

很簡(jiǎn)單吧?不幸的是,Kubernetes的secrets帶有許多內(nèi)置的安全漏洞。官方所列出的漏洞簡(jiǎn)直令人恐懼。

在API服務(wù)器,secret數(shù)據(jù)被存儲(chǔ)在ETCD,Kubernetes默認(rèn)使用分布式key-value存儲(chǔ)。默認(rèn)情況下,etcd數(shù)據(jù)不加密,因此您的secrets也不加密。因此,您必須啟用靜態(tài)加密并限制對(duì)admin用戶(hù)的etcd訪問(wèn)。

許多用戶(hù)將其機(jī)密信息保存在JSON或YAML文件中。在這里,機(jī)密數(shù)據(jù)被編碼(未加密)為base64。這意味著如果您共享配置文件或?qū)⑵涮峤坏酱a倉(cāng)庫(kù)中,其他人則可以讀取您的所有secrets。

一旦應(yīng)用程序使用了secret,就將不允許該應(yīng)用程序?qū)ζ溥M(jìn)行記錄或?qū)⑵鋫鬏斀o不受信任的一方。

一個(gè)可以創(chuàng)建使用secret的Pod的用戶(hù)也可以看到這個(gè)secret的值。即使API服務(wù)器策略不允許該用戶(hù)讀取它,用戶(hù)也可以運(yùn)行一個(gè)Pod,這會(huì)暴露secret。

當(dāng)前,在任何節(jié)點(diǎn)上具有root權(quán)限的任何人都可以通過(guò)模擬kubelet來(lái)從API服務(wù)器讀取任何secret。這實(shí)際上是一個(gè)特性。其思想是,通過(guò)只與需要它們的節(jié)點(diǎn)共享secret,可以將根攻擊對(duì)單個(gè)節(jié)點(diǎn)造成的損害限制在一個(gè)節(jié)點(diǎn)上。

這種情況很糟糕。你可以隨時(shí)通過(guò)加密secrets來(lái)緩解它。如果可能的話,你也應(yīng)該把這個(gè)secret與鏡像或pod分開(kāi)。一種方法是將進(jìn)程拆分為單獨(dú)的容器。例如,可以將應(yīng)用程序分為前端容器和后端容器。后端具有私鑰secret并響應(yīng)來(lái)自前端的簽名請(qǐng)求。

除非您既是安全管理員又是Kubernetes管理員,否則必須使用第三方秘密工具來(lái)保護(hù)您的secret。其中包括AWS Secrets Manager,Google Cloud Platform KMS和用于公共云的Azure Key Vault。而且,程序如Hashicorp Vault, CyberArk/Conjur, Confidant和Aqua Security Kubernetes Security for the Enterprise。

5.保持網(wǎng)絡(luò)安全

從上面可以看出,允許訪問(wèn)etcd非常危險(xiǎn)。正如Kubernetes安全企業(yè)ControlPlane的聯(lián)合創(chuàng)始人Andrew Martin 在Kubernetes自己的博客中寫(xiě)道:“ 對(duì)API服務(wù)器的etcd的寫(xiě)訪問(wèn)權(quán)限等同于在整個(gè)集群上獲得root權(quán)限,甚至可以很容易的使用讀訪問(wèn)權(quán)限公平地提升特權(quán)。”

因此,Martin建議:“ etcd應(yīng)該配置有peer和客戶(hù)端TLS證書(shū),并部署在專(zhuān)用節(jié)點(diǎn)上。為避免私鑰被從工作節(jié)點(diǎn)竊取和使用,集群也可以通過(guò)防火墻連接到API服務(wù)器。

不僅etcd需要網(wǎng)絡(luò)保護(hù)。由于Kubernetes完全由API驅(qū)動(dòng),因此默認(rèn)情況下,所有內(nèi)部集群通信均使用TLS加密。

但是,這還不夠。默認(rèn)情況下,Kubernetes Pod接受來(lái)自任何來(lái)源的流量。在此重復(fù)一遍:“任何來(lái)源。” Pod已開(kāi)放用于網(wǎng)絡(luò)連接,這并不安全。由您決定網(wǎng)絡(luò)策略,該策略可以安全地定義Pod如何在群集內(nèi)以及與外部資源進(jìn)行通信。

您可以通過(guò)添加支持網(wǎng)絡(luò)策略控制器的網(wǎng)絡(luò)插件來(lái)實(shí)現(xiàn)。如果沒(méi)有這樣的控制器,您設(shè)置的任何網(wǎng)絡(luò)策略都不會(huì)生效。不幸的是,Kubernetes默認(rèn)沒(méi)有官方默認(rèn)甚至首選的網(wǎng)絡(luò)策略控制器。相反,您必須使用第三方插件,如Calico,Cilium,Kube-router,Romana或Weave Net。不管怎樣,我最喜歡的是Calico。

我建議您從**“默認(rèn)拒絕所有**”網(wǎng)絡(luò)策略開(kāi)始。這樣,僅允許您隨后明確允許的與其他網(wǎng)絡(luò)策略規(guī)則的連接。由于網(wǎng)絡(luò)策略是在namespace中設(shè)置的,因此您需要為每個(gè)namespace設(shè)置網(wǎng)絡(luò)策略。

設(shè)置完成后,您可以開(kāi)始允許適當(dāng)?shù)木W(wǎng)絡(luò)訪問(wèn)規(guī)則。更多可以參考 【Kubernetes Network Policy Recipes】(https://github.com/ahmetb/kubernetes-network-policy-recipes)。

確保Kubernetes的安全是一項(xiàng)重要工作。

正如我在一開(kāi)始所說(shuō)的那樣,保護(hù)Kubernetes確實(shí)不是一件容易的事。到現(xiàn)在為止,我相信您現(xiàn)在是非常同意我這一說(shuō)法。

Kubernetes從一開(kāi)始就被設(shè)計(jì)為易于部署。不幸的是,這也意味著它在設(shè)計(jì)上是不安全的。這意味著要增加安全性完全取決于您。幸運(yùn)的是,增加安全性,則使你的Kubernetes集群更具有生產(chǎn)價(jià)值。

本文只談到了Kubernetes安全需要解決的最重要的問(wèn)題。當(dāng)然還有很多其他的問(wèn)題。但是,我真的希望我給了你足夠的思路讓你明白這工作有多重要。而且,您必須現(xiàn)在就開(kāi)始保護(hù)Kubernetes集群,否則黑客會(huì)毫不猶豫地提醒您,您已經(jīng)將公司的重要系統(tǒng)暴露在危險(xiǎn)之中。

譯者:祝祥

原文:https://www.idginsiderpro.com/article/3571466/the-five-best-kubernetes-security-practices.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 色a视频 | 偷拍做爰吃奶视频免费看 | 黄色一级毛片免费看 | 成人在线精品 | 日本精品久久 | 午夜精品久久久久久久男人的天堂 | av大片网| 久久精品高清 | 亚洲综合视频 | av在线一区二区三区 | 中文成人在线 | 色网综合 | 精品日韩一区二区三区 | 成人久久久久爱 | 欧美日韩免费 | 欧美成人区 | 开心久久婷婷综合中文字幕 | 色婷婷激情综合 | a级黄色在线观看 | 九色国产 | 精品免费国产 | 亚洲精品专区 | 国产一区久久久 | 日韩精品一二三 | 91av官网| 毛片免费观看视频 | av在线中文 | www.久久视频 | 国产精品久久久久久吹潮 | 欧美国产日韩一区 | 26uuu成人免费毛片 | 欧美日韩一区二区在线观看 | 91免费网站 | 亚洲国产成人久久 | 精品综合 | 亚洲高清在线视频 | 秋霞av国产精品一区 | 国产精品成人在线观看 | 国产精品欧美久久久久一区二区 | 在线国产一区二区 | 国产精品美女久久久久久免费 |