周志明的软件架构课
周志明
博士,远光软件研究院院长,《深入理解 Java 虚拟机》《凤凰架构》等书作者
54203 人已学习
免费领取
课程目录
已完结/共 74 讲
架构师的视角 (24讲)
周志明的软件架构课
15
15
1.0x
00:00/00:00
登录|注册

39 | 如何构建零信任网络安全?

你好,我是周志明。
在学完第 4 讲的课程之后,现在我们知道了微服务的核心技术特征之一是分散治理(Decentralized Governance),这表明了微服务并不追求统一的技术平台,而是提倡让团队有自由选择的权利,不受制于语言和技术框架。
在开发阶段构建服务时,分散治理打破了由技术栈带来的约束,它带来的好处是不言自明的。但在运维阶段部署服务时,尤其是在考量起安全问题时,由 Java、Golang、Python、Node.js 等多种语言和框架共同组成的微服务系统,出现安全漏洞的概率肯定要比只采用其中某种语言、某种框架所构建的单体系统更高。
于是,为了避免由于单个服务节点出现漏洞被攻击者突破,进而导致整个系统和内网都遭到入侵,我们就必须打破一些传统的安全观念,以此来构筑更加可靠的服务间通讯机制。

基于边界的安全模型

长期以来,主流的网络安全观念都比较提倡根据某类与宿主机相关的特征,比如机器所处的位置,或者机器的 IP 地址、子网等等,把网络划分为不同的区域,不同的区域对应不同的风险级别和允许访问的网络资源权限,把安全防护措施集中部署在各个区域的边界之上,重点关注跨区域的网络流量。
现在我们所熟知的 VPN、DMZ、防火墙、内网、外网等概念,可以说都是因此而生的,这种安全模型今天也被叫做是基于边界的安全模型(Perimeter-Based Security Model,简称“边界安全”)。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

构建零信任网络安全是当前微服务系统中的重要挑战。传统的基于边界的安全模型已经不能满足大规模微服务系统技术异构和节点膨胀的发展需要。边界安全模型存在固有缺陷,一旦内网中的某台服务器被攻陷,边界安全措施就成了马其诺防线。因此,需要寻找新的网络安全模型来应对微服务系统中的安全挑战。文章提出了基于边界的安全模型的局限性,并呼吁转变安全观念,承认一定会有被攻陷的服务。在微服务时代,需要构建更加可靠的服务间通讯机制,以应对多种语言和框架共同组成的微服务系统可能出现的安全漏洞。文章强调了构建零信任网络安全的重要性,为读者提供了对当前网络安全挑战的深入思考和解决方向。 零信任安全模型的概念源自2010年,旨在不以某种固有特征来自动信任任何流量,除非明确得到了能代表请求来源的身份凭证。在微服务架构中,这一模型与安全目标高度吻合。文章详细阐述了零信任安全在微服务、云原生环境中的具体落地过程,包括身份只来源于服务、服务之间没有固有的信任关系、集中、共享的安全策略实施点、受信的机器运行来源已知的代码、自动化、标准化的变更管理以及强隔离性的工作负载等原则。这些原则为构建零信任网络安全提供了具体的指导和实施路径。 总的来说,本文通过对零信任安全模型的介绍和具体落地原则的阐述,为读者提供了对当前微服务系统中网络安全挑战的深入思考和解决方向。文章呼吁转变安全观念,构建更加可靠的服务间通讯机制,以应对多种语言和框架共同组成的微服务系统可能出现的安全漏洞,强调了构建零信任网络安全的重要性。

该试读文章来自《周志明的软件架构课》,如需阅读全部文章,
请先领取课程
免费领取
登录 后留言

全部留言(7)

  • 最新
  • 精选
  • zhanyd
    基于边界的安全模型是想通过建筑高大坚固的城墙,把所有的敌人都挡在城门之外,但是对城里面的人是毫无防范的,一旦敌军设法突破城墙,则毫无还手之力。 《荷马史诗》中描述的特洛伊城就是典型,希腊联军攻打特洛伊城,围城十年久攻不下,被挡在高高的城墙之外,最后通过藏着勇士的木马从内部攻破了特洛伊城。 零信任安全模型不会主动相信任何人,就像地下间谍之间接头需要各种暗号来确认对方的身份,虽然安全性很高但也严重影响了沟通的效率。 Google为了实现零信任安全模型设计了Google Front End、Application Layer Transport Security、Service Access Policy、Binary Authorization、Host Integrity、gVisor等一系列工具,可见其复杂程度之高。
    2021-02-22
    1
    15
  • neohope
    一个团队去完成一个任务,如果彼此信任,相互配合就会很流畅,沟通成本会很低,任务推进也会很顺畅。比如几个知根知底的伙伴去创业,一个眼神可能就懂了。 一群互不信任的人去完成一个任务,哪怕每个人都很努力,但经常感觉别人掣肘,吵来吵去,任务止步不前。一个流动率高,甩锅成风的组织,便是如此。 代码也是如此,如果我们假设代码是可信的,直接拉取镜像就行了。 如果假设代码是不可信的,开发提交代码后,要各种引擎扫描,扫描通过后,流水线打包镜像。同时还要提交各类材料如测试报告,越权测试报告,渗透测试报告,压力测试报告,代码审核报告等等相互佐证代码没有问题,然后发布。 这样先不说要多少资源支持,单说发布,就从十几秒变成了十几分钟,甚至几十分钟。 服务也是如此,如果假设服务是可信的,不要加任何控制,就可以相互访问。 如果假设服务不可信,就要各种验证,网络端口是否允许访问,token是否正确,双向证书过了没,是否有服务访问权限,是否有数据权限,是否符合流量控制要求等等。 先不说做需要多少资源支持,单说服务性能,从几十毫秒一下到了几百毫秒。 那做这些值吗?值! 但要符合自己的情况,不能太过,绑了自己的手脚!
    2021-04-14
    7
  • 刘智敏
    零信任安全的代价,收益,如何权衡。 现阶段的代价在于巨大的开发作为精力投入,收益在于全面安全性的提升,权衡关键是基于业务场景的风险管理策略。
    2021-06-29
    1
  • 阿昕
    零信任安全的代价是更复杂的运维、更多的耗时,收益是更高的安全风险控制能力。我认为容器化是解决问题的最佳途径,在基础设施的层面来处理,才不至于让开发者望而却步。
    2021-02-22
    1
  • n的n次方
    承认服务了总是会出错的,那么现在我们也必须转变安全观念,承认一定会有被攻陷的服务。老师,这句话开头写错了,不是承认了服务了总是会出错的,而是,承认了服务总会出错的
    2022-12-11归属地:江苏
  • 花儿少年
    安全是在与日俱进不断变化中的,近年来不断出现的黑客勒索事件,安全就变的越来越重要了。 周老师的课又让我涨了好多见识,整天CRUD,对安全关注的太少了。 安全的代价是:付出额外的大量成本(人力、机器),收益是:获得一个正常平稳的工作(生产)环境 实践的话:首先最外层的安全,先防止敌人打进来;然后是内部治安,防止内奸从内部给敌人打开大门;当然了内部治安的难度远远大于防御外部,所以内部还需要一系列的隔离,权限,认证等等;
    2021-06-19
  • Jxin
    1.代价是资源,包括计算资源和人力资源。 2.收益是降低风险概率和影响范围。(降低风险等级) 3.衡量不来,各项指标并不明确,都在摸石头过河。
    2021-02-27
收起评论
显示
设置
留言
7
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部