容器計算服務 ACS(Container Compute Service)提供了工作負載配置的巡檢功能,幫助您掃描集群中工作負載配置的安全隱患。執行巡檢任務后,ACS會生成巡檢報告,您可以根據報告結果查看并處理集群風險項,實時了解集群健康狀態。
前提條件
已創建ACS集群。具體操作,請參見創建ACS集群。
如果您當前使用的是RAM用戶,請確保已參見下方內容完成RAM授權和RBAC授權。
RAM授權
請完成容器計算服務ACS配置巡檢頁面的RAM授權操作,確保當前RAM用戶擁有操作當前集群配置巡檢頁面的權限,否則會出現權限不足無法操作配置巡檢頁面功能的問題。具體操作,請參見為RAM用戶或RAM角色授予RAM權限。
如果您還需要使用巡檢報告功能,請完成日志服務指定
logproject
(當前集群logtail-ds組件所使用的logproject
)的RAM授權,確保當前RAM用戶擁有日志服務指定logproject
的數據讀取權限,否則會出現權限不足無法查看巡檢報告的問題。具體操作,請參見RAM自定義授權示例。{ "Version": "1", "Statement": [ { "Action": [ "log:Get*", "log:List*" ], "Resource": "acs:log:*:*:project/<指定的Project名稱>/*", "Effect": "Allow" } ] }
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 | 巡檢執行完之后,發現部分工作負載存在未修復的高風險檢查項。 |
|