作者 | 匡大虎
起源 | 阿里巴巴云原生公众号
云原生过程中的容器平安挑战
云原生的炽热带来了企业基础设施和利用架构等技术层面的变革,在云原生的大势所趋下,越来越多的企业抉择拥抱云原生,在 CNCF 2020 年度的调研报告中,曾经有 83% 的组织在生产环境中抉择 Kubernetes,容器曾经成为利用交付的规范,也是云原生时代计算资源和配套设施的交付单元。显然,容器曾经成为利用交付的规范,也是云原生时代计算资源和配套设施的交付单元。
然而,因为在隔离和安全性方面存在的人造缺点,平安始终是企业进行容器革新化过程中关注的外围问题之一。来到云原生时代,企业又将面临哪些容器平安新挑战?
- 短少体系化的容器平安能力建设:传统的企业应用平安模型通常基于外部架构不同的信赖域来划分对应的平安边界,在信赖域内的东西向服务交互被认为是平安的。而上云后企业应用须要在 IDC 和云上部署和交互,在物理平安边界隐没后,如何在零信赖的网络安全模型下构建企业级容器平安体系是云服务商须要解决的重要问题。
- 更多的攻击面:基于容器技术的利用部署依赖 Linux 内核 namespaces 和 cgroups 等个性,从攻击者的角度登程,能够利用内核系统漏洞,容器运行时组件和容器利用部署配置等多个维度发动针对性的逃逸和越权攻打。K8s、Docker、Istio 等开源社区近年来也相继爆出不少的高危破绽,这都给攻击者提供了可乘之机。
- 短少利用侧全生命周期的平安防护伎俩:容器技术在为企业应用架构提供了弹性、麻利和动静可扩大等个性的同时,也扭转了利用的部署模式。首先利用本身的生命周期被大幅缩短,一个容器利用的生命周期通常是分钟级;与此同时,随着存储网络和异构资源利用率等基础设施能力上的晋升,容器利用的部署密度也越来越高,传统的面向虚机维度的平安防护策略和监控告警伎俩曾经无奈适应容器技术的需要。
- 短少对云上平安责任共担模型的了解:企业应用上云后的平安须要遵循责任共担模型,在企业应用架构云原生话的转型过程中,须要企业应用管理者和平安运维人员了解企业本身和云服务商之前的责任边界。这个过程中也须要云服务商面向企业应用侧输入更全面的容器平安最佳实际并晋升平安能力的易用性,升高应用门槛。
构建容器平安体系的根本准则
为了应答上述企业应用在容器化过程中的平安挑战,云服务商和企业应用平安治理运维人员须要携手共建容器利用平安体系:
图 1 – ACK 容器服务平安责任共担模型
1. 云服务供应侧
对于 云服务商,首先须要依靠于云平台本身的平安能力,构建平安稳固的容器基础设施平台,并且面向容器利用从构建,部署到运行时刻的全生命周期构建对应的平安防护伎俩。整个平安体系的构建须要遵循如下根本准则:
1)保障容器管控平台基础设施层的默认平安
容器平台基础设施层承载了企业应用的管控服务,是保障业务利用失常运行的要害,容器平台的安全性是云服务商应该分外关注的。
- 齐备的平台平安能力:首先云服务商本身基础设施的安全性是容器平台是否平安的根底,比方 VPC 的平安配置能力,SLB 的访问控制,DDoS 能力和账号系统对云资源的访问控制能力等都是平台侧面向企业应用须要提供的根底平安能力。
- 版本更新和破绽应急响应机制:虚机 OS 的版本更新和漏洞补丁的装置能力也是保障基础设施平安的根本防护措施,除此之外如 K8s 等容器相干开源社区的危险破绽,都可能成为歹意攻击者首选的攻打门路,须要厂商提供破绽的分级响应机制并提供必要的版本升级能力。
- 平台的平安合规性:这也是很多金融企业和政府部门利用上云的硬性前提条件。云服务商须要基于业界通用的平安合规规范,保障服务组件配置的默认安全性,同时面向平台用户和平安审计人员,提供齐备的审计机制。
2)面向容器利用侧提供纵深防御能力
云服务商不仅要在本身管控侧建设欠缺的平安武装,同时也须要面向业务利用负载,提供适宜云原生场景下容器利用的平安防护伎俩,帮忙终端用户在利用生命周期各阶段都能有对应的平安治理计划。因为云原生具备动静弹性的基础设施,分布式的利用架构和翻新的利用交付运维形式等特点,这就要求云服务商可能联合本身平台的根底平安能力,将云原生能力个性赋能于传统的平安模型中,构建面向云原生的新平安体系架构。
2. 企业平安侧
对于企业的平安治理和运维人员来说,首先须要了解云上平安的责任共担模型边界,到底企业本身须要承当起哪些平安责任。云原生微服务架构下企业应用在 IDC 和云上进行部署和交互,传统的网络安全边界曾经不复存在,企业应用侧的网络安全架构须要遵循零信赖平安模型,基于认证和受权重构访问控制的信赖根底。对于企业平安管理人员来说能够参考关注如下方向加固企业应用生命周期中的生产平安:
- 保障利用制品的供应链平安
云原生的倒退使得越来越多的大规模容器利用开始在企业生产环境上部署,也大大丰盛了云原生利用制品的多样性,像容器镜像和 helm charts 都是常见的制品格局。对于企业来说制品供应链环节的安全性是企业应用生产平安的源头,一方面须要在利用构建阶段保障制品的安全性;另一方面须要在制品入库,散发和部署时刻建设对应的访问控制,平安扫描、审计和准入校验机制,保障制品源头的安全性。
- 权限配置和凭证下发遵循权限最小化准则
基于对立的身份标识体系进行认证受权是在零信赖平安模型下构建访问控制能力的根底。对于企业平安管理人员来说,须要利用云服务商提供的访问控制能力,联合企业外部的权限账号体系,严格遵循权限最小化准则配置对云上资源和容器侧利用资源的拜访控制策略;另外严格控制资源拜访凭证的下发,对于可能造成越权攻击行为的已下发凭证要及时撤消。另外要防止容器利用模板配置如特权容器这样的过大权限,确保最小化攻击面。
- 关注利用数据和利用运行时刻平安
利用的胜利部署上线并不意味着平安工作的完结。除了配置齐备的资源申请审计外,平安治理运维人员还须要利用厂商提供的运行时刻监控告警和事件告诉等机制,放弃对容器利用运行时平安的关注,及时发现平安攻打事件和可能的安全隐患。对于企业应用本身依赖的敏感数据(比方数据库明码,利用证书私钥等)须要依据利用数据的安防等级采纳对应的密钥加密机制,利用云上的密钥治理计划和落盘加密,秘密计算等能力,保证数据在传输和落盘链路上的数据安全性。
- 及时修复安全漏洞和进行版本更新
无论是虚机系统,容器镜像或是容器平台本身的安全漏洞,都有可能被歹意攻击者利用成为入侵利用外部的跳板,企业平安治理运维人员须要依据云服务商举荐的领导计划进行安全漏洞的修复和版本更新(比方 K8s 集群版本,利用镜像版本等)。此外企业要负责外部员工的平安培训工作,居安思危,晋升平安防护意识也是企业平安生产的根底要务。
端到端的云原生容器平安架构
阿里云 ACK 容器服务面向宽广的企业级客户,构建了残缺的容器平安体系,提供了端到端的利用平安能力。在往年 Forrester IaaS 平安评测中,阿里云容器平安能力与谷歌并列满分,当先其余厂商。下图为阿里云容器服务的平安体系架构图:
图 2 – ACK 容器服务平安体系架构图
首先整个容器平安体系依靠于阿里云弱小的平台平安能力,包含物理 / 硬件 / 虚拟化以及云产品安全能力,构建了夯实的平台平安底座。
在云平台平安层之上是容器基础设施平安层,容器基础设施承载了企业容器利用的管控能力,其默认安全性是利用可能稳固运行的重要根底。首先面向集群 host 节点 OS 镜像自身阿里云操作系统团队做了很多平安加固相干工作,Alibaba Cloud Linux 2 (原 Aliyun Linux 2) 不仅是阿里云官网操作系统镜像,也是 ACK 的首选默认零碎镜像。Alibaba Cloud Linux 2 在 2019 年 8 月 16 日正式通过了 CIS 组织的全副认证流程并公布对应的 CIS Aliyun Linux 2 Benchmark version 1.0.0。ACK 正在反对对基于 Alibaba Cloud Linux 操作系统的集群进行 CIS 平安加固来满足简略、快捷、稳固、平安的应用需要。除 CIS 合规外,2021 年 1 月,ACK 曾经正式反对对基于 Alibaba Cloud Linux 操作系统的集群进行等保加固。
在容器管控侧,阿里云容器服务基于 CIS Kubernetes 等业界平安规范基线对容器管控面组件配置进行默认的平安加固,同时遵循权限最小化准则收敛管控面零碎组件和集群节点的默认权限,最小化攻击面。三月,阿里云容器服务提交的 CIS Kubernetes benchmark for ACK 正式通过 CIS 社区组织的认证审核,成为国内首家公布 CIS Kubernetes 国内 平安规范基线 的云服务商。
对立的身份标识体系和拜访控制策略模型是在零信赖平安模型下构建平安架构的外围,ACK 管控侧和阿里云 RAM 账号零碎买通,提供了基于对立身份模型和集群证书拜访凭证的自动化运维体系,同时面对用户凭证泄露的危险,翻新的提出了用户凭证撤消的计划,帮忙企业平安管理人员及时撤消可能泄露的集群拜访凭证,防止越权拜访攻打事件。
针对密钥治理、访问控制、日志审计这些企业应用交互拜访链路上要害的平安因素,ACK 容器服务也提供了对应的平台侧平安能力:
- 访问控制:ACK 基于 K8s RBAC 策略模型提供集群内利用资源的访问控制能力,在保障非主账号或集群创建者默认无权限的平安前提下,集群管理员能够通过控制台或 OpenAPI 的形式对指定的子账号或 RAM 角色进行集群和账号维度的批量 RBAC 受权,ACK 面向企业常见受权场景,提供了四种预置的权限模板,进一步升高了用户对 RBAC 及 K8s 资源模型的学习老本。对于利用容器中通常依赖的集群拜访凭证 serviceaccount,ACK 集群反对开启针对 serviceaccount 的令牌卷投影个性,反对对 sa token 配置绑定 audience 身份,并且反对过期工夫的设置,进一步晋升了利用对管控面 apiserver 的访问控制能力。
- 密钥治理:针对企业客户对数据安全自主性和合规性的要求,ACK Pro 集群反对对 K8s Secret 的落盘加密能力,同时反对应用 BYOK 的云盘加密能力,保障企业外围数据安心上云;同时 ACK 集群反对将用户托管在阿里云 KMS 凭据管家中的敏感信息实时同步到利用集群中,用户在 K8s 利用中间接挂载凭据同步的指定 secret 实例即可,进一步防止了对利用敏感信息的硬编码问题。
- 日志审计:ACK 除了反对 K8s 集群 audit 审计,controlplane 管控面组件日志等根本的管控面日志采集外,还反对对 Ingress 流量的日志审计和基于 NPD 插件的异样事件告警。以上日志审计能力均对接了阿里云 SLS 日志服务,通过 SLS 服务提供的疾速检索、日志剖析和丰盛的 dashboard 展现能力,大大降低了对容器利用开发运维和平安审计的难度。
面向容器应用层在供应链和运行时刻的平安挑战,阿里云从容器利用的构建、部署到运行全生命周期,提供全方位笼罩的平安能力:
图 3 – ACK 容器服务利用全生命周期平安能力
- 利用构建阶段
据 Prevasio 对于托管在 Docker Hub 上 400 万个容器镜像的考察统计,有 51% 的镜像存在高危破绽;另外有 6432 个镜像被检测出蕴含歹意木马或挖矿程序,而光这 6432 个歹意镜像就曾经被累计下载了 3 亿次。
如何应答这些埋伏于镜像制品中的平安挑战,一方面要求企业应用开发者在构建利用镜像时应用可信的根底镜像,规范化镜像构建流程, 保障镜像最小化;另一方面阿里云 ACR 容器镜像服务针对镜像构建流程中的平安危险,提供了仓库权限的访问控制,操作审计和镜像平安扫描等根底能力。其中镜像平安扫描是用户可能被动发现安全漏洞的根底伎俩,ACR 容器镜像服务和阿里云云平安核心提供了不同版本的镜像破绽库,在反对镜像深度扫描的同时具备破绽库的实时更新能力,满足企业平安合规需要。在阿里云容器镜像服务企业版中还能够通过创立和治理交付链实例,将平安扫描和散发流程自由组合并内置到自动化工作中并且主动拦挡蕴含破绽的镜像,确保散发到仓库中镜像的安全性。
在镜像构建环节,除了及时发现镜像破绽,如何在保障镜像在散发和部署时刻不被歹意篡改也是重要的平安防护伎俩,这就须要镜像的完整性校验。在阿里云容器服务企业版实例中,企业平安管理人员能够配置加签规定用指定的 KMS 密钥主动加签推送到仓库中的镜像。
- 利用部署时刻
K8s 原生的 admission 准入机制为利用部署时刻提供了人造的校验机制。
滥用特权容器,敏感目录挂载,以 root 用户启动容器,这些常见的利用模板配置都很可能成为容器逃逸攻打的跳板。K8s 原生的 PSP 模型通过策略定义的形式束缚利用容器运行时刻的平安行为。ACK 容器服务提供面向集群的策略管理性能,帮忙企业平安运维人员依据不同的平安需要定制化 PSP 策略实例,同时绑定到指定的 ServiceAccount 上,对 PSP 个性的一键式开关也面向用户屏蔽了其简单的配置门槛。此外,ACK 容器服务还反对 gatekeeper 组件的装置治理,用户能够基于 OPA 策略引擎更为丰盛的场景下定制安全策略。
针对利用镜像在部署时刻的平安校验需要,谷歌在 18 年率先提出了 Binary Authorization 的产品化解决方案。ACK 容器服务也在去年初正式落地了利用部署时刻的镜像签名和验签能力。通过装置定制化的 kritis 组件,企业平安运维人员能够通过定制化的验签策略保障利用部署镜像的安全性,避免被篡改的歹意镜像部署到企业生产环境中。
图 4 – 一致性安全策略治理
- 利用运行时刻
企业应用的稳固运行离不开运行时刻的平安防护伎俩。ACK 容器服务和云平安核心团队单干,面向容器外部入侵,容器逃逸,病毒和恶意程序,异样网络连接等常见的运行时刻攻击行为进行实时监控和告警,同时云平安核心还提供了针对告警事件的溯源和攻打剖析能力。与此同时,ACK 容器服务基于业界平安基线和最佳实际,面向集群内运行利用提供了一键化的收费平安巡检能力,通过巡检工作及时裸露运行中容器利用在健康检查 / 资源限度 / 网络安全参数 / 平安参数等配置上不合乎基线要求的危险配置,并提醒用户修复倡议,防止可能产生的攻打。
对于平安隔离水平要求较高的企业客户能够抉择应用平安沙箱容器集群,平安沙箱容器基于轻量虚拟化技术实现,利用运行在独立的内核中,具备更好的平安隔离能力,实用于不可信利用隔离、故障隔离、性能隔离、多用户间负载隔离等多种场景。
对于金融领取,区块链等对数据计算过程中的完全性,完整性和机密性有强平安诉求的场景,能够抉择部署应用 ACK-TEE 秘密计算托管集群,其中秘密计算基于 Intel SGX 技术,反对将重要的数据和代码避免在一个非凡的可信执行加密环境(Trusted Execution Environment,TEE)中,而不会裸露给零碎其余局部。其余利用、BIOS、OS、Kernel、管理员、运维人员、云服务商、甚至除了 CPU 以外的其余硬件均无法访问秘密计算平台数据,极大缩小敏感数据的泄露危险。
图 5 – 容器利用平安配置巡检
图 6 – 容器利用运行时刻安全监控
平安是企业上云的首要关切
平安是企业上云的首要关切。随着云原生对计算基础设施和企业应用架构的重定义,容器作为云的新界面,也将紧跟云原生的倒退大潮,向更加平安、可信的方向倒退。将来,阿里云容器服务将始终以“让企业释怀上云,安心用云”为指标,在容器平安畛域放弃世界级的竞争力,在一直夯实本身基础设施平安的根底上,为客户的利用平安保驾护航。
参考资料
- 《RED KANGAROO》
- 《Binary Authorization》