无服务器计算是云计算发展的最新趋势之一,也是最复杂的趋势之一。与任何一个新技术一样,无服务器计算也带来了新的技术风险。因此,组织需要了解无服务器是什么,以及其需要采取的安全步骤,以使无服务器工作负载安全运行。
通过无服务器计算,云计算能够以最原始的级别表达,无需组织运行自己的物理服务器。无服务器计算的倡导者称赞其纯粹服务的方法,而怀疑论者则表示将面临复杂性和安全性的问题。
那么无服务器的云计算到底是什么?也许更重要的是,组织如何采取主动措施来保护它?
什么是无服务器计算?
无服务器计算有时也被称为“功能即服务”,这可能是一个更具描述性的术语。无服务器也被一些供应商称为事件驱动计算。
借助云计算,组织不需要自己采用物理服务器,而是采用提供运行应用程序的虚拟服务器计算实例。在无服务器模型中,服务组件更进一步提升,其服务器本身被抽象了。
简而言之,对于无服务器的情况,与其他云计算服务一样,不需要长时间运行的服务器或容器,而是执行简单的功能来基于事件触发器实现给定的任务。
例如,不需要长时间运行的电子邮件服务,而是使用无服务器电子邮件功能,只需要发送电子邮件,就可以触发电子邮件功能。
无服务器计算是AWS lambda服务的先驱者,现在它也可以在微软的Azure公共云和谷歌云平台(GCP)上使用。还有多个开放源代码选项,支持私有云和Kubernetes容器编排系统部署的无服务器。
无服务器计算:优点和缺点
无服务器计算的风险
虽然无服务器计算为组织提供了一种更敏捷的不同服务交付方法,但它也是一种不同的部署和管理范例,可能会带来新的风险。
组织应考虑的无服务器计算风险包括:
•供应商安全性:无服务器功能在提供商的基础设施上执行,这可能安全也有可能不安全。
•多租户:无服务器服务中的功能通常运行在为多个客户运行代码的共享基础设施上;当涉及敏感数据时,这可能是一个问题。
•注入攻击:在注入攻击中,未经授权或意外的内容或数据被注入应用程序流;而在无服务器模型中,注入攻击可以来自无服务器功能调用以执行的事件。
•加密:无服务器功能通常可以调用数据库和其他特权资源;如果连接未加密,则可能会泄露数据。
•安全性错误配置:为了能够访问不同的资源,开发人员可能会直接将访问密钥、令牌、密码输入到该功能中;而没有保护这些秘密是一种风险。
•功能权限:通常无服务器功能被授予与服务器可能获得的相同权限。但是,无服务器功能只需要最低限度的权限即可执行,而过度配置权限会使该功能面临潜在风险。
•组件漏洞:功能通常依赖于第三方库和组件的供应链。如果其中一个组件中存在已知(或未知)漏洞,则可能会利用无服务器功能。
如何管理无服务器安全性
管理无服务器安全性就是要有适当的控制和策略。虽然云计算服务器安全策略可能对云中的虚拟计算服务器实例有效,但无服务器计算需要额外的控制级别、粒度、可见性。
减少无服务器权限
无服务器计算的最大风险是具有比所需更多权限的功能。通过无服务器,可以通过为所有已部署的功能实施最小权限模型显著地减少攻击面。在功能的开发阶段,可以在暂存环境中设置自动检查,从而减少权限数量。通过分析功能行为,还可以查看正在运行的功能实际使用的特权。通过该可见性,管理员可以具有访问权限以仅启用所需权限。
实施身份验证
调用服务的所有功能,无论是否在同一云计算提供商内部,都必须要求访问控制和身份验证才能帮助限制风险。云计算提供商提供有关如何实施无服务器身份验证的最佳实践的指导,管理员应遵循这些实践。
使用云平台提供程序控件
云计算提供商还具有多种内置服务,可帮助用户识别潜在的错误配置。例如,AWS Trusted Advisor是运行AWS Lambda的选项。
日志功能活动
由于无服务器功能是事件驱动和无状态的,因此查看实时活动通常会错过大多数活动。通过对无服务器使用云计算提供程序(或第三方)日志记录和监视,可以在需要威胁搜索时使用审计跟踪。
监控功能层
功能可以有多个层,可以调用不同的代码和第三方数据库。通过监控功能层,管理员可以识别注入和恶意活动的尝试。
考虑第三方安全工具
虽然无服务器平台提供商通常集成了一些安全控制,但它们的范围往往有限,只关注运行这些功能的平台。有多种第三方工具和技术可为无服务器计算提供额外的可见性和控制层。
无服务器计算安全供应商
无服务器计算安全工具的市场是一个相对较新的市场,但该领域已经有多家供应商。与容器安全供应商存在一些重叠(可以参阅eSecurity Planet的顶级容器安全供应商列表),因为无服务器技术通常涉及使用短期无状态容器。
Aqua Security
Aqua Security提供完整的容器和无服务器安全平台,可帮助组织评估和减轻无服务器风险。
Nuweba
Nuweba是无服务器行业领域的新秀,于2019年2月脱颖而出,拥有自己的安全功能即服务平台,可与主要公共云提供商的无服务器服务集成。
Puresec
PureSec无服务器安全平台专为无服务器安全性的挑战而构建,可以集成到组织现有的持续集成/持续开发(CI/CD)工作流程中。
Protego Labs
Protego Labs还专注于无服务器安全性,旨在提供从开发到部署的全生命周期安全性。
Snyk
Snyk平台使组织能够持续扫描功能,以帮助识别任何潜在风险。
Twistlock
Twistlock的平台在整个开发和部署生命周期中为容器和无服务器功能提供安全性。