場景介紹
【漏洞風險識别,自動阻斷】研發同學在代碼疊代過程中,由于依賴錯誤的 Base Image,導緻容器鏡像存在高危風險。基于雲原生應用傳遞鍊支援鏡像的自動安全掃描及政策阻斷。當安全政策沒有通過後,研發同學應用的上線被中斷,并收到一條通知資訊。
【漏洞一鍵修複,自動傳遞】研發同學通過控制台一鍵修複漏洞,自動觸發安全掃描。當安全政策驗證通過後,會自動觸發鏡像的簽名并傳遞至 ACK 部署。
前提條件
- 建立一個 ACR EE 執行個體-進階版,相關操作,請參考 建立企業版執行個體 。
- 完成企業版執行個體的初始化操作,添加一個 VPC 作為雲安全中心通路企業版執行個體的通道。相關操作,請參考配置 VPC 通路控制
- 開通 Codeup 代碼源,點選右側添加庫,選擇導入代碼庫。在導入代碼庫的彈框中,選擇 URL 導入。在源代碼庫位址中填寫: https://github.com/susanna8930/workshop 完成導入。
操作步驟
步驟一:綁定代碼源
登入
建立,點選個人設定,點選個人通路令牌。
- 在個人通路令牌中,選擇設定目前實驗所需的最小權限。
-
- 使用者相關資訊的隻讀權限:read:user
- 代碼庫的隻讀權限:read:repo
- 代碼庫分支的隻讀權限:read:repo:branch
- 代碼庫标簽的隻讀權限:read:repo:tag
- 代碼庫Webhook的全部讀寫權限:read:repo:webhook、write:repo:webhook
- 代碼組的全部讀權限:read:group
- 企業相關資訊的隻讀權限:read:org
- 在個人資訊中,對話框左側導航欄單擊 HTTPS 密碼,檢視克隆賬号。擷取對應的賬号名。
控制台,在代碼源部配置設定置前面擷取到的賬号名及個人通路令牌。
在代碼源頁面顯示 Codeup 已綁定,則說明綁定成功。參考關于
源代碼綁定的幫助文檔步驟二:建立源代碼倉庫
- 在企業版執行個體管理頁面左側導航欄,選擇倉庫管理 > 鏡像倉庫,點選建立鏡像倉庫。
- 建立命名空間 demo,倉庫名稱 workshop,設定倉庫類型為公開。(僅 Workshop 示意,不建議生産環境開啟)。
- 選擇預先導入的 Codeup 代碼倉庫,預設開啟代碼變更自動建構鏡像,點選建立鏡像倉庫。
- 在鏡像倉庫頁面,單擊目标倉庫右側操作列中的管理。單擊左側導航欄中的建構,在建構規則設定區域單擊添加規則,配置建構規則,然後單擊确定。
-
- 建構資訊頁面:選擇 Branch 類型,從下拉框中選擇 master 分支。
- 鏡像版本頁面:填寫鏡像版本 v1.0,點選儲存。
建立完成後,可在源代碼倉庫檢視對應的建構規則,點選立即建構,可從 Codeup 上拉取容器鏡像進行建構。
步驟三:建立雲原生應用傳遞鍊
- 在企業版執行個體管理頁面左側導航欄中選擇雲原生傳遞鍊 > 傳遞鍊。
- 在建立傳遞鍊頁面基本資訊區域,輸入以下資訊。
-
- 傳遞鍊名稱:設定傳遞鍊的名稱。
- (可選)傳遞鍊描述:設定傳遞鍊的基本描述。
- 傳遞鍊作用範圍:選擇前面建立的源代碼倉庫。
- 在傳遞鍊的安全掃描節點,配置一下資訊。
-
- 安全引擎:選擇雲安全中心安全引擎。
- 是否阻斷:選擇阻斷。
- 是否删除:選擇不删除。
- 漏洞等級:選擇高危,漏洞個數:1個。
步驟四:修改 Codeup 源代碼,觸發傳遞鍊自動建構及安全掃描
3. 點選操作詳情,檢視容器鏡像的漏洞情況。
步驟五:一鍵修複容器鏡像,再次觸發傳遞鍊流程
- 點選一鍵修複,選擇不覆寫,将以 _fixed 為字尾形成新的容器鏡像版本。點選立即修複。
2. 在傳遞鍊的執行記錄頁面,檢視目前傳遞鍊的執行情況。稍等片刻,發現容器鏡像已修複完成,順着傳遞鍊完成了後續流程。
3. 點選安全掃描節點,發現鏡像漏洞已經全部修複完成了。
總結
- 【安全政策】容器安全防護需要“左移”,從容器供應鍊源頭的建構階段就保障鏡像的内容安全可信。
- 【DevSecOps】基于 ACR 雲原生應用傳遞鍊,可将 DevOps 全面更新 DevSecOps。全鍊路可觀測、可追蹤、可自定義安全政策,保障端到端的容器業務安全。
附錄
- 完整 Demo 視訊
- 示意源代碼倉庫位址