您好,登錄后才能下訂單哦!
本篇內容介紹了“Kubernetes實現安全的方法是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
Kubernetes看起來很誘人,可以幫助組織解決許多問題!但是使用它的人都知道事情會變得多么復雜。Kubernetes的安全性也不例外。
Kubernetes不是默認安全。它有多種攻擊途徑,并且經常發現CVE。盡管開始使用Kubernetes時會感覺有些不知所措,但是組織可以采取一些具體策略來保護你的服務和基礎架構,使組織的系統和應用不受侵害。
首先,讓我們大致了解你要保護的生態系統。
使用托管的Kubernetes解決方案(例如云提供商所提供的解決方案)通常可以為你提供更好的默認配置,或者更易于管理的功能。但是如果沒有選擇正確的配置,它們也是不安全的。
例如,對Kubernetes集群進行身份驗證的最安全方法是使用OAuth。但使用托管的Kubernetes解決方案,通常是使用私有客戶端證書文件,或用戶名和密碼的身份驗證。
相反,托管的Kubernetes支持配置網絡策略的容器網絡接口(內部服務有助于通過Kubernetes網絡進行容器和Pod通信)。
接下來,讓我們看看如何依次保護每個組件。
組織如果需要安全地構建容器,并且必須使用信任的容器鏡像在系統中部署運行。
構建安全容器需要掃描它們的漏洞-包括Linux系統軟件包以及編程語言(例如Python或Ruby)的應用程序軟件包。應用程序開發人員可能習慣于掃描應用程序依賴關系,但是由于他們隨應用程序一起交付了整個操作系統,因此在保護操作系統安全方面也必須獲得支持。
為了大規模支持這項工作,請考慮使用諸如Cloud Native Buildpacks之類的工具,該工具允許組織或運維團隊進行標準化的容器構建,開發人員可以使用它們將其應用程序拖放到其中-完全替換項目的Dockerfile。這些集中化的構建可以保持最新狀態,以便開發人員可以專注于自己擅長的方面,而不必手動重復DevOps操作。
容器鏡像掃描工具會掃描已構建鏡像的各個層以查找已知漏洞,并且檢查和保證你的構建和依賴關系是最新的。它們可以在開發過程中以及在CI流水線中運行,從而使開發人員可以最早發現漏洞。最佳做法是將容器降到運行應用程序所需的最低限度。
預防攻擊的一個好方法是擁有一個沒有shell的容器!
因此,現在你已經構建了安全的容器。但是,如何確定所構建的哪一個容器,是需要部署到集群的容器呢?
Docker支持使用密鑰,對鏡像簽名,然后可以在拉取和部署鏡像時對其進行身份驗證。簽名容器,類似于將TLS證書添加到端點。
通過驗證要拉取的容器鏡像是否與你的鏡推送像完全相同,它可以防止中間人(man-in-the-middle attacks )攻擊。為此,你需要在拉取和推送容器鏡像雙方的系統上,擁有同一個密鑰。
下面將介紹,我們檢查準入控制器時,如何防止未簽名的鏡像部署到你的集群中。
你的容器可能正在運行Linux或Windows,Kubernetes還支持Linux和Windows工作節點的混合。
為了確保你的系統安全,你仍然必須執行傳統的工作–以確保僅在必要時才公開服務器,確保SSH憑據安全,確保OS庫是最新的以及用戶和組權限被鎖定。
如果攻擊者可以訪問你的主節點或工作節點,則他們更容易入侵Kubernetes系統的任何部分-無論是API還是kubelet代理。即使在云原生環境中,仍然需要良好的舊sysadmin工作,無論是將其委派給云提供商還是自己獨立完成。
完整的Kubernetes安全實踐,可以出一本書了。但是對于此討論,最關鍵的方面是基于角色的訪問控制(RBAC),準入控制器和網絡策略。
此外,云原生安全平臺可以幫助彌補微小漏洞。
誰可以在你的集群中做什么?基于角色的訪問控制(RBAC)回答了這個問題。
Kubernetes提供了在整個集群中、以及給定名稱空間(namespace)中為用戶和服務帳戶(service accounts)授予特定權限的功能。
一些示例用例,允許所有團隊成員查看彼此的應用程序詳情,但只能在自己專用的命名空間中進行修改,而只有少數經過審查的人可以刪除那里的內容。
這些因組織而異,但是積極管理RBAC對于集群的安全至關重要。
準入控制器(AC)是實現完全Kubernetes安全的唯一方法。除非容器規范滿足某些條件,否則AC會阻止容器在集群中調度和運行。AC的種類很多,但其中有兩種非常值得使用:PodSecurityPolicy AC和可驗證簽名鏡像的AC。
(PSP)介于攻擊者和Kubernetes系統最脆弱的方面之間。例如,Kubernetes中的容器可以要求使用“ hostPath”類型的存儲卷(例如Docker套接字)在基礎主機上安裝任何路徑。
掛載Docker套接字的容器,可以在沒有特權狀態的情況下以root用戶身份在主機上運行任何docker命令。太恐怖了!防止這種情況的唯一方法是PSP禁止hostPath卷。PSP設置還可以阻止其他幾種重要的攻擊路徑。如果你僅做一件事來保護集群,則應該創建PSP并啟用PSP準入控制器。
之前,我們討論了如何對你的容器鏡像進行簽名以建立信任鏈。如何完成?使用 Open Policy Agent (OPA) AC,可以在允許每個容器鏡像進入集群之前檢查每個容器鏡像是否具備有效簽名。還可以參考,結合使用Notary和OPA建立從構建到部署的完整信任鏈的絕佳指南。
Kubernetes網絡策略就像集群的內部防火墻規則一樣,應該說明其重要性。他們允許管理員為以下場景配置集群:
如果你是在管理自己的集群,而不是使用云提供商管理的解決方案,則需要研究可用的CNI,以了解NetworkPolicy支持的網絡的有效方法。
安全形勢一直在變化,并且它以驚人的速度發展,在云原生空間中變化甚至更快。即使采取了上述所有步驟,重要的是要對實時運行的內容進行檢查以查看異常和違規跡象。諸如像Prisma Cloud這樣的平臺可以提醒你注意此類異常情況,并可以主動防止意外進程運行和建立網絡連接。
“Kubernetes實現安全的方法是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。