跳至主要内容

Rancher 安全最佳實踐

限制對 /version 和 /rancherversion 路徑的公開存取​

上游(本地)Rancher 實例提供有關其執行的 Rancher 版本以及用於建置它的 Go 版本的資訊。該資訊可透過 /version 路徑存取,用於自動化版本升級或確認部署是否成功等任務。上游實例還提供可透過 /rancherversion 路徑存取的 Rancher 版本資訊。

攻擊者可能會濫用此資訊來識別執行中的 Rancher 版本,並將其與潛在的漏洞相關聯以進行利用。如果您的上游 Rancher 實例在網路上公開可用,請使用第 7 層防火牆來阻止 /version 和 /rancherversion。

有關保護伺服器的更多資訊,請參閱 OWASP Web Application Security Testing - Enumerate Infrastructure and Application Admin Interfaces。

工作階段管理​

某些環境可能需要額外的工作階段管理安全控制。例如,您可能希望限制使用者的並發活動工作階段數量,或限制可以從哪些地理位置啟動這些工作階段。Rancher 本身不支援這些功能。

如果您需要這些功能,請將第 7 層防火牆與外部身份驗證提供者結合使用。

使用外部負載平衡器保護易受攻擊的埠​

您應該將以下埠保護在啟用了 SSL 卸載的外部負載平衡器後面:

  • K3s: 埠 6443,由 Kubernetes API 使用。
  • RKE2: 埠 6443,由 Kubernetes API 使用,以及埠 9345,用於節點註冊。

這些埠具有 TLS SAN 憑證,其中列出了節點的公共 IP 位址。攻擊者可能會使用該資訊來獲得未經授權的存取或監控叢集上的活動。保護這些埠有助於減輕節點的公共 IP 位址被洩露給潛在攻擊者的風險。

Rancher 使用者名稱政策​

預設情況下,Kubernetes 不提供基準使用者名稱政策的強制執行機制。在 Rancher 中,這意味著如果存在這些政策,則預期由外部身份提供者的政策來處理使用者名稱格式、命名慣例或基準政策的任何強制執行。

在 Rancher 中,admin 是管理員使用者的預設使用者名稱,如此處所強調。

潛在基準政策的範例包括:

  • 要求使用者名稱遵循組織慣例(例如,firstname.lastname)
  • 強制執行最小或最大長度要求
  • 禁止某些特殊字元
  • 透過禁止保留名稱(例如,admin、root)防止冒充

如果在身份提供者層缺少這些控制,則存在不一致或不安全的使用者名稱實踐的風險,這可能會使存取稽核複雜化並導致權限提升嘗試。

重要

Rancher 目前僅強制執行最小密碼長度。

建議: 我們強烈建議客戶:

  • 直接在其外部身份提供者(例如,LDAP、Active Directory、SAML 或 OIDC)中檢閱和配置使用者名稱基準政策。
  • 確保這些政策符合組織的安全性和合規要求。
  • 定期稽核使用者帳戶以偵測命名不一致或政策違規。

有關更多資訊,請參閱:

WAF 規則​

Rancher 設計為支援廣泛的部署場景,包括客戶可能以程式設計方式自動化建立或佈建大量叢集的環境。在 Rancher 本身施加嚴格的應用程式級別限制可能會干擾需要動態擴展的合法工作負載。

例如:

  • CI/CD 流程可能會頻繁地建立和拆除叢集。
  • 自助服務入口網站可以根據需要為開發人員佈建叢集。
  • 測試環境可能會產生大量的 API 呼叫。

風險: 如果沒有適當的速率限制,攻擊者可能會利用未經身份驗證或已驗證的端點來:

  • 耗盡資源(拒絕服務)。
  • 增加儲存成本。
  • 降低合法使用者的效能。

建議: 降低此風險最有效的方法是在基礎設施或 Web 應用程式防火牆(WAF)層實施速率限制和濫用保護。此方法允許針對每個環境的預期使用和擴展特性調整閾值。一些控制範例可以是:

  • 配置 Web 應用程式防火牆或 API 閘道,對敏感操作(例如叢集建立和佈建)強制執行速率限制。
  • 根據基準工作負載預期定義閾值(例如,每個客戶端每分鐘的最大請求數)。
  • 監控日誌並對異常發出警報以偵測潛在的濫用。
  • 應用資源配額,這是 Rancher 的一項功能,可限制專案或 namespace 可用的資源。

有關更多資訊,請參閱: