對容器鏡像進行安全掃描之前,您需要將鏡像倉庫接入到云安全中心。本文介紹如何將鏡像倉庫接入云安全中心。
版本限制
鏡像限制
云安全中心支持接入的容器鏡像倉庫包括:
阿里云容器鏡像服務ACR:企業版和個人版。
目前云安全中心支持同步ACR企業版和個人版的鏡像數據,僅支持對ACR企業版鏡像進行鏡像安全掃描。
第三方鏡像倉庫(私有鏡像倉庫):Harbor鏡像倉庫、Quay鏡像倉庫、GitLab鏡像倉庫。
前提條件
接入阿里云容器服務鏡像倉庫
ACR個人版實例無限制,創建后即可接入云安全中心。將ACR企業版鏡像倉庫接入到云安全中心,只需為ACR企業版實例添加專有網絡,相關操作,請參見配置專有網絡的訪問控制。
云安全中心支持通過以下方式同步ACR企業版和個人版的鏡像數據:
自動同步:云安全中心默認每日凌晨同步容器鏡像服務ACR中的鏡像數據。
手動同步最新資產:具體操作,請參見同步最新資產。
接入第三方鏡像倉庫(私有鏡像倉庫)
如果您的容器鏡像倉庫設置了訪問控制策略,請確保已將鏡像倉庫對應的地域的地址池IP加入到訪問控制白名單中。
地域 | 公網IP | 私網IP |
華東1(杭州) | 47.96.166.214 | 100.104.12.64/26 |
華東2(上海) | 139.224.15.48、101.132.180.26、47.100.18.171、47.100.0.176、139.224.8.64、101.132.70.106、101.132.156.228、106.15.36.12、139.196.168.125、47.101.178.223、47.101.220.176 | 100.104.43.0/26 |
華北1(青島) | 47.104.111.68 | 100.104.87.192/26 |
華北2(北京) | 47.95.202.245 | 100.104.114.192/26 |
華北3(張家口) | 39.99.229.195 | 100.104.187.64/26 |
華北5(呼和浩特) | 39.104.147.68 | 100.104.36.0/26 |
華南1(深圳) | 120.78.64.225 | 100.104.250.64/26 |
華南3(廣州) | 8.134.118.184 | 100.104.111.0/26 |
中國香港 | 8.218.59.176 | 100.104.130.128/26 |
日本(東京) | 47.74.24.20 | 100.104.69.0/26 |
新加坡 | 8.219.240.137 | 100.104.67.64/26 |
美國(硅谷) | 47.254.39.224 | 100.104.145.64/26 |
美國(弗吉尼亞) | 47.252.4.238 | 100.104.36.0/26 |
德國(法蘭克福) | 47.254.158.71 | 172.16.0.0/20 |
英國(倫敦) | 8.208.14.12 | 172.16.0.0/20 |
印度尼西亞(雅加達) | 149.129.238.99 | 100.104.193.128/26 |
如果您的第三方鏡像服務是通過線下IDC+云上VPC的混合云方式來部署的,您需要配置流量的轉發規則,即指定一臺ECS服務器,將其訪問流量轉發到第三方鏡像服務所在的IDC服務器上。
示例:將執行轉發任務的ECS服務器中A端口的流量,轉發至第三方鏡像服務所在的IDC服務器192.168.XX.XX的B端口。
CentOS 7命令:
使用firewallcmd:
firewall-cmd --permanent --add-forward-port=port=<A端口>:proto=tcp:toaddr=<192.168.XX.XX>:toport=<B端口>
使用iptables:
開啟端口轉發。
echo "1" > /proc/sys/net/ipv4/ip_forward
設置端口轉發。
iptables -t nat -A PREROUTING -p tcp --dport <A端口> -j DNAT --to-destination <192.168.XX.XX>:<B端口>
Windows命令:
netsh interface portproxy add v4tov4 listenport=<端口A> listenaddress=* connectaddress=<192.168.XX.XX> connectport=<端口B> protocol=tcp
登錄云安全中心控制臺。在控制臺左上角,選擇需防護資產所在的區域:中國或全球(不含中國)。
在左側導航欄,選擇 。
在容器資產頁面的鏡像頁簽下,定位到三方鏡像倉接入區域,單擊接入。
在接入鏡像倉面板,配置接入私有倉庫的參數,最后單擊確定。
配置項
說明
私有倉庫類型
根據您容器鏡像存儲的鏡像倉庫選擇私有倉庫類型。目前支持選擇harbor、quay、gitlab類型的倉庫。
版本
選擇第三方鏡像倉庫的版本。可選項:
V1:鏡像倉庫版本為1.X.X時,選擇該版本。
V2:鏡像倉庫版本為2.X.X及以上時,選擇該版本。
私有倉庫類型選擇gitlab時,默認已選擇V1版本,不可修改。
通信類型
選擇云安全中心與第三方鏡像倉庫的通信協議。可選項:http、https。
網絡類型
選擇第三方鏡像倉庫的網絡類型。可選項:公網、VPC。
RegionId
選擇第三方鏡像倉庫所在區域。
IP
輸入第三方鏡像倉庫的IP地址和端口號。如果您為第三方鏡像配置了流量轉發規則,您需要填寫已配置了轉發規則的ECS的IP地址和端口號。
端口
域名
輸入第三方鏡像倉庫的域名。
限速
選擇每小時可接入的鏡像個數。默認為10。
重要如果每小時內接入的鏡像過多,可能會影響您的正常業務的運行,建議您謹慎選擇無限制。
用戶名
輸入訪問第三方鏡像倉庫時使用的具有管理員權限的用戶名。
密碼
輸入訪問第三方鏡像倉庫的密碼。
Quay名稱空間信息
僅私有倉庫類型選擇quay時需要配置該參數。
在鏡像倉庫組織文本框輸入鏡像倉庫組織的名稱,在Auth_token文本框輸入鏡像倉庫組織對應的Auth_token。
您可以單擊添加輸入多條鏡像倉庫組織信息。
gitlab群組信息
僅私有倉庫類型選擇gitlab時需要配置該參數。
在群組信息文本框輸入鏡像倉庫群組的名稱,在Access_token文本框輸入鏡像倉庫群組對應的Access_token。
您可以單擊添加輸入多條鏡像倉庫的群組信息。
接入第三方鏡像倉庫后,您可以在
頁面,單擊右上角的掃描設置,在掃描設置面板中查看已接入的鏡像倉庫信息。
鏡像接入錯誤碼
code | message | 解決方案 |
FailedToVerifyUsernameOrPwd | 用戶名或密碼驗證失敗 | 檢查用戶名、密碼是否正確。 |
RegistryVersionError | 鏡像倉庫版本錯誤 | 檢查鏡像倉的版本是否選擇正確。 |
UserDoesNotHaveAdminRole | 用戶沒有admin權限 | 前往harbor私服給用戶添加管理員權限。 |
NetworkConnectError | 網絡超時,請檢查網絡 | 檢查網絡是否連通、80或443端口是否開放。 |
后續步驟
將鏡像倉庫接入到云安全中心后,您可以在資產中心查看受到云安全中心防護的鏡像信息。具體操作,請參見查看容器安全狀態。
您還需要執行鏡像安全掃描操作,才能通過云安全中心檢測您的鏡像是否存在風險。具體操作,請參見配置和執行鏡像安全掃描。