近期 Spring 漏洞等高危漏洞频发,为帮助用户更好地发现及降低镜像中的安全隐患,减少生产环境潜在安全风险,在 2022 年 4 月 1 日 00:00 - 2022 年 4 月 15 日 24:00 期间,阿里云容器镜像服务企业版(ACR EE) 支持免费试用体验云安全扫描引擎。支持不同镜像版本 1 万次扫描额度(以镜像 Digest 区分,相同 Digest 不限次扫描)。如果您当前企业版实例未默认开启使用,可以提工单(地址:https://selfservice.console.aliyun.com/ticket/category/acr/recommend/1230)申请。该扫描引擎由 ACR EE 与云安全深度合作提供,全面支持扫描容器镜像中的系统漏洞、应用漏洞、基线检查、恶意样本,提供持续的风险发现能力及自动修复能力。
容器安全重要性
随着企业上云率不断提升,越来越多的企业选择在生产环境中使用容器架构。基于 CNCF 2020 年发布的报告[1]中显示,在生产中应用容器的企业比例从去年的 84% 增长到 2021 年的 92%。Gartner 预测[2] 2025 年 95% 的企业将基于云原生平台。艾瑞咨询在《中国容器云市场研究报告》中显示,2020 年有 84.7%[3](43.9% 已经使用,40.8%计划使用)的中国企业已经或计划使用容器。同样,软件开发内生安全性将成为评价企业 DevOps 成熟度水平的重要指标,在实践了DevOps的团队中,48%[4]最看重 Security 特性。
但是由于容器应用具备的敏捷弹性、高密度部署、开放复用,让用户在享受云原生红利的同时,也产生了较大的安全担忧。Tripwire 2019 年对 311 位 IT 安全专业人员进行了调研,发现 60% 的组织都遭遇过容器安全事故[5] ,不管是 Kubernetes 集群被侵入事件还是 Docker Hub 频繁被爆含有漏洞和恶意程序的镜像,让越来越多的企业开始关注容器安全的最佳实践。
阿里云容器镜像服务企业版
阿里云容器镜像服务企业版(简称 ACR EE)是一个企业级的云原生应用制品管理平台,提供容器镜像、Helm Chart 等 OCI 制品安全托管和高效分发能力。在 DevSecOps 场景中,企业客户可以使用 ACR 云原生应用交付链,实现高效安全的云原生应用交付,加速企业的创新迭代。在全球多地域协作、业务出海、GoChina 场景,企业客户可以使用全球同步成能力,同时结合全球统一域名实现就近拉取,提升分发运维效率。在大规模分发、AI 大镜像训练推理场景,企业可以使用 ACR P2P 分发或按需分发能力,进一步提升部署迭代效率。查看详情:https://www.aliyun.com/product/acr
什么是增强型扫描引擎?
增强型扫描引擎由 ACR EE 和云安全中心深度合作提供,扫描能力相较于目前流行的开源扫描引擎版本(Clair等),提供了更精准的漏洞筛选能力(所有漏洞均经过专业团队安全运营,确保有效性,大幅降低误报率)。同时 ACR EE 提供了批量扫描和自动扫描的能力,支持命名空间和仓库不同粒度的扫描范围,可以针对不同场景诉求提供自动化、规模化扫描支持。此外 ACR EE 提供了事件通知能力,支持和客户现有的 DevOps 流程做集成。
目前扫描引擎支持的扫描风险类型如下:
- 系统漏洞:支持常见主流操作系统的漏洞识别,并支持一键修复。例如Linux内核漏洞、不安全的系统软件包、不安全的Java SDK等。
- 应用漏洞:提供镜像应用漏洞扫描功能,为您扫描容器相关中间件上的漏洞,支持包括系统服务弱口令、系统服务漏洞、应用服务漏洞的检测。例如fastjson远程代码执行漏洞、Apache Log4j2远程代码执行漏洞、Spring Framework远程代码执行漏洞、Apache Hadoop 信息泄露漏洞、Apache Tomcat信息泄露漏洞等。
- 基线检查:提供镜像安全基线检查功能,为您扫描容器资产中存在的基线安全风险,支持操作系统和服务(数据库、服务器软件、容器等)的弱口令、账号权限、身份鉴别、密码策略、访问控制、安全审计和入侵防范等安全配置,并提供检测结果,针对存在的风险配置给出加固建议。例如Access Key泄漏、未授权访问、服务配置等。
- 恶意样本:提供容器恶意样本的检测能力,为您展示资产中存在的容器安全威胁,帮助您找到存在恶意样本的位置,便于您根据位置修复恶意样本,大幅降低您使用容器的安全风险。例如发现后门(Webshell)文件、自变异木马、后门程序等。
如何启用增强型扫描引擎?
- 在企业版实例管理页面选择安全可信 > 镜像扫描,点击右上角的切换按钮,将扫描引擎切换到云安全扫描引擎。如下图所示:
- 在镜像扫描页面创建扫描规则,目前支持命名空间和仓库级别的扫描规则的自动扫描。也可以选择手动触发扫描,针对规则范围下的存量镜像进行全量风险识别。推荐您配置扫描事件通知,在镜像扫描完成后以钉钉、HTTP 或者 HTTPS 方式将扫描结果进行同步。
- 创建完扫描规则后,点击立即扫描,查看扫描任务状态及最终的风险状态。
- 点击查看详情,从系统漏洞、应用漏洞、基线检查、恶意样本多个维度确认容器镜像的安全风险。如下图所示,可以看到镜像中包含的近期 Spring 等高危漏洞已被分析识别出来。
- 同时配置的钉钉机器人也收到相应通知报警(也支持 HTTP/HTTPS 等方式进行通知)。
云原生应用交付链助力企业实现 DevSecOps
ACR EE 除了支持容器镜像的深度风险识别与修复,还提供了云原生应用交付链能力,支持灵活的安全策略保障制品更安全、高效交付上线。同时云原生应用交付链中的各个环节也可以被您的 CI/CD 流程(如 Jenkins Pipeline、GitLab Runner 等)集成使用。
- 升级企业版实例规格为高级版,在实例概览页点击云原生交付链 > 交付链,点击创建交付链。在安全扫描节点,设置当出现一个高危漏洞后,阻断容器镜像的后续交付,可选删除原始风险镜像或备份。
- 在交付链作用范围内,自动推送一个带有高危风险的容器镜像,会自动触发安全扫描并执行安全策略,阻断风险镜像部署。
3. 如果镜像存在系统漏洞,可以在交付链阻断之后进行一键修复
- 交付链被阻断
- 勾选所有风险项,点击一键修复
- 等待镜像修复完成,默认修复完成后会构建出 tag 以 _fixed 结尾的新镜像并重新触发交付链执行
- 可以观察到修复后镜像经过安全扫描后已经没有之前的漏洞,并且交付链也顺利执行完成,同时在镜像版本页面也可以看到原镜像和修复镜像的风险状态对比
附录
[1]Cloud Native Survey 2020
https://www.cncf.io/blog/2020/11/17/cloud-native
[2]Gartner:云将成为新数字体验的核心
[3]2020 年中国容器云市场研究报告——艾瑞云原生系列报告(一)
https://www.iresearch.com.cn/Detail/report?id=3701&isfree=0
[4]2020年中国 DevOps 应用发展研究——艾瑞云原生系列报告(二)
https://www.iresearch.com.cn/Detail/report?id=3702&isfree=0
[5] 60% of Organizations Suffered a Container Security Incident in 2018, Finds Study
https://www.tripwire.com/state-of-security/devops/organizations-container-security-incident/