安全体系概述

更新时间: 2024-03-22 13:15:11

本文从运行时安全、可信软件供应链和基础架构安全三个维度介绍阿里云容器计算服务(ACS)的安全体系,包括安全巡检、策略管理、运行时监控和告警、镜像扫描、镜像签名、云原生应用交付链、默认安全、身份管理、细粒度访问控制等。

61.png

运行时安全

安全沙箱管理:相比于原有Docker运行时,安全沙箱为您提供了一种新的容器运行时选项,可以让您的应用运行在一个轻量虚拟机沙箱环境中,拥有独立的内核,具备更好的安全隔离能力。安全沙箱特别适合于不可信应用隔离、故障隔离、性能隔离、多用户间负载隔离等场景。在提升安全性的同时,对性能影响非常小,并且具备与Docker容器一样的用户体验,例如日志、监控、弹性等。

可信软件供应链

  • 镜像扫描

    容器镜像服务支持所有基于Linux的容器镜像安全扫描,可以识别镜像中已知的漏洞信息。您可以收到相应的漏洞信息评估和相关的漏洞修复建议,为您大幅降低使用容器的安全风险。容器镜像服务也接入了云安全的扫描引擎,可支持镜像系统漏洞、镜像应用漏洞和镜像恶意样本的识别。

  • 镜像签名

    在容器镜像管理中,您可以通过内容可信的机制保障镜像来源的安全性及不被篡改。镜像的创建者可以对镜像做数字签名,数字签名将保存在容器镜像服务中。通过在部署前对容器镜像进行签名验证可以确保集群中只部署可信授权方签名的容器镜像,降低在您的环境中运行意外或恶意代码的风险,确保从软件供应链到容器部署流程中应用镜像的安全和可溯源性。

  • 云原生应用交付链

    在容器安全高效交付场景中,您可以使用容器镜像服务的云原生应用交付链功能,配置镜像构建、镜像扫描、镜像全球同步和镜像部署等,自定义细粒度安全策略,实现全链路可观测、可追踪的安全交付。保障代码一次提交,全球多地域安全分发和高效部署,将DevOps的交付流程全面升级成DevSecOps。关于云原生应用交付链的详细介绍,请参见创建交付链

基础架构安全

  • 默认安全

    阿里云容器计算服务ACS集群节点,ControlPlane组件配置基于K8s安全基线加固,且集群内所有系统组件均依据容器安全最佳实践进行了组件配置上的加固,同时保证系统组件镜像没有严重级别的CVE漏洞。

    在托管集群的Worker节点上,遵循权限最小化原则,节点上绑定的RAM角色对应的阿里云资源访问权限经过了最小化收敛。更多信息,请参见授权最佳实践

  • 身份管理

    ACS集群内所有组件之间的通讯链路均需要TLS证书校验,保证全链路通讯的数据传输安全,同时ACS管控侧会负责集群系统组件的证书自动更新。RAM账号或角色扮演用户均可以通过控制台或OpenAPI的方式获取连接指定集群API Server的Kubeconfig访问凭证,具体操作,请参见获取集群KubeConfig并通过kubectl工具连接集群。ACS负责维护访问凭证中签发的身份信息,对于可能泄露的已下发Kubeconfig,可以及时进行吊销操作,具体操作,请参见吊销集群的KubeConfig凭证

  • 细粒度访问控制

    基于Kubernetes RBAC实现了对ACS集群内Kubernetes资源的访问控制,它是保护应用安全的一个基本且必要的加固措施。ACS在控制台的授权管理页面中提供了命名空间维度的细粒度RBAC授权能力,主要包括以下几点。

    • 根据企业内部不同人员对权限需求的不同,系统预置了管理员、运维人员、开发人员等对应的RBAC权限模板,降低了RBAC授权的使用难度。

    • 支持多集群和多个子账号的批量授权。

    • 支持RAM角色扮演用户的授权。

    • 支持绑定用户在集群中自定义的ClusterRole。

    更多信息,请参见配置RAM用户或RAM角色RBAC权限

  • Secret落盘加密

    Kubernetes原生的Secret模型在etcd落盘时只经过了Base64编码,为了保护Secret中敏感数据的落盘安全性,在ACS集群中,您可以使用在阿里云密钥管理服务KMS(Key Management Service)中创建的密钥加密Kubernetes集群Secret,实现应用敏感数据的落盘加密。