云原生安全:揭秘漏洞与威胁,保障你的数据安全

发表时间: 2020-03-11 17:47

作者 | Drishti Shastri

译者 | 天道酬勤 责编 | 徐威龙

封图| CSDN 下载于视觉中国


在当今时代,企业网络和数据安全风险从未像现在这样具有里程碑意义。尽管如此,传统方法(包括公有云运营商使用的方法)基本上是相同的。

云原生应用的兴起及其安全威胁

在当今时代,企业网络和数据安全风险从未像现在这样具有里程碑意义。尽管如此,传统方法(包括公有云运营商使用的方法)基本上是相同的。

转向应对威胁攻击而不是阻止威胁的反应措施。云原生应用程序日益受到重视,用各种可能的方式质疑了传统智慧。

从基础架构到应用程序的开发,堆栈在传统方法与更现代的基于云的方法之间形成了鲜明的对比,其中大多数已对成功的模式和实践达成了主流观点:DevOps文化、持续交付和微服务架构 。为什么我们还没有重新构想云原生的安全性呢?我们对此大胆的新想法在哪里呢?

可以肯定地说,在交付应用程序的过程中,云原生的安全性一直在被长期追踪。传统的IT安全团队将自己视为中间人。他们必须正确地完成工作,否则将面临代理机构所面临的更大风险。

它们在所有过程中都对安全性有很高的要求,但是要满足这些级别需要花费时间、测试和修订。因为这会延迟应用程序的开发并且通常不能确保全面的保护,所以开发团队经常会抱怨。

当组织希望提高和加快应用程序改进生命周期并调度云原生应用程序时,安全将成为更为突出的测试。大部分云原生应用程序都在新模型中运行,这些模型可提供非常规的生产力、适应性和成本优势。

使用dev-ops进行开发的云原生进一步将DevSecOps作为其安全组件。DevSecOps试图将安全纳入速度、敏捷性和连续交付流程中。但是,如果DevSecOps忽略了集成、业务流程功能和控制,并且对用户的安全性较低,则可能很难在连续交付系统中提供安全性。

云原生漏洞

云原生肯定会发生漏洞。我们是人类,肯定会犯错误,尤其是在苛刻的期限和产品交付之后。尽管有全部的警告、标志和注意事项,我们也会做出一些错误的判断

在发出警告的过程中,人们继续盲目地从Stack Exchange复制和粘贴,来掩盖在GitHub上发现的应用程序,甚至随机地将代码从一个毫无头绪的文件夹中随机拉出,并且只能怀疑地认为该作者从未遇到过或甚至没有与之交谈过的第三方。

微服务应用程序的分布式性质意味着,即使在内部编写所有代码的情况下,通过消除第三方参与者的风险,不同的组件也可能由不同的团队拥有。

团队之间的沟通障碍会导致一系列问题,包括在测试、质量保证甚至应用程序中的漏洞解决方面缺乏协调。

一个单独的云原生应用程序可以包括分散在众多基础上的数千个剩余任务。在本地数据中心、众多公有云和边缘数据中心中可能会有奇异的微服务,最后,在组织领域中,我们目前似乎还无法发展。

每个开发人员和每个开发团队都知道并了解如何解决不同的问题。他们所做的就是相应地培养他们的注意力和知识。在内部代码环境中,即使所有部门都以某种方式保护自己的更广泛程序的一部分,微服务也必须与其他部门联系,并且通信在这里是风险或脆弱性。

这些所有说法听起来都令人生畏和令人恐惧,但云原生确实解决了一些非常复杂的现实问题,我们再也不能忽视它的存在。随着我们不断升级其安全性,云原生的漏洞正在不断发展并一直存在。

对云原生应用程序的主要威胁

尽管公司开始体验云原生应用程序的优势,但他们对处理和维护此类系统的实际方面却知之甚少。与在云环境中相比,保护的后果是否与传统系统相比有很大不同?防护措施和保障措施如何对其产生影响?

以下是基于云的环境的一些最高安全性问题:

1.云配置错误

IaaS和云数据存储的配置错误是当今一些最具破坏性的云违规和数据泄露的主要原因。无论你要删除结构化的云安全设置、使用通用代码、无限制地访问某些资源还是其他任何原因,配置错误问题都会导致许多未知威胁,这些威胁仅在尴尬的遭遇后经常在报纸上看到。最新的《 2019年云安全报告》称,大约40%的组织认为错误配置云平台是他们对网络安全的主要关注点。

2.商业化管理的IT

不用担心“影子IT”或“流氓IT”。毫不夸张地说, 几家公司将基础架构的收购趋势标记为,将获得和运营云服务的业务桥梁客户称为“商业化管理的IT”,以及创造力和发展的引擎。《 Harvey Nash /毕马威CIO 2019调查》报告称,目前有超过三分之二的公司为企业推广或允许IT管理。这是因为这样做的公司击败行业竞争对手的能力提高了52%,提供更好的员工服务的可能性提高了38%

令人担忧的是,如果没有信息和网络安全专业人员的合作,这些云技术孤岛可能成为组织的巨大安全障碍。这些公司的发展速度相当快,但调查显示,冗余的安全隐患波长的可能性是后者的两倍。

3.购买多云产品

《云保护联盟报告》显示,大多数公司都依赖各种各样供应商的云环境来购买多云产品。大约66%的公司具有多云设置,其中大约36%取决于多云和混合系统的混合。

目前,由于云实际上是希望降低其运营处理成本的所有其他企业的首选工具,因此云计算向其云消费者提供一系列服务(SaaS、PaaS、IaaS)。云在其整个上下文中提供安全、迅速响应和服务质量。但是,每次用户无法从一个云迁移到另一个云时,它都会保持成本和QoS可伸缩性。为了克服这种多云计算框架,引入了基于云的系统之间的资源动态共享。在多云设备中,安全性甚至是一个更为复杂的问题。

4.混合架构

根据著名的《云安全联盟报告》,大约55%的组织拥有复杂的、混合操作的云计算环境。该系统为大型组织提供了一种逐步过渡到云的绝佳方法,但是当他们难以跟踪整个架构中的资产并监视众多混合云连接的活动时,它给安全性带来了挑战。实际上,Firemon先前发布的一份报告显示,80%的组织都在挑战混合安全监控和管理工具的局限性和复杂性。

5.暗数据

就像电信行业的暗光纤一样,暗数据也适用于企业和商业。这里有大量未开发的、大多是不受监管的数据,它们只是存在而已,什么也没做。

不幸的是,尽管暗光纤明确代表了仅点亮即可增加功率和带宽的优点,即使被识别和忽略,暗数据也可能存在安全风险,无论它们在用户手中出现错误还是落在用户的范围之外。

有关暗数据的大多数争论都倾向于集中于组织的潜在价值和有用性。实际上,对于愿意花费资本(资金、设备和时间)来创建和利用暗数据中锁定的知识和兴趣的组织,这些前景无疑是有利可图的。这也说明了为什么许多公司尽管不打算代表他们工作,却拒绝在短期内或在计划过程中进一步交换黑暗的细节。

就像许多潜在的富有吸引力的信息资源一样,企业还必须意识到,暗数据或者关于暗数据及其客户和他们的云运营的暗数据,可能会给他们持续的健康和福祉带来风险,超出了他们的直接控制和管理范围。根据最近的研究,有40%的组织仍处于有关容器环境的安全策略的规划或基本阶段。

6.容器与容器编排

如果你使用容器在表面上开发应用程序或将现有的单源(单片)应用程序带入容器化的生态系统,则必须理解容器环境会带来奇怪的安全威胁。从第一天开始,你就应该准备好应对这些威胁。开始构建自己的容器,该容器将在生产行业中安装和运行。

以下是最常见的容器安全风险:

  • 特权标志:即使是那些对容器有深入了解的人也可以知道特权容器的含义。使用特权标志的容器几乎可以执行服务器可以执行的任何操作,执行并获得对客户端资源的访问。这意味着,如果入侵者进入一组受保护的标志箱,则它们可能会被破坏。
  • 无限制的交互:为了实现其目标,容器必须彼此交互。但是,容器和微服务的数量以及容器的短暂设计通常意味着,要执行符合最低权限概念的联网或防火墙法规可能会很困难。但是,你的目标应该是使容器只能在减少攻击面所必需的容器中进行交互。
  • 缺乏隔离:容器安全是一把双刃剑。除了使用寿命短和功能受限外,它们的不变性质还提供了各种安全优势。但是容器也可以用来攻击主机。我们之前讨论过,这种危险存在于带有特权标志的容器中。基础主机可能会受到许多其他错误配置的威胁。

确保全面安全

为了接近云原生的安全性,最好不要使用传统的手动安全技术。此外,为了建立成功的DevSecOps,IT部门应将重点放在自动化和安全人员融入DevOps团队中。由于其在容器基础结构中的微服务体系结构软件包,因此基于云的应用程序可以比传统应用程序更快地扩展。以上意味着手动安全方法太慢而无法保留,并且自动化是强制性的。将安全团队归入DevOps组可确保安全性包含在应用程序代码中,而不是一旦发现问题便进行修改。这也可以加快并澄清对问题的响应。

让我们谈谈五个DevSecOps支柱,这些支柱在确保全面网络安全方面具有重大潜力:

  • 安全合规的部署管道:分析工具、集成管道以及如何将合规性和审核融入到DevSecOps和Cloud-Native Development的管道中。
  • 安全且合规的云平台:身份和访问管理评估、检测控制、基础结构保护、数据保护和响应事件。
  • 代码一致性:在软件开发过程中,合规性被视为代码框架,以确保管理、合规性和任何风险缓解问题。
  • 机密信息管理:在混合云业务模型中管理基于云的敏感信息、密钥和证书。
  • 容器隐私:容器如何适应安全策略,如何链接容器安全威胁以及如何审查容器操作模型和检查。

所有这些支柱都是侧重点领域,因此,始终地、完全地应用了业务安全,并且需要进一步进行审查。为了提供每个实施支柱的跨部门愿景,对所有支柱进行横向治理。这些治理模型适用于每个支柱,并确保支柱以互惠互利的方式运作。

  • 受保护的交付:确保支持的应用程序平台和云基础架构稳定、合规且安全。
  • 安全模式:开发安全位置和威胁模型以支持客户的多样化接受。
  • 信息保护:确保内部和外部员工不受客户数据的保护。
  • 风险评估:包括当前体系结构、容器策略和云基础架构,并对应用程序进行差距分析。
  • 技术变更日志:创建有序的战术执行积压,通过交付工程结果来推动3-6个月的路线图和战略实施计划。


对新安全原型的需求


统计数据显示,到2021年,将有92%的公司成为云原生公司。

话虽如此,通常使组织陷入困境的是为它构建一个5000美元的应用程序和一个5美元的安全系统。就云安全性而言,安全性同等或是一个更重要的因素。因此,DevSecOps的概念需要尽早实施并认真对待。

DevSecOps在应用程序开发过程的所有阶段均提供合规性,并负责设计和安装应用程序。首先要评估团队或实体的性质,并建立代表该团队或实体的程序。

第一步是在团队之间分配孤岛,以确保每个人都对保护负责。由于开发团队出于安全原因构建应用程序,因此Ops将更快地交付软件,并且使你高枕无忧,因为他们理解开发人员知道稳定性和保护至关重要。

实际上,必须有可以立即进行安全检查的过程。

服务器记录表明谁进行了修改、进行了哪些更改以及何时进行了更改,这些都是在审核程序时要知道的所有重要事实。保持保护的最简单方法是始终保证系统运行最新的软件更新。安全修复程序无需花费数月的时间,并且应该是快速而自动的。同样,在开发API和新功能时,应进行潜在的更新,以防止软件承担责任并阻止框架打补丁以防止崩溃。

创建云原生应用程序时,仍然没有单一的安全方法来保护你的软件。为了保护云中的服务器资源,你需要采取多方面的方法。为了保护你的容器,你需要采取几种策略。归根结底,要将安全放在适当的优先级列表中,你需要DevSecOps策略。

理想的云原生安全框架会是什么样?

为了允许基于云的转换,公司需要在设计安全策略之前考虑以下进一步要求:

  • 高标准的安全自动化:常规的基于预防措施的安全操作根本无法使基于云的系统保持几乎无限的动态性。根本不是手动工作流程的选择。对云原生安全性的需求是自动检测和大规模灵敏性。
  • 混沌设计:在微服务架构中,运行时组合在一起的许多软件组件可以用于任何功能。从安全的角度来看,这意味着检测和控制的逻辑不能依赖于对操作安全性的事先了解。云原生安全性应该包含混沌工程的原理——高效、有效地运行测试等。
  • 快速识别,涵盖本地并立即追踪:云原生程序本质上是分配了计算应用程序。在这样的生态系统中,随后无法轻松执行全局安全性选择。因此,你希望确定措施的优先级,使你能够在系统范围的恶意趋势蔓延之前迅速识别,恢复并涵盖本地影响。尽管你的安全决策并非100%准确,但是本地操作和快速恢复可以为你提供更兼容的现有系统。

随后,你的云解决方案应具有哪些原生安全性?简而言之,让我们关注编译器功能。作者认为主要功能如下:

  • 混合堆栈可见性和决策支持

在服务器、VM、数据库、软件和API服务中,即使分布了应用程序,但短期内还是动态资源和容器,仍需要云原生数据中心中的可见性和决策支持。在这些不同层上获得的数据应该进入引擎,以便实时进行选择过程。

  • 快速反应和警告功能可限制爆炸半径

万一发生事故或袭击,安全解决方案将减轻并控制影响。这种论点等同于迅速的决策和有见地的控制措施,可以在发生不可逆转的破坏之前阻止恶意行为。在云原生环境中,智能检测系统可以完全识别入侵的出现并影响本地控制。

  • 严密监控与调查

由于所有分布式组件和API服务,云本机工作负载安全调查可能会很复杂,因此监视和安全调查必须最大程度地降低性能影响和存储要求。这包括一个集中的监视体系结构,没有网络瓶颈,并且工作负载可以扩展。

  • 与自动化工具集成

容器工作负载可以在云原生环境中由Kubernetes、Openshift、Amazon ECS或Google GKE管理。你可以(可选)使用Puppet、Ansible或Chef自动执行部署。安全工具可以与要保护的工作负载一起自动部署,云环境必须是与此类组件的必备集成。

对于替换第一代物理服务器和虚拟机的事件驱动的容器和应用程序,安全性必须找到正确的切入点,以最大化可视性并降低风险,同时允许创造力和适应连续云交付的复杂性。

结论

从整体环境迁移到云原生环境确实听起来很吸引人,但是一旦决定这样做,请确保评估可能出现的所有安全问题,评估是否有足够的资源和团队来处理这些问题。而且最重要的是,如果要实现这种转变,你的企业才能真正脱颖而出并发展壮大。

希望这篇文章对你有用,欢迎评论区和我们讨论。