Linkerd 2.3正式发布:为Kubernetes提供零接触、零信任网络


今天,我们很高兴能够正式推出Linkerd 2.3。这套毕业版本的发布,标志着mTLS已经由实验环境正式成长为一项全面支持功能,同时带来一系列重要的安全基元。最重要的是,Linkerd 2.3在默认设置下即可在网格服务之间提供经过身份验证的保密通信能力。

这也意味着在一年多之前刚刚着手解决这项挑战时,我们所面临的问题获得了理想的答案:我们能否为Kubernetes提供易用性甚至高于非安全通信机制的安全通信能力?

这不仅仅是一个理论层面的问题。在目前这个大多数网络浏览器与网络站点都自带加密与身份验证,而用户则完全无需为安全忧心的世界当中,Kubernetes服务一直以无身份验证以及明文方式进行通信才是最奇怪、或者说无法接受的情况。为什么相较于在Reddit上随意乱逛,在安全性方面反而高于我们探索自己的应用程序内部架构?这不合常理,也无法接受。

保护各Kubernetes服务之间的通信内容,是实现零信任网络体系的重要一步。在零信任方法当中,我们不再对数据中心安全边界做出种种不切实际的假设,而是将与身份验证、授权以及机密性相关的要求“落地”至各个单元。在Kubernetes术语当中,这意味着上述要求将运行在各集群内以验证、授权并加密对应通信内容。

然而,会给用户带来负担的安全保障机制(特别是复杂的设置与配置要求)绝不可能是良好的安全方案。如果零信任真的会成为Kubernetes未来网络安全的基础,那么零信任原则的采用成本也必须尽可能接近于零。在Linkerd 2.3当中,我们决定直面这一挑战:
  • 控制平面中附带证书颁发机制(简称为「身份」)。
  • 数据平面各代理从身份服务处接收TLS证书,该证书与代理所归属的Kubernetes服务账户绑定,且每24小时进行一次轮换。
  • 数据平面各代理会自动对网格服务间的通信进行升级,从而利用证书实现TLS连接的验证与加密。
  • 由于控制平面同样运行在数据平面之上,因此控制平面各组件之间的通信也将以同样的方式得到保护。


以上提到的一切都将默认启用,不需要额外配置。换言之,从2.3版本开始,Linkerd将为您的全部网格服务之间提供经过加密以及身份验证的通信通道,而用户则可直接享受一切“胜利果实”。虽然单凭这一次升级还无法实现Kubernetes中建立零信任网络的全部要求,但这仍然是一次重要的开端与尝试。

此版本代表着Linkerd安全路线图的重大进步。在即将发布的博文当中,Linkerd缔造者Oliver Gould将详尽介绍这种方法在设计过程中的权衡,同时讲解Linkerd即将逐步实施的证书链、TLS实现、服务账户外身份与授权等发展路线图。再有,我们还计划于2019年4月24日星期三上午10点(太平洋时间)召开Linkerd在线社区会议,这些主题(以及2.3版本带来的其它有趣功能)当然也将成为会上的讨论热点。

准备好进行体验了吗?如果您一直在通过我们的每周边缘发行版关注2.x分支发布,那么可能已经对这些功能的实际应用体验非常熟悉。即使没有,您也可以通过运行以下命令下载我们的2.3稳定版本:
curl https://run.linkerd.io/install | sh

最后,还要向大家再做个汇报:2.3版本中采用的安全方法已经得到Smallstep、Cloudflare、Let’s Encrypt以及Mozilla等社区合作伙伴的应用,并帮助他们更好地实现互联网整体安全提升这一宏大愿景。

Linkerd是一个社区项目,由云原生计算基金会负责托管。如果您有任何功能要求、问题或者评论,我们诚挚邀请您加入我们蓬勃发展的年轻社区!Linkerd在GitHub拥有托管库,并通过SlackTwitter及邮件列表与世界各地的社区参与者积极沟通。快来加入吧!

原文链接:Announcing Linkerd 2.3: Towards Zero-Touch Zero-Trust Networking for Kubernetes

0 个评论

要回复文章请先登录注册