无服务器架构安全挑战

一个典型例子是新浪微博服务,在突然出现爆发事件时候(比如明星新闻),其流量可能是平时几百甚至上千倍,对这样的爆发流量用传统的扩容方式根本满足不了需求,也没有那么多资源,新浪的解决方法是私有云+租赁公有云方式,花钱利用阿里云实现峰值时服务扩容。对于一般企业则可以完全利用租赁第三方云服务方式构建自己服务模式,自己无需维护任何硬件设备和基础后端软件服务,这样的架构叫Serverless ,即"无服务器"架构。

无服务器架构安全挑战无服务器架构安全挑战

无服务器架构可以让企业实现更灵活和更具成本效益的业务架构模式。但是,随着企业开始使用无服务器架构时候,需要考虑无服务器架构的安全,本文虫虫就给大家聊聊这个话题。

什么是无服务器?
无服务器是虚拟化和云计算发展的结果,是指其企业完全通过租赁云供应商的资源来实现业务的模式,无服务器的核心是在架构中完全摒除硬件和后端基础软件服务(比如数据库,账号体系等),而依赖第三方的云资源(BaaS或者FaaS)。

当考虑无服务器架构时候主要基于一个想法:如果并不是所有应用程序的功能都是一直要用,那么为什么要为不经常使用的服务器支付租金呢?一般来说系统都需要一些功能,如业务逻辑,用户认证系统,数据库,以及其他一些用户简短的和特定活动需要的功能。使用服务器架构,会执行和打包这一系列的功能,所以一般也将无服务器称为功能即服务(FaaS);这些服务也为后端服务,所以也叫为BaaS "Backend as a Service"。

FaaS服务最典型的例子是知名云厂商亚马逊AWS的AWS Lambda。
无服务器架构安全挑战无服务器架构安全挑战

国内的阿里云最近也搞了一个叫函数计算类似的东西:

无服务器架构安全挑战无服务器架构安全挑战

无服务器安全
虽然云厂商会提供了很多安全服务和一些基本的安全策略,但是需要你花费购买相关服务,而且一些策略也需要自己配置。关于无服务器架构的安全我们需要注意以下事项。

保持最新版本
为了确保应用程序的安全,最有效方法之一是确保所有组件都是新的。使用的第三方模块是否需要打安全补丁?

软件更新时候经常被忽略的问题是忘记更新组件依赖项,尤其是在应用程序中使用开源组件时。据统计有超过92%的应用程序使用的开源组件会占到其代码库的60-80%,基础开源组件的安全是不容忽视的部分。如何安全地使用开源模块与商业软件存在一些明显差异,例如在开源组件在发布新漏洞或修复程序时无法很好的跟踪其影响面,做到有效的升级通知。另一个方面是要考虑构建组件的依赖关系。如果其中一个依赖存在漏洞,则会影响整个应用程序的安全。现在的基本的Git服务器端,比如Github和Gitlab都提供了对依赖的基本类库安全自动化扫描工具。我们可以借助这些工具来确保我们的组件都更新到安全的版本。

最小权限原则
进行权限和访问控制是维护无服务器安全性的重要规则,通过安全策略设置为每个功能授予最小权限,并使用基于角色的身份验证(IAM角色),以很大限度地减少潜在安全风险。

这个原则很重要,因为可访问的用户越多,对系统安全的潜在的风险就越大。比如一个例子,***成功窃取了你的一个用户的电子邮件帐户,窃取了其登陆凭据。为了最大限度地降低风险,我们应该分角色限制可访问的功能,并对访问IP进行限制,比如通过防火墙和等设置限制登录,这样就算登录凭据被窃取了也无法登陆。当然除了外部***的以外我们也要防止内部人员窃取其不应该知道的信息,所以基于角色限制每个用户的权限至关重要。

保持Em分离
与限制用户权限原理类似,将每个功能的网络和资源访问隔离也很重要。这条原则也被称为微分段(Micro-Segmentation),就是通过设置访问屏障的,保证我们的某功能被攻克后,不影响其他功能和节点。安全界常遵守一个常理就是"鸡蛋不能放在同一个篮子里"。

如果正如我们将数据库与另一个数据库分开一样,通过隔离不同的功能,不同的人容器,可以保证整体的安全不受部分节点的影响。

紧盯日志
一旦开始使用无服务器基础架构,就会发现架构都会变点很乱不着头脑,快速迭代的功能和业务,可能会让我们忽略一些安全问题迹象。比如发送到无服务器架构的大量请求,可能意味着功能存在漏洞功能,而你却将其忽略,没注意到。

这时候就需要注重安全和日志了。

熟悉无服务器架构(其他一些架构也类似)很好的工具是浏览和系统日志。解决无服务器安全挑战的第一步就是维护和分析日志,识别执行日志中的异常情况。
无服务器架构安全挑战无服务器架构安全挑战

安全扫描
其次,我们应该使用全自动工具扫描功能,包括检查和监控系统所有使用的开源组件。比如你使用AWS Lambda你可以使用WhiteSource的无服务器集成来扫描和监控已部署,WhiteSource会自动识别所有开源组件和依赖项,然后针对其开源存储库的综合数据库检查它们,以获取安全漏洞和许可证。检测到后,您可以应用自动策略,定义工作流程以及在团队中协作信息。
无服务器架构安全挑战无服务器架构安全挑战

合规事宜
当涉及金融,电信,健康等受监管行业时,数据隐私问题变得更加敏感。由于我们运行应用程序并在云上存储数据,因此总是存在与这些资产面向公众相关的风险。对云上数据做合格性可以需要通过法律及士进行协助进行。

总结
总之,使用无服务器架构具有很多优势,可以帮助我们节省成本,提高灵活性和可塑性。但是无服务器架构安全的问题也不容忽视。本文我们列举了一些常用的安全原则和技巧也帮大家避免常见的无服务器安全隐患,并确保应用程序的安全可靠。
更更多linux咨询请查看www.linuxprobe.com

原文地址:https://blog.51cto.com/14530594/2442076

时间: 2024-10-09 13:41:11

无服务器架构安全挑战的相关文章

陈杰:无服务器架构,让云端开发更纯粹

欢迎大家前往腾讯云技术社区,获取更多腾讯海量技术实践干货哦~ 在微服务还方兴未艾的时候,无服务架构就以其弹性伸缩.按需付费以及无维护等特点得到了很多开发者的青睐.腾讯架构平台部技术专家陈杰表示,云函数的核心理念就是给整个服务提供一种公共的架构,针对性解决服务的接入.安全.扩容.容灾.分布等一系列问题. 腾讯架构平台部技术专家陈杰 据介绍,云函数价值主要体现在四个方面.一是简化架构,云函数是以函数粒度来组织的服务,是一种天生的微服务架构:而是简化代码开发,用户无须编写网络服务,鉴权,分布,容灾,扩

如何在Rancher上运行无服务器应用程序

最近,系统设计中较新颖的概念之一要属"无服务器架构"理念.毫无疑问, 这有点夸张, 因为确实有服务器参与其中, 但这意味着我们可以以不同的方式看待服务器. 无服务器的潜在上升空间 想象一下,一个简单的基于Web的应用程序,处理来自HTTP客户端的请求.而不是让一些程序运行时等待请求到达,然后调用一个函数来处理它们,如果我们可以按需启动运行每个函数,然后将其丢弃,那会怎样?我们不需要担心可以接受连接的运行的服务器数量,或者在伸缩时处理复杂的配置管理系统以构建应用程序的新实例.此外,我们还

独家译文 | 如何为Mist建立无服务器应用

作者:Alex Van de Sande 译者:王建/蔡佳慧 译者介绍: 王建:万云平台区块链技术专家,拥有多年应用系统架构经验,目前在区块链落地方面进行积极探索 蔡佳慧:万云平台实习生,区块链技术爱好者,英国帝国理工学院数学专业在读 这篇教程是由以太坊Mist浏览器的负责人撰写,完整地介绍了如何开发一个标准的DApp. 以下是正文: 以太坊并不是那种需要一个STEM文凭(1)才能理解的高深莫测的智能合约应用建立平台,它的目标其实是成为万维网中各种应用架构的支柱.在这篇文章里,我们尝试去阐述如何

AZURE ACI -- 无服务器化容器解决方案

标题很对仗,目的很明确,蹭热度!!!前天看了 A 站的童鞋搞了一个,今儿我换个姿势用软 A 也搞一个.Azure Container Instance 服务是一种无服务器化的容器解决方案.ACI 服务是一个完全托管的容器服务,客户不需要搭建和维护容器计算集群(如用 VM 去搭建 Swarm 或者 Kubernetes ),客户管理视图和颗粒度在容器,可以直接进行容器消费,创建删除容器,并且按照容器分配的 CPU 和 内存资源的占用时间进行收费,并且容器生命周期跳转是非常快速的,可以快速的删除.创

无服务器计算是什么?管理员过来了解一下

管理员应该了解无服务器计算是什么以及它的工作原理,但是功能构建和部署主要是软件开发人员的领域:大多数管理员并不参与他们自己公司的无服务器计算基础设施. 管理员应该了解无服务器计算是什么以及它的工作原理,但是功能构建和部署主要是软件开发人员的领域:大多数管理员并不参与他们自己公司的无服务器计算基础设施. 在内部软件部署中,管理员负责配置计算和其他资源以运行工作负载,并且,他们经常会负责将工作负载部署到配置的资源,例如虚拟机和存储卷. 而敏捷软件开发做法会利用自动化来为每个软件构建或迭代配置部署,因

2019 年无服务器使用调查

传统的 IT 体系结构已经不适合当今快速发展的数字经济环境.技术顾问 <a href="https://www.linkedin.com/pulse/step-towards-true-digital-transformation-mainstay-company/">Declan Morris 表示</a>:"客户不仅期望零停机时间,而且要求应用程序无论在世界任何地方都具有一致的性能."他还预测到,接下来是无服务器计算和功能即服务(FaaS

腾讯云无服务器云函数架构精解

欢迎大家前往腾讯云技术社区,获取更多腾讯海量技术实践干货哦~ 分享人:陈杰,腾讯云架构平台部技术专家,10年云计算经验,现供职于腾讯架构平台部,负责弹性计算及云函数技术研发,致力于提供领先的基础设施平台以提升资源利用率及优化提升程序员开发运维效率. 继虚拟机,容器技术,无服务器化成为新的行业热点,无服务器云函数可以让用户无需关心服务器的部署运营,只需开发最核心的业务逻辑,即可实现上线运营,具备分布容灾能力,可依据负载自动扩缩容,按照实际调用次数与时长计费.本次主要分享腾讯云无服务器云函数在技术实

【转】高性能服务器架构(High-Performance Server Architecture)

High-Performance Server Architecture 高性能服务器架构 来源:http://pl.atyp.us/content/tech/servers.html译文来源:http://www.lupaworld.com/home/space-341888-do-blog-id-136718.html (map注:本人看了一遍,“于我心有戚戚焉”,翻译得也很好,于是整理了一下,重新发布,备忘) 引言 本文将与你分享我多年来在服务器开发方面的一些经验.对于这里所说的服务器,更

无服务器技术常见的五大误解

无服务器技术的快速增长让企业有机会节省服务器费用,并且帮助开发人员节省时间,能够关注于编码,而不是后台运维上.这样的切换带来的一个挑战是保持标准理解的难度.在上周于奥斯丁举办的 无服务器大会 上,我们就该领域相关的常见误解采访了Heavybit社区的专家. 误解 #1:无服务器是软件的全新变革方向 "一种常见的误解是无服务器是软件的全新变革方向,"Nick Martin说,他是 Meteor 的联合创始人和CTO."的确,这是让软件开发更快更容易的变革的下一步.就像编译器,数