0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

剖析无服务器 (Serverless) 架构基础安全指南

电子工程师 来源:贤集网 作者:通讯基站 2021-03-24 11:41 次阅读

无服务器(Serverless)架构使组织无需内部服务器即可大规模构建和部署软件。像函数即服务(FaaS)模型这样的微服务盛行,推动了无服务器架构的普及。无服务器架构能够节省巨大的成本,并为大规模可伸缩性提供灵活性。

本文将概述确保无服务器架构的安全性应考虑的关键领域。虽然最适合的无服务器生态系统的解决方案是独一无二的,但以下内容将为建立无服务器架构安全方法提供坚实的基础。

流动的攻击面

简而言之,软件环境的攻击面包括未经授权用户可以输入或提取数据的所有点。了解和监控这些点是有效实现无服务器安全的关键。

无服务器系统由数十个、数百个甚至数千个组件组成。每一个新的工具、服务或平台集成到无服务器系统中,都为恶意和未经授权的用户提供了新的切入点。每次扩展和修整无服务器架构时,攻击面都会发生变化。

此外,由于无服务器架构的入口点众多且拓扑复杂,无服务器攻击面是多层次、多维度的。无服务器架构的攻击面具有很高的复杂性和波动性,因此人工映射和监控这些攻击面几乎不可能。

自动映射和监控无服务器架构

对于无服务器系统的自动化监控和发现,使你可以领先威胁一步,找到系统的安全薄弱点。你只能保护你能看到的东西。除非监控工具可以随着系统的扩展而增加其可见性范围,否则系统的大部分可见性将很快消失。

在无服务器架构中,很有可能会采用自动连续部署。这意味着攻击面上的新弱点也在不断地自动生成。如果监控和发现能力无法跟上,无服务器架构中新的部分将很容易受到攻击。

幸运的是,有可用的平台可以实时映射和监控无服务器架构。许多平台功能扩展了安全性,能指出未经授权的用户可以恶意操纵数据的位置。其中的某些平台在设计时特别考虑了无服务器安全性。

数据注入:最常见的无服务器安全风险

对于无服务器架构,数据注入是最常见安全风险。自第一个无服务器系统上线以来,注入漏洞已成为无服务器安全讨论的普遍特征。

无服务器架构的每个组件和函数都需要来自大量来源的输入。这些输入可能是云存储事件、来自API网关的命令、消息队列事件、数据库更改、来自IoT遥测的信号、甚至是电子邮件。这个输入列表实际上是无限的,仅受限于架构的规模和内容。

可以说,规模越大,函数输入数据的来源就越丰富。

这些确实是已看到的问题。每一种不同类型的来源均带有独特的消息格式和编码方案。其中的任何一种都可能包含不受信任或受攻击者控制的输入。预测和消除这些恶意注入是一个艰巨的挑战。

投资函数监控和日志记录,实现强大的无服务器安全性

在这种情况下,“投资”不一定指金融投资。时间和精力更为重要,尽管已发现投入时间和精力不足,会带来额外的代价。不要拖延时间和精力的投入。重大安全漏洞造成的代价影响,远远超过保护自己免受此类侵害的相对较低的投入。

许多云供应商提供了基本形式的日志记录功能或函数,常见示例包括AWS CloudWatch或Azure函数。尽管这些函数为无服务器环境启用了非常基本的日志记录,但是代价可能很高,并且一旦无服务器架构扩展到一定规模或一定程度的复杂性时,它们就可能无法满足你的要求。

开箱即用的解决方案并不总是适合需求。尽管它们具有基本函数,但它们可能缺乏在应用程序层进行全面安全事件审计的能力。无服务器架构的规模和形态的设计越独特,这种解决方案的不适合性便越正确。有许多专家构建的平台和工具可用来弥补这些监控和日志记录的不足。

如何实施日志记录

正如本文所说,函数监控和日志记录需要(但值得)投入一些时间和精力。在无服务器环境中使用函数日志记录要克服的主要障碍是,监控和日志记录存在于组织数据中心范围之外。

通过协调工程师,无服务器开发人员和DevOps团队来创建无服务器架构独有的日志记录逻辑,该逻辑可以从各种云函数和服务中收集日志,并将其推送到远程SIEM(安全信息和事件管理)系统上。

在无服务器环境中一些已知的特别重要的日志报告类型包括身份验证和授权、严重错误和故障、更改、恶意软件活动、网络活动和资源访问。

无论使用哪种无服务器架构模型,其中的许多日志报告都是关键报告。但是,在复杂且不断变化的无服务器环境中,监控和可见性可能很棘手。创建可在单个存储库中隔离,提取和整理这些日志报告的逻辑,对于实时监控整个架构至关重要。

通过日志逻辑收集的日志需要存储在某个地方。这是中间云存储服务发挥作用的地方。通过使用单个外部系统来整理整个无服务器生态系统中的日志记录信息,对安全事件进行实时监控。

在无服务器架构的拓扑中跨所有无服务器函数跟踪和遏制攻击者和恶意/未经授权的输入,而无需考虑层。

函数权限过高和身份验证失败

如果没有对函数和用户进行尽职调查和适当的审查,则无服务器架构中可能存在致命的弱点组合。

首先是健壮的身份验证。无服务器通常意味着面向微服务的架构设计。微服务架构可以包含数百个单独的函数。除了充当其他进程的代理外,许多无服务器函数还会使用公共Web API暴露在外。这就是为什么应用健壮的身份验证方案至关重要的原因。

随着无服务器系统的发展,身份验证方案失败或效率低下,可能会为未经授权的用户创建无限数量的访问点。这本身是危险的,但是如果函数权限过高,则可能会造成灾难性的后果。

在具有数十甚至数百个组件的无服务器环境中,管理函数权限和角色感觉就像一场艰苦的战斗。工程师犯下的最常见的安全错误之一是试图偷工减料并应用“包罗万象”的权限模型。尽管这样可以节省时间,但它使无服务器环境中的所有内容都极易受到攻击。

如果由于未遵守尽职调查而同时存在以上两个缺陷,则无服务器系统很容易被恶意外部用户访问。身份验证失败会打开大门,函数权限过高会将无服务器系统交给进入到系统的恶意外部用户。在设计,构建和部署过程中通过透彻周到的考虑,可以避免这两种情况。

进一步的无服务器安全注意事项

当然,还有其他考虑。例如,切记要停用过时的函数和云资源。这不仅有助于节约成本,而且旧的和未使用的组件会增加不必要的架构攻击面的维度。定期自动整理无服务器环境,并删除未使用的角色,身份和依赖项。

避免重用执行环境也很重要。对于云供应商而言,在两次调用之间保留执行环境可能很诱人。它使平台在处理新的调用时效率更高。但是,当执行环境被保留下来时,有价值的敏感数据可能会被保留下来。确保别以牺牲安全性为代价来实现效率。

无服务器环境是独特的,因此实现无服务器安全性的方法也应是独特的。

这始终是最重要的考虑因素。无论是部署配置,权限模型还是日志记录工具,开箱即用的解决方案都只能提供通用的保护。独特的无服务器环境需要一种独特的无服务器安全方法。

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 函数
    +关注

    关注

    3

    文章

    3897

    浏览量

    61310
  • FAA
    FAA
    +关注

    关注

    0

    文章

    18

    浏览量

    6820
  • serverless
    +关注

    关注

    0

    文章

    61

    浏览量

    4440
  • 无服务器
    +关注

    关注

    0

    文章

    16

    浏览量

    4023
收藏 人收藏

    评论

    相关推荐

    服务器远程不上服务器怎么办?服务器无法远程的原因是什么?

    安全软件问题 被安全软件屏蔽了 解决办法:检查云锁和安全狗类安全软件有没有把电脑本地IP加入服务器白名单中,如果没有的话就把电脑本地IP加
    发表于 02-27 16:21

    linux服务器和windows服务器

    和适用性。 首先,Linux服务器是一种基于开源的操作系统,其内核是由许多个人和组织共同开发和维护的。它具有高度的稳定性和安全 性。由于Linux操作系统的开放性,用户可以根据自己的需求和喜好进行自定义配置
    发表于 02-22 15:46

    鸿蒙原生应用元服务实战-Serverless华为账户认证登录需尽快适配

    一、ArkTS\\\\API9,服务器端基于serverless开发的应用与元服务华为账号注册登录功能暂时是不支持的 二、3月1日后的审核要求 3月1日的时间是快到了。 三、会导致的结果
    发表于 02-20 10:14

    鸿蒙原生应用/元服务开发-Serverless账户验证码的问题

    在应用/元服务早期使用过程中,-Serverless账户验证码的格式是[AGC][应用/元服务名称],如下图。 但是,在最近,[应用/元服务]名称直接变成了【default】,用户收到
    发表于 12-27 15:55

    HarmonyOS/OpenHarmony原生应用开发-华为Serverless服务支持情况(四)

    。借助云存储服务,您可以无需关心存储服务器的开发、部署、运维、扩容等事务,大大降低了应用使用存储的门槛,让您可以专注于应用的业务能力构建,助力您的商业成功。 是支持HarmonyOS
    发表于 10-16 14:20

    HarmonyOS/OpenHarmony原生应用开发-华为Serverless认证服务说明(二)

    Serverless认证服务说明 帮助应用快速构建安全可靠的用户认证系统,给用户更简捷的登录体验。支持手机号、邮箱、国内外主流三方平台帐号、游客匿名帐号等多种登录方式。 1.功能介绍 支持多种登录方式,使您
    发表于 10-10 14:59

    HarmonyOS/OpenHarmony原生应用开发-华为Serverless云端服务支持说明(一)

    Serverless又叫服务器计算,是一种按需提供云端服务架构服务模型。应用运行所需的
    发表于 10-08 10:22

    华为云云耀云服务器实例 L:为企业提供安全可靠的轻量应用服务器架构

    随着互联网应用的普及,用户的个人信息和敏感数据在应用中的存储和传输变得越来越重要。轻量应用服务器通过提供安全的数据传输和存储机制,确保用户数据不被未经授权的访问和篡改。它们通常具有强大的安全
    的头像 发表于 09-08 00:07 203次阅读
    华为云云耀云<b class='flag-5'>服务器</b>实例 L:为企业提供<b class='flag-5'>安全</b>可靠的轻量应用<b class='flag-5'>服务器</b><b class='flag-5'>架构</b>

    pc服务器服务器的区别是什么

    按上图指令架构分类,服务器可以分为: CISC复杂指令集 CISC服务器也称为 x86服务器,目前比较主流。主要是采用Intel、AMD处理器芯片。 iRISC精简指令集 RI
    发表于 08-25 09:48 1196次阅读
    pc<b class='flag-5'>服务器</b>和<b class='flag-5'>服务器</b>的区别是什么

    移植ARM DHCP服务器版本1程序员指南

    这本书由ARM DHCP服务器服务器软件提供, 假定ARM DHCP服务器移植源可以作为参考, 也假设您可以访问程序员的 C 和 ARM 组装语言指南。 本程序员
    发表于 08-18 06:46

    基于用户的许可证服务器管理指南

    指南介绍了如何为在基于用户的许可模式下获得许可的Arm产品安装和管理许可服务器
    发表于 08-08 06:58

    什么是服务器指令?

    服务器
    YS YYDS
    发布于 :2023年06月23日 01:02:04

    服务器与PC机的比较

          第1章、什么是服务器 服务器的逻辑架构仍然遵循冯·诺依曼架构,主要包含:处理器(CPU、GPU、DPU等)、存储器、I/O接口,以及SSD、BMC、PCIe插槽、主板、电源
    的头像 发表于 06-17 14:51 549次阅读
    <b class='flag-5'>服务器</b>与PC机的比较

    本地服务器与云服务器哪个好?

    的优缺点,并帮助您确定哪些设置适合我们的数据保护和  安全。 本地服务器和云服务器的优缺点: 本地服务器并不比云服务器提供更多的
    的头像 发表于 05-17 16:56 1129次阅读

    科技云报道:Serverless或许没有你想象中的安全

    Serverless安全性的最佳实践
    的头像 发表于 05-12 13:12 230次阅读