CIS Kubernetes 基準測試

網路安全中心( CIS )發布的 CISKubernetes 基準,提供了一套具體步驟框架,旨在協助企業以符合各產業規範的標準,更安全地配置 Kubernetes 系統。

當新的 Kubernetes 版本發行為 支援的 Red Hat OpenShift 版本 的一部分時,IBM 工程師會比較執行該 Kubernetes 版本之叢集的預設配置與基準性能測試,並在本文件中發佈結果。 您可以檢閱 Red Hat® OpenShift® on IBM Cloud® 叢集的特定版本如何符合 CIS Kubernetes 基準性能測試。

支援的基準版本

使用清單尋找 CIS Kubernetes 支援版本的 Benchmark 結果。

使用基準性能測試

身為資安管理員或稽核人員,您可能需要將貴公司的內部標準與外部法規要求,與 CIS 的 Kubernetes 基準進行比對。 基準建議由網際網路安全中心提供,而非由 IBM 提供。 IBM 可能無法以符合所有建議的方式設定預設值,但會記錄是否符合建議,以協助您進行審查。 例如,您可以在審核中使用基準性能測試,以確認基本安全措施已就緒,並識別您可以加強安全的區域。

該基準涵蓋哪些內容?

基準性能測試涵蓋主節點元件、etcd、控制平面配置、工作者節點及原則 (例如針對使用者、網路及 Pod 安全) 的建議。

基準性能測試建議是什麼意思?

基準性能測試建議具有評分、等級、結果狀態及責任,如下所示。

  • 評分
    • 評分: 根據是否符合建議,整體基準評分會增加或減少。
    • 未評分: 無論是否符合建議,整體基準性能測試評分不受影響。
  • 層次
    • 層次 1: 可以在不禁止服務的情況下配置的實際安全措施。
    • 層次 2: 更深入的安全措施,可能會降低服務的效能或功能。
  • 結果
    • 通過: 服務符合基準性能測試建議。
    • 失敗: 依預設,服務不符合基準性能測試建議。 請參閱補救區段,以取得說明及您可以採取的可能動作,以符合基準性能測試建議。
  • 責任
    • IBM: IBM 負責配置基準性能測試建議的設定。
    • 共用: 您和 IBM 共同負責配置基準性能測試建議的設定。

我負責哪些部分的基準性能測試?

因為 Red Hat OpenShift on IBM Cloud 是受管理供應項目,IBM 已為您配置許多安全設定。 例如,IBM 會管理並自動將更新項目套用至叢集主節點。 對於工作者節點,IBM 提供安全及版本更新,但您必須套用更新。 您也負責工作負載應用程式及資料。 如需相關資訊,請參閱 您使用 Red Hat OpenShift on IBM Cloud

如果部分服務不符合建議,怎麼辦?

首先,請檢查任何補救步驟的失敗說明。

然後,根據您的安全需求,判斷是否可接受失敗。 例如,部分建議可能比您的特定處理程序或標準需要更深入的配置需求。 此外,有些建議不會評分,也不會影響整體基準性能測試評分。

接下來,決定元件是否屬於您的責任。 如果是這樣,您可能需要變更配置該元件的方式。 例如,您可以配置所有應用程式部署的安全環境定義限制。 對於不是直接由您負責的元件,請評量您是否可以使用另一個 IBM Cloud 服務來符合建議。

我還能做什麼來增加叢集的安全和相符性?

請參閱 Red Hat OpenShift on IBM Cloud

執行工作者節點 CIS Kubernetes 基準性能測試

若要檢視第4節:工作節點安全設定中,CIS 基準測試( Kubernetes )的結果,您可自行執行測試。 因為您擁有工作者節點,並對其相符性部分 負責,所以您可以自行進行要驗證的配置變更。

這些步驟僅適用於運行 Red Hat OpenShift 版本 4.5 或更高版本的叢集。

開始之前:請登入您的帳戶:。 適用的話,請將適當的資源群組設為目標。 設定叢集的環境定義。

  1. 為資源建立專案以執行基準性能測試。

    oc create ns ibm-kube-bench-test
    
  2. 使用 kube-samples GitHub 儲存庫中的 confignode 配置檔來建立 ConfigMap。

    1. confignode 配置檔下載至稱為 ibm 的本端目錄。 您也可以複製儲存庫,並導覽至 ibm 目錄。
    2. 使用 --from-file 選項來建立 ConfigMap,以指定您下載配置檔所在的 ibm 目錄。
        oc create cm kube-bench-node -n ibm-kube-bench-test --from-file ibm
        ```
    
  3. 建立工作以根據您先前建立的配置來執行基準性能測試。

    oc apply -n ibm-kube-bench-test -f https://raw.githubusercontent.com/IBM-Cloud/kube-samples/master/cis-kube-benchmark/cis-1.5/ibm/job-node.yaml
    
  4. 請檢查工作是否已完成。

    oc get pods -n ibm-kube-bench-test -l job-name=kube-bench-node
    

    輸出範例

    NAME                    READY   STATUS      RESTARTS   AGE
    kube-bench-node-hlvhc   0/1     Completed   0          23s
    
  5. 透過檢查 Pod 日誌,檢閱工作者節點的 CIS Kubernetes 基準性能測試結果。

    oc logs -n ibm-kube-bench-test -l job-name=kube-bench-node --tail=-1
    

    輸出範例

    == Summary ==
    20 checks PASS
    2 checks FAIL
    1 checks WARN
    0 checks INFO
    
  6. 選用項目: 當您完成檢閱結果時,請刪除您所建立的資源。

    oc delete ns ibm-kube-bench-test