1. 程式人生 > >Kubernetes網路安全與合規的5招實用技巧

Kubernetes網路安全與合規的5招實用技巧

                     

由於Kubernetes動態的特性,難以使用現有工具進行保護或監控。這會對安全性和合規性控制產生重大影響。

  • 邊界安全(perimeter security),基於區域的安全性(zone-based security)以及靜態防火牆等傳統解決方案的可擴充套件性或靈活性不足以滿足
  • Kubernetes的安全控制監視工具無法涉足微服務的流量。
  • 旨在提供審計跟蹤(audit trails)的許可權工具同樣也是為靜態應用程式和環境設計的,對Kubernetes無法正常工作。
  • 由於微服務使用網路,因此開發、平臺、網路、安全團隊需要訪問安全工具,以便他們能以敏捷的方式協同工作。

Kubernetes改變了我們實施安全控制的方式。以下是對這些環境實施安全性管理的一些實踐建議:

1 部署你所知的

如果你不知道容器內部是什麼就進行部署,這可能給你帶來麻煩,特別是如果它含有易受攻擊的程式碼。下載的容器映象可能包含易受攻擊的程式碼,使得執行時容器可被攻擊者利用。因此,實施良好的安全管理並瞭解正在部署的內容究竟是什麼至關重要。

容器掃描可以在一定程度上幫助篩選出含主要CVE(公共漏洞)的容器。假設你的程式碼完成了你希望它執行的操作,你希望確保沒有人能夠以你不知道的方式更改它,那就使用像Git這樣的原始碼控制系統。

2 確保部署合規

由於IP地址在Kubernetes環境中是短時的,因此我們需要使用其他屬性來識別和稽核工作負載,這可能包含與合規性控制一致的用來識別基礎架構的元資料和標籤。當使用標籤為標識時,你可以開始附加合規性所需的安全控制。

下一步是編寫與標籤互動的策略。如果架構中的元素標記為PCI,那麼它是哪種特定元素就變得無關緊要。無論如何,你的PCI相關政策都應自動應用。

最後,您需要強制執行策略的具體內容。開發人員以及其他任何人員不應該更改你的策略,除了安全/合規性團隊。如果有人試圖更改這些策略,安全/合規性團隊應收到警報。

3 確保日誌有意義且能持久儲存

你可能擁有數千甚至數萬臺伺服器,每臺伺服器都有數百個工作負載。你需要一個可以關聯所有這些工作負載的解決方案,以便你可以檢測平臺中實際發生的情況。舉個例子,你的容器需要一致的時間感,沒有時間感,您的日誌將不按順序排列,導致你無法確定因果順序。

4 擁抱Zero Trust網路安全理念

正如我們所提到的,你需要假設你的網路中會收到一個或多個攻擊。相應的行動意味著在你需要在pod和主機內外實施多個執行點。如果單個執行點受到攻擊,則感染將無法危及安全狀況。通過在堆疊的每個級別實施多個、互鎖和部分冗餘的安全控制,你可以消除單個攻擊就能侵佔整個系統的可能性。

5 像編排程式碼一樣協調安全性

協調器負責其他環境部分,因此它應負責安全性。做其任何無關的事情會導致在策略和安全性之間產生阻抗。安全策略應與工作負載如影隨形。

建立新的微服務安全模型意味著為已經非常複雜的環境中增加更多的複雜性。 但如果能做得正確,你將建立一個更安全的安全模型取代原有模型。