查看原文
其他

Istio的安全机制防护

云安全 绿盟科技研究通讯 2021-03-12


一、Istio安全简介

Istio于北京时间7月31日晚24点发布1.0版本,首次可用于生产环境。目前Istio的安全机制主要包括基于RBAC的访问控制、认证策略、双向TLS认证、服务健康检查等几个方面[1],Istio 提供了安全操作指南以便于验证其安全机制,感兴趣的同学可以通过访问官方网站学习。

众所周知,将传统的单体应用拆分为一个个微服务固然带来了各种好处,包括更好的灵活性、可伸缩性,重用性,但微服务也同样面临着特殊的安全需求,如下所示:

(1) 为了抵制中间人攻击,需要对流量进行加密。

(2) 为了提供灵活的服务访问控制,服务间需要相互TLS和更细粒度的访问策略。

(3) 为了审核谁在什么时候做了什么,需要安全审计工具。

面对这些需求Istio尝试提供全面的安全解决方案,目前已提供了身份验证策略,透明的TLS加密以及授权和审计工具。借助这些安全机制,Istio推动如下安全目标:

(1) 默认的安全性:无需修改即可保证应用程序代码和架构的安全性。

(2) 纵深防御:与现有的安全系统结合并提供多层防御。

(3) 零信任网络:在不受信任的网络上构建安全解决方案。

需要说明的是,传统基础设施层实现纵深防御和零信任网络是通过网络层面的层层隔离和访问控制实现的,而微服务架构是工作在平台层,所以是通过应用层的认证授权的策略实现的。

Istio的安全防护机制如图1所示:

图1 Istio的安全机制

目前Istio已提供了一套高级别的安全架构,其安全性涉及Istio的多个重要组件:

(1)Citadel:用于管理密钥和证书

(2)sidecar和perimeter proxies:实现客户端和服务端之间的安全通信。

(3)Pilot:将身份验证策略和安全命名信息分派给代理。

(4)Mixer:用于管理授权和审计。

Istio的安全架构如图2所示:

图2 Istio的安全架构

Istio的安全解决方案主要通过在微服务所属容器旁部署一个Sidecar容器来对服务的安全进行防护。主要分为以下三个方面:

二、认证策略

 Istio的认证策略主要由两部分组成,分别为Peer策略(TLS相互认证)和Origin策略(验证发出请求源)。执行过程通常是使用Kubernetes中的自定义资源定义(CustomResourceDefinitionsCRD)去定义策略相关配置,然后由IstioPilot组件分发到Sidecar容器中去执行。认证策略架构如图3所示:

 3 Istio认证策略架构


三、服务间TLS身份验证

Istio使用TLS为每个微服务提供强大的身份验证机制,并通过角色管理来实现跨集群和云的功能。此外,TLS认证机制还确保了服务与服务之间的通信安全。

Istio官方给出的身份认证架构如图4所示,主要分为身份、密钥管理和通信安全三个组件。此图描述了服务frontend以服务账户frontend-team运行,服务backend以服务账户backend-team运行。它们的通讯原来是没有进行加密的,但Istio在不修改代码的前提下,依托Envoy形成的服务网格,直接在客户端Envoy和服务端Envoy之间进行通讯加密。

 4 Istio TLS身份认证架构图

四、基于RBAC的访问控制

Istio为Service Mesh中的微服务提供基于角色的访问控制(Role-Based Access Control,RBAC)。Istio提供了基于角色的语法让用户填写yaml文件,部署后Istio将策略保存至Istio Config存储中。Pilot监控着Istio访问控制策略的变更,若有更改,将获取更新后的访问控制策略,同时将策略分发到Envoy代理中,每个Envoy代理都运行一个授权引擎,当请求到达Envoy代理时,授权引擎根据策略评估当前请求的上下文,并返回授权结果,ALLOW或DENY。访问控制过程如图5所示:

 

图5基于RBAC的访问控制架构图

五、总结

以上为Istio的安全机制简介,Istio的出现不但解决了第一代微服务的痛点,在安全性上也是非常有保障的。

[1] https://istio.io/docs/tasks/security/


内容编辑:云安全实验室 浦明  责任编辑:肖晴

期回顾

本公众号原创文章仅代表作者观点,不代表绿盟科技立场。所有原创内容版权均属绿盟科技研究通讯。未经授权,严禁任何媒体以及微信公众号复制、转载、摘编或以其他方式使用,转载须注明来自绿盟科技研究通讯并附上本文链接。

关于我们


绿盟科技研究通讯由绿盟科技创新中心负责运营,绿盟科技创新中心是绿盟科技的前沿技术研究部门。包括云安全实验室、安全大数据分析实验室和物联网安全实验室。团队成员由来自清华、北大、哈工大、中科院、北邮等多所重点院校的博士和硕士组成。

绿盟科技创新中心作为“中关村科技园区海淀园博士后工作站分站”的重要培养单位之一,与清华大学进行博士后联合培养,科研成果已涵盖各类国家课题项目、国家专利、国家标准、高水平学术论文、出版专业书籍等。

我们持续探索信息安全领域的前沿学术方向,从实践出发,结合公司资源和先进技术,实现概念级的原型系统,进而交付产品线孵化产品并创造巨大的经济价值。

长按上方二维码,即可关注我们

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存