如何保护无服务器应用?

本文涉及的产品
简介:

现在大部分从业人员都很熟悉云计算,由于这种熟悉程度,有时候很难回想起云计算的原始承诺。

云计算的原始承诺是企业可将注意力从不增加价值的事物转移到增加价值的事物。具体来说,企业原本需要构建基础设施、维护数据中心以及提供业务所依赖的应用,而云计算可将其重点转移到构建更好、更无缝和更相关的应用。

然而,仅因为事物在云端并不一定意味着所有维护要求都消失。例如,基础设施即服务部署仍然需要你进行漏洞修复、布置虚拟网络路径、提供基础安全设备以及完成很多其他任务,正如托管在内部数据中心时你做的那样。

而无服务器应用的新趋势有望帮助我们实现云计算的原始梦想。通过无服务器应用,不再有维护基础设施的工作,让你可专注于构建更好的应用。你可以想象,这非常令人信服和强大。

也就是说,保护无服务器应用安全相关的具体方法与企业过去可能采用的方法有些不同。这意味着,如果你计划使用无服务器应用,你可能需要提前思考安全方法并打下坚实基础。

无服务器意味着什么?

无服务器并不意味着没有服务器;事实是这里有服务器,只是用户或者构建应用的开发人员不需要知道服务器,也不需要了解服务器在做什么、了解它们如何运作或者警惕应用层下可能发生的情况。开发人员可通过定义API进行交互以部署他们所需要的逻辑。扩展、与特定硬件或底层中间件服务接口逻辑等操作都是由环境无缝且透明地处理。

在Google Cloud Functions或Amazon Web Services Lambda等环境中,通过事件触发功能,而应用功能用以响应这些事件,并实现小规模功能。环境会根据需要配置功能,并根据需求进行扩展。这样做的优势是,即使超出大多数云计算使用情况,你只需要支付你使用的部分。

这与常规、非服务器平台即服务部署有何不同?简单的回答是,从哲学角度来看它们非常接近。然而,即使在PaaS环境中,与无服务器环境相比,你仍然需要担心底层部署方面的情况。

例如,你可能需要在很多PaaS情况下专门提供资源,这样扩展并不是真正隐藏。同样,PaaS中特定服务的配置(例如数据库或邮件)可能需要非常了解底层部署。所以,从某种意义上来说,无服务器就像PaaS++。

无服务器应用的安全注意事项

你可能会想到,保护无服务器应用于保护传统单片应用或其他云部署有所不同。

首先,最重要的是,你与7层网络以下交互的能力几乎不存在。这意味着你无法将入侵检测设备放到虚拟网络或者在底层操作系统安装恶意软件扫描工具。因此,你需要彻底且完整地了解你正在部署的逻辑相关的威胁模型。

同样,你需要确保开发的代码是安全的。这可能不是简单的事情,因为应用安全是很多企业挣扎的领域。

例如,在应用问题方面,注入攻击仍然排在首位。虽然在某种程度上,漏洞总是会发生,但其实我们保护无服务器应用的能力与我们了解应用逻辑、移除或缓解潜在问题、保持代码高质量和监控环境的能力直接相关。这并非火箭科学,但确实需要有纪律。

如果你还没有这样做,这里有种方法可提供即时价值,那就是威胁建模。威胁建模已经是加强应用的有效工具,而它在无服务器环境中比其他情况下更有价值。它不仅可让你系统地映射和分析组件之间的交互点,而且还可生成数据流映射作为流程的部分。即使你可能没有完全了解数据存储或计算的底层机制,但应用元素如何交互的虚拟映射很有用,不仅仅是对威胁模型的分析。

在执行此操作时,你可能会考虑有哪些可用的选项可隔离应用逻辑,以为你提供更多的可见性或对操作的控制。例如,Vanadium等工具可让你以对开发人员透明的方式封装功能。你还可以选择自行部署包装策略。这样的策略可帮助寻找和过滤注入攻击,而不是假设所有开发人员可提供无注入代码。

最后,与任何其他事物一样,监控是必须事项。除了访问控制决策等,你还要了解应用逻辑本身。你想要发现任何不符合业务规则的异常事件。这将根据特定应用的用途而有所不同。这也是威胁建模可提供价值的领域,因为理想情况下,在创建和记录威胁建模的时候,你将首先了解应用的设计原理。

无服务器应用是强大的工具,但确保这些工具的安全性并不是安全团队可完全胜任的工作,因此,最好获得额外的外部和内部专业技能。

同样有帮助的做法是培训内部员工,让他们了解威胁建模方法、强大的编码做法以及常见滥用案例、攻击和威胁模型等。这也是很好的机会来培养人才、建立技能以及提高企业整体应用的复杂性和成熟度。

本文转自d1net(转载)

相关实践学习
基于函数计算一键部署掌上游戏机
本场景介绍如何使用阿里云计算服务命令快速搭建一个掌上游戏机。
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
4天前
|
应用服务中间件 Apache nginx
web后端-web服务器对比
web后端-web服务器对比
|
4天前
|
网络协议 Unix Linux
基础的网络服务器开发
基础的网络服务器开发
|
4天前
|
弹性计算 关系型数据库 数据库
在阿里云上搭建高效Web服务的完整指南
构建高效、稳定的Web服务是每个开发者的必修课。本文将详细介绍如何基于阿里云的相关产品,搭建一个具有高可用性和强大性能的Web服务。我们将使用Elastic Compute Service(ECS)、Server Load Balancer(SLB)、Relational Database Service(RDS)、域名服务等阿里云产品,通过图文并茂的方式为你展示整个流程。
77 0
|
9月前
|
Unix 应用服务中间件 nginx
一个高性能的web服务是如何搭建的?
一个高性能的web服务是如何搭建的?
|
12月前
|
存储 安全 架构师
「无服务器架构」无服务器架构是应用程序的正确选择?考虑利弊
「无服务器架构」无服务器架构是应用程序的正确选择?考虑利弊
|
Web App开发 应用服务中间件 Apache
NetCraft数据:8月Web服务器端软件使用情况
NetCraft数据显示,2010年8月,互联网上共有213,458,815个网站,四种Web服务器端软件用户数据增加,其中的两种市场占有率提升。 Apache依然是世界上最受欢迎的主机端,数量高达670万台,微软的市场占有率大幅下降了1%,主要来自中国电信业的损失,lighttpd则修复了上月的下...
991 0
|
前端开发 关系型数据库 应用服务中间件
高性能的服务器的架设
对于高性能网站 ,请求量大,如何支撑?1方面,要减少请求对于开发人员----合并css, 背景图片, 减少mysql查询等. 2: 对于运维 nginx的expires ,利用浏览器缓存等,减少查询.
802 0
|
Web App开发 网络协议 Windows
|
安全 数据中心 云计算