企业如何应对云原生时代的安全挑战?

RancherLabs RancherLabs     2022-11-28     506

关键词:

本文整理自 SUSE 安全产品战略副总裁黄飞在 SUSECON 北京 2022 开源技术峰会上的主题演讲。

不断缩小的安全“边界”

应用软件发展平台发展线路很清晰,从最早的物理机发展到后来的虚拟机,可以运行多个操作系统在物理机上;2014 年开始,以 Docker 为首的容器厂商把容器技术推向大众,也带动了微服务的高速发展;到今天越来越多的企业客户甚至政府机关,开始在多云环境下部署分布式的集群服务。

从安全角度来看。在物理机时代我们保护一些安全的边界,这个边界可以是一个网关,可以是一个笔记本电脑,可以是个台式机,可以是个数据库,我们在入口位置部署相应的安全功能,基本上能满足安全的需求。

在虚拟机时代,原来基于物理机的安全方案已无法满足需求,虚拟机的安全技术方案应运而出,包括虚拟网络、负载均衡、数据中心的安全、虚拟存储的安全。

微服务的出现让安全系统再一次面临新的挑战。具有代表性的是容器网络的改变。容器网络是在传统的虚拟网络上又加了一层虚拟的容器网络,等于是网络多次虚拟化;同时所有原来基于进程之间的通信逐渐变成了所谓的服务,服务组件变成了网络上的一个节点。同时微服务节点之间的通信,甚至出现了 sidecar 这种比较高级的微服务应用,它的外部通信、内部通信,包括所有的数据服务都变成了一些被虚拟化了的数据服务。

一些新技术层出不穷,比如服务网格技术、多集群之间的通信、多云和混合云的技术、甚至 Serverless,这些都对安全边界提出了越来越多的要求。

我个人认为安全的边界其实是逐渐减小的,从原来保护一个巨大的物理机到保护一个虚拟机,到保护一个小小的容器,再到保护一个 serveless function,安全边界越来越小,甚至会逐渐消失掉。

云原生环境下的安全挑战

云原生环境下的安全挑战体现在 3 个方面:

容器环境的快速发展。 容器变化非常快,K8s、Docker 等很多容器的生命周期可能只有几十分钟甚至几分钟时间,这段时间之内它的版本 1 的容器要不要保护?怎么保护?如果仍然用传统方法保护,还没有来得及制定好策略,新版本就迭代上去了。这是一个很大的安全挑战:它太快了!

传统安全工具无法适应新的云环境。 例如,有的网络防火墙架在端口位置,它无法理解如果跨集群、跨云,所有的通讯已经加密,在底层网关节点上完全没有办法有效感知到任何的 contacts,没法有效地保护它。

另外传统的一些 agent based solution 会在所有节点上装 agent,但是我们曾经也看到有的厂商试图把 agent 装到所有的容器里,这似乎是可以实现一些安全功能,但是容器作为微服务,装 agent 就与主机没有差别了。这个完全跟容器发展、微服务的发展背道而驰,从技术角度来看,我认为这是一个错误的系统构架。

K8s 大量采用虚拟化技术,把数据、网络、计算全部虚拟化之后,对应用程序层来讲非常好用。基本上放一个容器上去,不需要关心底层的构架和平台网络,就全部可以自动跑起来。但是对于安全人员的挑战就是没有可见性,不知道这个容器到底是不是在做它应该做的事情,即虚拟化技术本身对安全管控形成了一定的屏障。

基于 CNCF 云原生系统构架分析安全功能的构建

CNCF 把云原生系统分为三大块:

  • 底层基础层,是整个云的基础构架,包括 compute resource、存储、网络、底层的操作系统和编排系统,底层系统现在已经有非常成熟的安全解决方案。

  • 应用程序生命周期。现在云原生应用程序基本上从开发到提交代码、到流程管道里会自动进行代码检查、测试、包装,包装成容器然后发布,到最后的安全策略形成,整个一套是全自动化的,这个应用程序的生命周期需要有很强的安全管控。例如所谓的 supply chain,很重要的一块就是管道安全,所有安全检查需要发生在生命周期里,每个环节都要有一定的功能。

  • 运行时的安全。我们把应用程序和数据生产化了以后,才是真正面对挑战的时候。此时,由于程序已经在公有云、私有云上跑了,端口已经打开,这就意味着已经公布于众。所有好的、坏的连接就会发生,首先是从网络层面会试图攻击你的端口扫描、网络端口,试着去获得非法授权,试着去攻击整个云环境,试着控制运行时的容器。一旦获得了某些提权之后,就可能有一些非法访问,比如挖矿。在云环境下,如果没有很好的运行时的监控和阻挡方法,会造成非常严重的损失,这样的例子数不胜数。

CNCF 把运行时的环境画的非常复杂,每一层都由非常复杂的模块组成,包括整个云的环境、整个云的配置。各个方面都需要做到安全检查,比如说一些 Access、存储系统的加密、密码权限要切分得非常清晰、云节点之间的安全策略、节点和节点之间的网络安全策略。

在这之上有 workload orchestration,比如 K8s 平台、Rancher 平台,这个平台使用大量的技术和功能。怎么保证你拉下来的镜像是安全的,是经过安全检查的?

再往上是应用层。云厂商没有办法管理,因为这些应用和服务是你自己开发的,或者是第三方开发的,需要你自己去管理、去运行,它是你整个企业业务最重要的服务工具,它的数据也是企业最重要的资产。云平台被攻克了还可以快速恢复,但是自己的数据被锁死、加密了,损失是非常大的。所以基本上分成这三层来构架。

安全模式的进化——零信任

公有云快速发展,大家一直在讨论安全的界限到底在哪里,谁应该负责哪一块的安全。一开始,很多客户认为公有云的安全应该交给供公有云厂商,但是真实情况并非如此。

这是 AWS 对外公布的 Security Responsibility Model,即公有云厂商只提供基础服务,只保证在它上面的数据全部加密,保证保存好所有平台的日志,以供分析,但是并不保证你的应用程序和数据安全。

这个应用程序和数据是指应用层的。公有云为你架构了一个销售系统,这个销售系统里会存储所有客户信息和数据库,但 AWS 是不会负责任何安全的,它也做不到,也不理解。这就是说应用程序级别的安全是必须由各个企业用户自己负责。

这就促生了过去五六年、七八年以来安全领域很重要的模式的进化。在传统安全方案里,我们基本上是基于所谓的信任、非信任的区域管控来做安全。举个例子,你新拿到一个笔记本电脑,这个笔记本电脑就是你的安全边界,我只要在笔记本电脑上装一个杀毒软件,做定期每天半夜的扫描,就认为是安全的了,这就是我信任它扫描过的我的硬盘和软件。

但是随着云技术的深入发展,终端逐渐变成显示装备,真正最重要的数据、流程、管道基本上都是在云那边作为服务的方式存在的,并不存在本地机器上。这就带动了整个安全模式的进化,我们传统的叫做被动式安全模式,新一代的叫主动式的零信任安全模式。 也就是说缺省情况下我并不信任任何内部外部的通信和内部外部的存取,我需要有一定的方法能够保证即使是内部过来的通信,也不是一个恶意存取,这就是所谓主动式的安全模式。

被动式安全模式策略往往基于黑名单。例如传统的防火墙,可以定义端口到端口,哪个 IP 地址可以通信,必须手动定义好,否则防火墙就不知道怎么处理了。主动式的环境下我们用白名单的方法。比如在容器环境下有一个数据库容器,缺省化就应该只跟内部的 web server 通信,他们之间使用了一个 certificate,可以互相认证,这就是主动安全模式,我就规定了只有拥有 SCR certificate 的服务器节点能够跟我通信。

从防火墙策略的角度来讲,怎么定义这件事?在新一代的安全模式下,我们用一种可以描述的语言,例如 K8s CRD ,可以把它描述成我这个容器可以跟谁通信,所有不能认证的节点,统统拒绝。 这很重要,因为黑客往往攻击到运行时的容器环境时,会以某一个节点作为桥头堡,试着攻击其他的节点,他们可能共享在同一个物理机、虚拟机、平台上,他们有机会看到其他在跑的容器,因为容器网络整个是平面化的。

即使你能够攻入到某个容器或节点,也不能有效地在内部进行刺探,这就是零信任安全的基本要素。

这里面还有很多,包括 CICD 管道安全也是其中的一部分,这就引申到欧美非常火的一个概念,即 supply chain security。因为在整个应用程序的发展周期里,在编译、制作软件的时候不可避免地需要使用到很多的开源软件包、第三方的包。怎么保证其中没有嵌入恶意程序?这就是管道 supply chain 的安全管控问题,它也是零信任的一部分。我不相信任何从第三方拉取的、甚至自己开发人员开发的软件,我都要在一定的安全检查之后才能认证是可用的,模块是可以被编译的,这也是一个零信任的安全概念。

所以有很多知名分析机构把零信任安全归纳为 7 个要素,基本上这 7 个要素涵盖了大中小企业甚至政府机关所需要保护的基本要素:用户、设备、网络和环境、应用程序和服务、可视化信息收集和分析、自动化管理和编排、数据。

如何更有效地保护这 7 个要素?简单来说有四个要点:

  • 最小化被攻击界面。被攻击界面越大,被攻陷的可能性越大,零信任安全是减小攻击界面非常有效的手段之一。

  • 实时检测和阻挡。很多安全软件可以检测到一些恶意事情的发生,检测到有人想偷取你的数据,但这些往往都是从日志里发现的,这已经晚了,数据已经被偷走了。需要强调的是,你要有一个安全方案能够在攻击发生的时候立刻检测到,并且阻断、报警,这才是最强的保护方法。

  • 不间断的可视化管理和合规检查。合规检查应该是全自动的,有一套系统在管道里不停地做合规检查,发生任何事情都能在第一时间通知和修复。

  • 安全应该具有一定的透明性和易用性。云原生的系统构架非常复杂,是基于一层一层各种各样的复杂的系统构建起来的,但这并不意味着安全需要很复杂。如果安全很复杂、易用性越来越差,就没法适应容器技术的发展。如果今天部署 K8s 只要几秒钟,那么安全就不能用几个小时甚至几天才部署起来、用起来,因为这个过程无法匹配,所以安全系统的本身要有透明性和易用性。

实现零信任安全的四个阶段

可以了解一下 SUSE NeuVector 和 SUSE Open Zero Trust。SUSE 把整个云原生零信任安全划分成四个阶段,并不一定要推翻你所有的安全投资和配置,其实可以从某一个单点开始介入和部署,逐渐深化,有了足够的信心和经验其实可以很快部署一套云原生环境的安全方案出来。

企业如何应对云原生时代的安全挑战?

...#xff0c;也带动了微服务的高速发展;到今天越来越多的企业客户甚至政府机关,开始在多云环境下部署分布式的集群服务。从安全角度来看。在物理机时代我们保护一些安全的边界,这个边界可以是一个网关,可以... 查看详情

网络分层架构灵活应对企业上云挑战

...青睐。国际权威咨询机构Forrester发布的《原生混合云加速企业数字化转型》报告中指出 查看详情

网络分层架构灵活应对企业上云挑战

...青睐。国际权威咨询机构Forrester发布的《原生混合云加速企业数字化转型》报告中指出,混合云是全球企业数字化转型的关键动力,一体化原生混合云将释放自适应企业的无限潜能。阿里云混合云是国内首个全自研大规... 查看详情

云原生时代,开发者如何构筑容器安全?

...技术,正成为资源调度和编排的标准,有效帮助企业降低IT实施和运维成本。据CNCF发布《2020中国云原生调查报告》显示,容器持续迅猛增长,68%的机构在生产过程中使用容器&# 查看详情

kubemeet深圳站回顾:应对云原生边缘计算落地挑战

...动围绕云原生边缘容器团队开源项目OpenYurt的技术架构、企业实践展开,来自智能制造、互联网金融、电信、交通出行、互联网等行业80+位热爱开源技术、关注云原生边缘计算方向的开发者来到现场,与OpenYurt社区的核... 查看详情

亚马逊云科技的ai新引擎,如何助力企业应对“乌卡时代”?

文|智能相对论作者|沈浪“乌卡(VUCA)时代”一词在今年的经济峰会或产业峰会上被越来越频繁的提及。作为一种全球性的时代语境,这个概念精准地概括了当今世界的时代特征,即易变性(Volatility)、... 查看详情

云原生时代,如何构建数字化转型架构?

企业架构可以助力企业数字化转型的规划和建设,其中企业IT架构是承接企业IT战略、对齐业务架构,以及具体IT项目落地的核心枢纽。笔者经常遇到有朋友和客户问什么是云原生?对企业有什么好处?怎样结合云... 查看详情

阿里云日志服务sls,打造云原生时代智能运维

2021年10月21日,阿里云针对企业运维难题,在云栖大会为大家带来了一场《智能运维论坛》的主题演讲。在会上,阿里云资深技术专家、日志服务技术负责人简志提出“云原生时代,企业业务数字化是对工程师们... 查看详情

敏稳融合时代,云原生paas是企业it转型的“灵药”吗?

...专注于敏捷性”。此概念一经提出,就获得了大多数企业CIO的赞同。当时Gartner也曾预测,3年后有一半的中国企业将实施“双模IT”。然而,随着数字化进程不断深入,“双模IT”的局限性也日益明显。近年来,... 查看详情

六大挑战下,如何利用云原生数据战略打造数据驱动型企业?

...者,成就探路者》主题演讲,总结了数据驱动型企业面临的六大挑战,并提供了解决思路。IDC预测,仅在2022年,人类将创建超过97ZB的数据。在数据采集变得越来越容易的当下,收集数据是成功的第一步... 查看详情

fortinet解读《2023年全球云安全报告》关键洞察

当今企业正通过扩大运营范围以探寻创新业务模式,持续推行混合办公策略等举措加速推进数字化转型。然而,云部署为企业数字化转型提供诸多便利和优势的同时,也为安全团队增添了亟需识别和管理的独特挑战。... 查看详情

科技云报道:数字时代波涛汹涌,企业如何答好网络安全这张“试卷”?

科技云报道原创。在数字大潮涌动之时,网络安全威胁风险日益增加,网络安全挑战叠加出现。公开数据显示,2020年全球数据泄漏的纪录达到310亿条,超过了过去15年的总和。今年3月,电脑巨头宏碁遭到勒索... 查看详情

架构师成长系列|云原生时代的devops之道

...自动执行软件交付和基础架构更改流程。在云原生时代,企业又如何借助DevOps实现产品快速、稳定、高效和安全地迭代,释放业务价值呢?什么是云原生 查看详情

在信息化时代企业要如何应用云桌面办公

一:当前传统PC办公面临的挑战据IDC统计显示企业每在PC硬件上投资10块钱,后期的运营成本降增加30块钱,这主要在两点方面体现出来的:第一是越来越复杂的桌面办公将占据大量的人力资源成本,致使IT管理部门无法降更多的... 查看详情

企业如何应对挑战,做好网络终端设备管理?

...,带来便利的同时也隐藏着许多隐患,为了防范企业网络安全风险,需要做好网络终端设备管理。从某种程度上 查看详情

如何攻破容器持久化存储挑战?

简介:云原生趋势下,应用容器化比例正在快速增长,Kubernetes也已成为云原生时代新的基础设施。背景云原生趋势下,应用容器化比例正在快速增长,Kubernetes也已成为云原生时代新的基础设施。观察今天的容... 查看详情

理清逻辑,确保云原生时代应用开发的全生命周期安全

...面一起跟随这位在安全领域耕耘多年的技术老兵,看如何根据业务构建安全方案,将安全技术系统性的落地。网络安全问题千差万别,但核心是相似的从大学到工作,毛哲文一直和安全打交道,从操作系统安... 查看详情

企业全面云化的时代——云数据库的未来

云数据库前言传统数据库的不足云原生数据库的优点1.动态可扩展性2.高可用性3.较低的建设成本4.轻松部署5.高可靠性云原生数据库容器化什么是容器化?为什么需要使用容器?数据库适合容器化吗?1.数据安全性2.性... 查看详情