容器云平臺的安全性設(shè)計_第1頁
容器云平臺的安全性設(shè)計_第2頁
容器云平臺的安全性設(shè)計_第3頁
容器云平臺的安全性設(shè)計_第4頁
容器云平臺的安全性設(shè)計_第5頁
已閱讀5頁,還剩18頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

容器云平臺的安全性設(shè)計Ⅱ目錄ⅡPAGE08PAGE081容器云平臺概述部分將在高可用章節(jié)介紹。2容器云平臺風(fēng)險及挑戰(zhàn)舉例作為平臺級的容器環(huán)境,比以往任何的基礎(chǔ)架構(gòu)平臺更加的接近業(yè)務(wù),同時也包含了更多的層級和組件,因此也帶來了更多的風(fēng)險;目前容器安全也是一個信息安全的新興領(lǐng)域,該領(lǐng)域的技術(shù)和產(chǎn)品也在不斷完善中,下面我們先從風(fēng)險的角度列舉幾個常見的例子,讓大家對容器平臺安全有個感性認(rèn)識:Linux內(nèi)核2018年,Kubernetes生態(tài)系統(tǒng)因發(fā)現(xiàn)Kubernetes的第一個主要安全漏洞(Kubernetes特權(quán)升級漏洞k8sapi實現(xiàn)提升普通用戶到k8sapi-server的最高權(quán)限,然后運行代碼來安裝惡意軟件,進(jìn)而破壞k8s集群。除此之外還有CVE-2019-11245還提供了一個遠(yuǎn)程管理接口的RESTAPI,允許通過TCP步利用容器自身特性,直接訪問主機(jī)上的敏感信息,獲取服務(wù)器root權(quán)限,對敏感文件進(jìn)行修改并最終完2.提供其他模塊之間的數(shù)據(jù)交互和通信的樞紐;3.資源配額控制的入口;4.應(yīng)用部署的接口;就是整個容器平臺的入口,任何用戶和程序?qū)嘿Y源的增刪改查操作都可以通過api實現(xiàn)。因此,為了保證集群的安全,API-server需要提供完備的安全機(jī)制。企業(yè)需要在構(gòu)建容器云平臺時考慮如何增強(qiáng)網(wǎng)絡(luò)訪問控制,進(jìn)而提升網(wǎng)絡(luò)安全。3容器云平臺安全設(shè)計容器云平臺架構(gòu)典型容器云平臺,參照上面平臺架構(gòu)設(shè)計,包括如下幾部分,從下到上包括分別是:基礎(chǔ)設(shè)施,容器云平臺基礎(chǔ)組件部分,容器云管理平臺部分,業(yè)務(wù)應(yīng)用部分平臺支持系統(tǒng)部分。容器云平臺安全架構(gòu)1.安全基線建設(shè)安全基線(參照附件5和6)持續(xù)改進(jìn)建設(shè)安全基線檢測自動化工具建設(shè)容器資產(chǎn)清單工具,實時洞察容器運行狀況。2.容器運行風(fēng)格選擇瘦容器(ThinContainer):單進(jìn)程應(yīng)用的封裝,在鏡像中打包應(yīng)用。這非常適于微服務(wù)架構(gòu)應(yīng)用的服務(wù)交付。以上組件是容器云平臺的控制(管理)組件安全基線建設(shè)安全基線檢測自動化工具組件之間通信加密為了實現(xiàn)組件之間的安全,設(shè)計要求組件之間應(yīng)該啟用TLS,支持TLS以防止流量嗅探、驗證服務(wù)器身份以及(對于相互TLS而言)驗證客戶端身份。需要開啟的TLS通訊包括:1.APIServer和etcd之間參考下圖:簡單路由網(wǎng)絡(luò)或常用的?annel網(wǎng)絡(luò)程序本身不能應(yīng)用網(wǎng)絡(luò)策略。南北向流量的安全對于南北向的流量,應(yīng)該引入傳統(tǒng)的網(wǎng)絡(luò)流量分析控制設(shè)備,例如IPS/IDS/審計/NGFW/WAF等。東西向流量的安全全控制點,在沒有合適的產(chǎn)品可以替代的情況下,應(yīng)該盡量:3.采用強(qiáng)制訪問控制技術(shù);4.監(jiān)控宿主機(jī)文件系統(tǒng)的變更;5.保持系統(tǒng)和組件的安全補丁為最新。建立專屬CA中心,定期替換密鑰檢查根證書到期時間的命令:檢查根證書到期時間的命令:opensslx509-noout-enddate-in/etc/kubernetes/ssl/kubelet-client.crt構(gòu)建統(tǒng)一賬戶管理平臺(UIMS)建設(shè)過程中需要對容器云平臺,組織實體,個人實體等賬戶的口令進(jìn)行分類,建立平臺超級管理員口令,組織管理員口令,個人實體口令管理辦法,典型的云平臺超級管理員口令的安全性要求最高,組織管理員次之,個人實體口令要求相對低一些,因此口令的管理措施也不同,比如云平臺超級管理員需要建設(shè)基于硬件的一次性密碼或者雙要素密碼認(rèn)證機(jī)制,組織管理員密碼需要建立一次性密碼或者雙要素密碼認(rèn)證機(jī)制,個人實體密碼需要滿足一定密碼復(fù)雜度要求。典型口令策略,舉例:密碼至少由8個字符組成,應(yīng)該混合數(shù)字、大寫字母、小寫字母,以及特殊字符等;UIMS系統(tǒng)支持完備口令使用,變更,修改,注銷等生命周期管理能力。構(gòu)建統(tǒng)一身份認(rèn)證平臺SSO1.傳統(tǒng)的Cookie+Session解決方案,有狀態(tài)會話模式;2.基于令牌/票據(jù)的解決方案,無狀態(tài)交互模式。上述方案各有利弊:Kubernetes有三種主要的身份驗證方法,用于和API進(jìn)行交互。官網(wǎng)列出了更多的認(rèn)證方法,但以下三種是用戶認(rèn)證常見的方法。OpenIDConnect(OIDC)其中,OpenIDConnect基于OAuth2.0協(xié)議。構(gòu)建最小權(quán)限授權(quán)管理機(jī)制--authorization-mode=RBAC--authorization-mode=RBAC除此之外還有以下模式:--authorization_mode=ABAC--authorization_mode=Webhook--authorization_mode=Node容器云平臺RBAC授權(quán)管理機(jī)制涉及的概念包括:1.訪問對象定義:K8s對集群內(nèi)部的對象以及對象上有的操作進(jìn)行了規(guī)范,比如對象包括(不含CRD對象):PodsCon?gMapsDeploymentsNodesSecretsNamespaces2.對象操作定義:資源對象的可能存在的操作有:creategetdeletelistupdateeditwatchexec3.角色/集群角色定義:命名空間的約束。4.用戶/服務(wù)賬戶/組定義:在Kubernetes集群中有存在兩類用戶:Group:組,這是用來關(guān)聯(lián)多個賬戶的,集群中有一些默認(rèn)創(chuàng)建的組,比如cluster-adminKeystone或ldap中,或影響到當(dāng)前namespace下面的資源操作權(quán)限,而ClusterRoleBinding會影響到所有的namespace。在有以上定義的基礎(chǔ)上,容器云平臺的基于rbac管理模型下的權(quán)限管理方式:某一用戶(service小提示:關(guān)于如何實為集群服務(wù)設(shè)置RBAC策略的最佳實踐,以及歸納典型設(shè)置可以使用audit2rbac,從審計日志提取細(xì)粒度的RBAC策略。開啟審計功能(非強(qiáng)制)審計功能主要包括兩部分內(nèi)容,一個是k8sapiapi審計日志通過開啟k8saudit功能實現(xiàn),管理平臺的審計日志通過管理平臺的實現(xiàn)方自定義實現(xiàn)。其中apiserver(kube-apiserver.yaml)開啟audit日志的方式是:--feature-gates=AdvancedAuditing=true--feature-gates=AdvancedAuditing=true--audit-policy-file=/etc/kubernetes/pki/audit-policy.yaml--audit-log-format=json--audit-log-path=/var/log/kubernetes/kubernetes-audit--audit-log-path=/var/log/kubernetes/kubernetes-audit--audit-log-maxage=30--audit-log-maxage=30--audit-log-maxbackup=3--audit-log-maxsize=100其中audit策略在文件audit-policy.yaml定義,形如:apiVersion:audit.k8s.io/v1beta1#Thisisrequired.apiVersion:audit.k8s.io/v1beta1#Thisisrequired.kind:Policy#Don'tgenerateauditeventsforallrequestsinRequestReceivedstage.omitStages:-"RequestReceived"rules:#LogpodchangesatRequestResponselevel-level:RequestResponseresources:-group:"" #Resource"pods"doesn'tmatchrequeststoanysubresourceofpods,#whichisconsistentwiththeRBACpolicy.resources:["pods"]#Log"pods/log","pods/status"atMetadatalevel-level:Metadataresources:-group:"" resources:["pods/log","pods/status"]……#Acatch-allruletologallotherrequestsattheMetadatalevel.-level:Metadata #Long-runningrequestslikewatchesthatfallunderthisrulewillnot#generateanauditeventinRequestReceived.omitStages: -"RequestReceived"審計政策定義了關(guān)于應(yīng)記錄哪些事件以及應(yīng)包含哪些數(shù)據(jù)的規(guī)則。處理事件時,將按順序與規(guī)則列表進(jìn)行比較。第一個匹配規(guī)則設(shè)置事件的[審計級別][auditing-level]。已知的審計級別有:None-符合這條規(guī)則的日志將不會記錄。Metadata-記錄請求的metadata(請求的用戶、timestamp、resource、verb等等),但是不記錄請求或者響應(yīng)的消息體。Request-記錄事件的metadata和請求的消息體,但是不記錄響應(yīng)的消息體。這不適用于非資源類型的請求。RequestResponse-記錄事件的metadata,請求和響應(yīng)的消息體。這不適用于非資源類型的請求。API1.資源的訪問隔離通過namespace機(jī)制對容器云平臺進(jìn)行多租戶資源隔離,租戶內(nèi)基于RBAC模式的授權(quán)模式進(jìn)行資源的訪問控制。control目前支持的admissioncontrol插件,分別是NamespaceLifecycle,LimitRanger,ServiceAccount,TaintNodesByCondition,Priority,DefaultSeconds,DefaultStorageClass,StorageObjectInUseProtection,PersistentVolumeClaimResize,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,RuntimeClass,ResourceQuota以上插件按需激活使用,比如:…………--enable-admission-plugins=NamespaceLifecycle,LimitRanger,ServiceAccount,ResourceQuota……4.網(wǎng)絡(luò)隔離網(wǎng)絡(luò)資源在集群層面也是共享的,相關(guān)的隔離措施見前面部分。單集群和多集群建議:不同業(yè)務(wù)安全級別的應(yīng)用部署在不同集群。單個集群不能太小,同時也不能太多,建議不超過128臺物理主機(jī)(48c/256G)。CSI2.UI與API的權(quán)限控制:對界面的菜單、按鈕進(jìn)行權(quán)限控制,對后臺api的訪問權(quán)限進(jìn)行權(quán)限控制,其中賬戶部分需要對接統(tǒng)一的LDAP系統(tǒng)。4.平滑升級:組件的升級應(yīng)該不影響容器云平臺的影響。鏡像介質(zhì)安全鏡像運行(策略)安全發(fā)現(xiàn)鏡像以root用戶運行禁止運行發(fā)現(xiàn)鏡像有指定的安全級別的漏洞禁止運行發(fā)現(xiàn)鏡像內(nèi)有指定某CVE漏洞禁止運行發(fā)現(xiàn)鏡像內(nèi)有木馬病毒禁止運行發(fā)現(xiàn)鏡像內(nèi)有特定的軟件包版本禁止運行發(fā)現(xiàn)鏡像內(nèi)有非信任鏡像禁止運行發(fā)現(xiàn)鏡像內(nèi)有私有證書禁止運行鏡像庫建設(shè)對于鏡像庫建設(shè)方案包括1.采用商用的鏡像倉庫,并且啟用鏡像漏洞掃描功能,2.自建鏡像倉庫,但是構(gòu)建一套完整的鏡像掃描工具,對于鏡像進(jìn)行離線掃描,并且形成整改措施。2.支持TLS加密訪問,訪問權(quán)限控制以保證鏡像安全。3.冗余、高可用的架構(gòu),數(shù)據(jù)持久性,支持全鏈路數(shù)據(jù)加密,保障數(shù)據(jù)安全。4.擁有海量的存儲能力,隨時隨地可以實現(xiàn)對容器鏡像的下載、管理。鏡像簽名Secret會以Volume的形式常見敏感信息包括關(guān)鍵的環(huán)境變量,比如數(shù)據(jù)鏈接密碼信息,TLS證書信息,鏡像庫認(rèn)證信息等。Vault其主要的應(yīng)用場景:1.作為部署在Kubernetes集群中的應(yīng)用對外提供秘鑰管理服務(wù),支持與多家主流云廠商秘鑰服務(wù)以及多種secrets形式的對接,支持多種數(shù)據(jù)庫服務(wù)的存儲對接,同時支持多種認(rèn)證形式的對接。aTwo-man原則利用私鑰分割上。這一點與傳統(tǒng)IT基礎(chǔ)架構(gòu)中F5等負(fù)載均衡設(shè)備將訪問請求負(fù)載分發(fā)到后端功能相同的應(yīng)用上類似,過kube-proxy轉(zhuǎn)發(fā)至后端的容器,完成對服務(wù)的訪問。臺的網(wǎng)絡(luò)方案深度耦合,只能在特定的云平臺上使用,局限性較大。Ingress除了k8s原生支持方案以外,F(xiàn)5公司提供了另外一種方案:F5CC+VE方案的namespace與VE以上方案中,F(xiàn)5方案中實現(xiàn)了基于api的TLS證書管理能力以及F5商用產(chǎn)品的負(fù)載均衡處理能力,是一種不錯的應(yīng)用安全入訪訪問控制方案。隨著零信任安全模型的普及,業(yè)務(wù)系統(tǒng)實現(xiàn)全站HTTPS隨著零信任安全模型的普及,業(yè)務(wù)系統(tǒng)實現(xiàn)全站HTTPSWEB應(yīng)用入侵檢測在容器云環(huán)境下,依然很重要,應(yīng)用入侵防御主要的考慮點如下:Iptables隔離,通過在宿主機(jī)側(cè)對網(wǎng)絡(luò)集群外部做基于Iptables的隔離策略,可以限制攻擊者對“容器在宿主機(jī)所映射端口”的訪問,縮小受攻擊面。部署RASP,通過在Java、PHP服務(wù)器容器內(nèi)部部署RASP產(chǎn)品,可以用之作為保護(hù)的最后一環(huán),作為網(wǎng)絡(luò)治理的一個補充小點。Webshell掃描,通過在宿主機(jī)側(cè)通過Webshell掃描引擎掃描來自Docker容器的“Web應(yīng)用程序文件”(這些文件可通過“dockercp”命令或者“動態(tài)掛載”機(jī)制獲得),有助于發(fā)現(xiàn)攻擊者植入的Webshell。日志分析,通過在宿主機(jī)側(cè)通過ELK識別拒絕服務(wù)攻擊,通過在宿主機(jī)側(cè)讀取和容器對應(yīng)的cgroup文件系統(tǒng)相關(guān)文件的實時內(nèi)容(網(wǎng)絡(luò)、CPU、內(nèi)存、磁盤),可以識別出拒絕服務(wù)攻擊。網(wǎng)絡(luò)流量可視化,“網(wǎng)絡(luò)流量可視化”是現(xiàn)有的“容器安全產(chǎn)品”的常見附加功能。該功能的功能可能依托于“對指定的網(wǎng)橋、網(wǎng)卡進(jìn)行流量的DPI分析”。實現(xiàn)容器云環(huán)境下的WE

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論