Container Compute Service (ACS)提供了工作負載配置的巡檢功能,協助您掃描叢集中工作負載配置的安全隱患。執行巡檢任務後,ACS會產生巡檢報告,您可以根據報告結果查看並處理叢集風險項,即時瞭解叢集健康狀態。
前提條件
-
已建立ACS叢集。具體操作,請參見建立ACS叢集。
-
如果您當前使用的是RAM使用者,請確保已參見下方內容完成RAM授權和RBAC授權。
-
RAM授權
請完成容器計算服務ACS配置巡檢頁面的RAM授權操作,確保當前RAM使用者擁有操作當前叢集配置巡檢頁面的許可權,否則會出現許可權不足無法操作配置巡檢頁面功能的問題。具體操作,請參見為RAM使用者或RAM角色授予RAM許可權。
如果您還需要使用巡檢報告功能,請完成Log Service指定
logproject(當前叢集logtail-ds組件所使用的logproject)的RAM授權,確保當前RAM使用者擁有Log Service指定logproject的資料讀取許可權,否則會出現許可權不足無法查看巡檢報告的問題。具體操作,請參見RAM自訂授權樣本。 -
RBAC授權
請完成容器計算服務ACS配置巡檢頁面涉及資源的RBAC授權,授予RAM使用者指定叢集的管理員權限,以確保RAM使用者擁有操作配置巡檢頁面中涉及的Kubernetes資源的許可權。具體操作,請參見配置RAM使用者或RAM角色RBAC許可權。
-
啟用叢集工作負載配置巡檢功能
-
登入容器計算服務控制台,在左側導覽列選擇叢集列表。
-
在叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇 安全管理 > 配置巡檢。
-
可選:安裝並升級巡檢組件。
如果您首次使用未安裝巡檢組件,請按照頁面提示安裝security-inspector組件。若巡檢組件不是最新版本,請按照頁面提示將組件升級至最新版本。組件安裝完成後,您也可以在叢集資訊頁面的概覽頁簽,單擊安全巡檢進入配置巡檢頁面。
關於security-inspector組件的介紹和變更記錄,請參見security-inspector。
-
在配置巡檢頁面右上方,單擊立即執行巡檢,等待巡檢完成後,在巡檢詳情頁簽的操作列,單擊詳情查看巡檢詳情。
重要為了更好地提升系統的穩定性和高可用性,同時確保業務的連續性和使用者體驗,請在業務低峰期執行巡檢操作。
-
可選:在配置巡檢頁面右上方,單擊巡檢配置,開啟或禁用定期自動執行配置巡檢的功能以及配置巡檢時執行的檢查項。
巡檢詳情
巡檢詳情頁面通過表格化的方式展示不同工作負載的詳細巡檢結果,主要包括以下功能:
-
支援按照是否有風險、命名空間、工作負載類別等條件對結果進行過濾展示工作負載的巡檢通過項和風險項數量。
-
展示巡檢結果的各個檢查項的詳細資料,包括Pod和容器維度檢查狀態(已通過、未通過)、檢查項詳細說明以及加固建議。如有未通過的檢查項無需處理,您可以將其加入白名單。
-
查看工作負載的YAML檔案。
巡檢報告
巡檢報告中主要展示最近執行的巡檢掃描結果,主要包括以下幾類資訊:
-
掃描結果概覽,包括總的檢查條目數、檢查各個資源項數目及百分比、整體的健康度。
-
各大類掃描結果統計,包括報告健全狀態檢查、鏡像、網路、資源、安全等大類的結果。
-
各個工作負載配置的詳細掃描結果,包括資源類別、資源名稱、命名空間、檢查類型、檢查項、檢查結果等內容。
檢查項
配置巡檢功能會掃描並展示以下檢查項的掃描結果。
|
檢查項名稱 |
檢查的內容及安全風險 |
修複建議 |
|
hostNetworkSet |
通過檢查工作負載的Pod Spec中是否配置了 |
修改Pod Spec,刪除 樣本:
|
|
hostIPCSet |
通過檢查工作負載的Pod Spec中是否配置了 |
修改Pod Spec,刪除 樣本:
|
|
hostPIDSet |
通過檢查工作負載的Pod Spec中是否配置了 |
修改Pod Spec,刪除 樣本:
|
|
hostPortSet |
通過檢查工作負載的Pod Spec中是否配置了 |
修改Pod Spec,刪除 樣本:
|
|
runAsRootAllowed |
通過檢查工作負載的Pod Spec中是否未配置 |
修改Pod Spec,增加 樣本:
|
|
runAsPrivileged |
通過檢查工作負載的Pod Spec中是否配置了 |
修改Pod Spec,刪除 樣本:
|
|
privilegeEscalationAllowed |
通過檢查工作負載的Pod Spec中是否未配置 |
修改Pod Spec,增加 樣本:
|
|
capabilitiesAdded |
通過檢查工作負載的Pod Spec中的 |
修改Pod Spec,根據實際需求只添加必需的Linux Capabilities,刪除不需要的Linux Capabilities。 不依賴額外Linux Capabilities,刪除所有不需要的Linux Capabilities。樣本:
只添加必需的Linux Capabilities,刪除所有不需要的Linux Capabilities。樣本:
|
|
notReadOnlyRootFileSystem |
通過檢查工作負載的Pod Spec中是否未配置 |
修改Pod Spec,增加 樣本:
如果需要修改某個目錄下的檔案,可以通過 樣本:
|
|
cpuRequestsMissing |
通過檢查工作負載的Pod Spec中是否未配置 |
修改Pod Spec,增加 樣本:
|
|
cpuLimitsMissing |
通過檢查工作負載的Pod Spec中是否未配置 |
修改Pod Spec,增加 樣本:
|
|
memoryRequestsMissing |
通過檢查工作負載的Pod Spec中是否未配置 |
修改Pod Spec,增加 樣本:
|
|
memoryLimitsMissing |
通過檢查工作負載的Pod Spec中是否未配置 |
修改Pod Spec,增加 樣本:
|
|
readinessProbeMissing |
通過檢查工作負載的Pod Spec中是否未配置 |
修改Pod Spec,增加 樣本:
|
|
livenessProbeMissing |
通過檢查工作負載的Pod Spec中是否未配置 |
修改Pod Spec,增加 樣本:
|
|
tagNotSpecified |
通過檢查工作負載的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 |
巡檢執行完之後,發現部分工作負載存在未修複的高風險檢查項。 |
|