ACK提供巡檢功能,協助您掃描叢集中工作負載配置的安全隱患。執行巡檢任務後,系統會產生巡檢報告,您可以根據報告結果查看並處理風險項,即時瞭解叢集中工作負載的健康狀態。
前提條件
叢集版本為v1.14及以上版本。如需升級叢集,請參見手動升級叢集。
如果您當前使用的是RAM使用者,請確保已參見下方內容完成RAM授權和RBAC授權。
RAM授權
請完成配置巡檢頁面的RAM授權操作,確保當前RAM使用者擁有操作當前叢集的配置巡檢頁面的許可權,否則會出現許可權不足無法操作配置巡檢頁面功能的問題。具體操作,請參見為RAM使用者或RAM角色授予RAM許可權。
如果您需要使用巡檢報告功能,請完成Log Service指定
logproject
(當前叢集logtail-ds組件所使用的logproject
)的RAM授權,確保當前RAM使用者擁有Log Service指定logproject
的資料讀取許可權,否則會出現許可權不足無法查看巡檢報告的問題。具體操作,請參見RAM自訂授權樣本。RBAC授權
請完成配置巡檢頁面涉及資源的RBAC授權,授予RAM使用者指定叢集的管理員權限,以確保RAM使用者擁有操作配置巡檢頁面中涉及的Kubernetes資源的許可權。具體操作,請參見為RAM使用者或RAM角色授予RBAC許可權。
執行巡檢
登入Container Service管理主控台,在左側導覽列選擇叢集。
在叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇 。
可選:按照頁面提示安裝並升級巡檢組件。
巡檢組件security-inspector本身不計費,但會佔用您的Pod資源。組件介紹及變更記錄,請參見security-inspector。
執行巡檢。
重要請在業務低峰期執行巡檢操作。
預設巡檢所有支援的檢查項,您可以在配置巡檢頁面右上方,單擊巡檢配置,然後配置巡檢時執行的檢查項。更多資訊,請參見檢查項。
立即執行:在配置巡檢頁面右上方,單擊立即執行巡檢。
定期執行:在配置巡檢頁面右上方,單擊巡檢配置,然後選中定期巡檢,並配置巡檢周期。
等待巡檢完成後,在巡檢詳情頁簽,單擊巡檢結果對應操作列中的詳情,查看檢查結果。
巡檢詳情
巡檢詳情頁面通過表格化的方式展示不同工作負載的詳細巡檢結果,主要包括以下功能:
支援按照是否有風險、命名空間、工作負載類別等條件對結果進行過濾展示工作負載的巡檢通過項和風險項數量。
展示巡檢結果的各個檢查項的詳細資料,包括Pod和Container維度檢查狀態(已通過、未通過)、檢查項詳細說明以及加固建議。如有未通過的檢查項無需處理,您可以將其加入白名單。
查看工作負載的YAML檔案。
巡檢報告
巡檢報告頁面主要展示最近執行的巡檢掃描結果,主要包括以下幾類資訊:
掃描結果概覽,包括總的檢查條目數、檢查各個資源項數目及百分比、整體的健康度。
各大類掃描結果統計,包括報告健全狀態檢查、鏡像、網路、資源、安全等大類的結果。
各個Workload配置的詳細掃描結果,包括資源類別、資源名稱、命名空間、檢查類型、檢查項、檢查結果等內容。
檢查項
配置巡檢功能會掃描並展示以下檢查項的掃描結果。
檢查項ID | 檢查項 | 檢查的內容及安全風險 | 修複建議 |
hostNetworkSet | 禁止容器共用主機的網路命名空間 | 通過檢查Workload的Pod spec中是否配置了 | 修改Pod spec,刪除 樣本: |
hostIPCSet | 禁止容器共用主機的IPC命名空間 | 通過檢查Workload的Pod spec中是否配置了 | 修改Pod spec,刪除 樣本: |
hostPIDSet | 禁止容器共用主機的PID命名空間 | 通過檢查Workload的Pod spec中是否配置了 | 修改Pod spec,刪除 樣本: |
hostPortSet | 禁止容器內進程監聽節點主機連接埠 | 通過檢查Workload的Pod spec中是否配置了 | 修改Pod spec,刪除 樣本: |
runAsRootAllowed | 禁止以root使用者啟動容器 | 通過檢查Workload的Pod spec中是否未配置 | 修改Pod spec,增加 樣本: |
runAsPrivileged | 禁止以特權模式啟動容器 | 通過檢查Workload的Pod spec中是否配置了 | 修改Pod spec,刪除 樣本: |
privilegeEscalationAllowed | 禁止容器內子進程擁有提升許可權的能力 | 通過檢查Workload的Pod spec中是否未配置 | 修改Pod spec,增加 樣本: |
capabilitiesAdded | 禁用非必需的Linux Capabilities | 通過檢查Workload的Pod spec中的 | 修改Pod spec,根據實際需求只添加必需的Linux Capabilities,刪除不需要的Linux Capabilities。 不依賴額外Linux Capabilities,刪除所有不需要的Linux Capabilities。樣本: 只添加必需的Linux Capabilities,刪除所有不需要的Linux Capabilities。樣本: |
notReadOnlyRootFileSystem | 開啟容器內的檔案系統唯讀功能 | 通過檢查Workload的Pod spec中是否未配置 | 修改Pod spec,增加 樣本: 如果需要修改某個目錄下的檔案,通過 樣本: |
cpuRequestsMissing | 配置運行容器所需的最少CPU資源 | 通過檢查Workload的Pod spec中是否未配置 | 修改Pod spec,增加 樣本: |
cpuLimitsMissing | 限制運行容器可使用的最大CPU資源 | 通過檢查Workload的Pod spec中是否未配置 | 修改Pod spec,增加 樣本: |
memoryRequestsMissing | 配置運行容器所需的最少記憶體資源 | 通過檢查Workload的Pod spec中是否未配置 | 修改Pod spec,增加 樣本: |
memoryLimitsMissing | 限制容器可使用的最大記憶體資源 | 通過檢查Workload的Pod spec中是否未配置 | 修改Pod spec,增加 樣本: |
readinessProbeMissing | 配置容器就緒探針 | 通過檢查Workload的Pod spec中是否未配置 | 修改Pod spec,增加 樣本: |
livenessProbeMissing | 配置容器存活探針 | 通過檢查Workload的Pod spec中是否未配置 | 修改Pod spec,增加 樣本: |
tagNotSpecified | 容器使用明確的鏡像版本 | 通過檢查Workload的Pod spec中的 | 修改Pod spec,修改 樣本: |
anonymousUserRBACBinding | 禁止匿名使用者存取叢集 | 通過檢查叢集內的RBAC(Role-based access control)綁定找出配置了匿名使用者存取許可權的配置項。如果配置了允許匿名使用者存取叢集資源的配置項,則存在被惡意匿名使用者竊取叢集敏感資訊、攻擊和入侵叢集的風險。 | 修改掃描出來的RBAC綁定,根據實際情況刪除允許匿名使用者存取叢集資源的許可權配置項。 樣本: |
事件
事件類型 | 事件名稱 | 事件內容樣本 | 事件說明 | 處理措施 |
Normal | SecurityInspectorConfigAuditStart | Start to running config audit | 開始執行巡檢任務。 | 無需處理。 |
Normal | SecurityInspectorConfigAuditFinished | Finished running once config audit | 巡檢任務執行完成。 | 無需處理。 |
Warning | SecurityInspectorConfigAuditHighRiskFound | 2 high risks have been found after running config audit | 巡檢執行完之後,發現部分工作負載存在未修複的高風險檢查項。 |
|