原生云环境中的安全性

在服务及其消费者无处不在的时代,企业系统和数据的安全风险正在爆炸式增长。来自云服务提供商的安全产品很有前景,但在本质上仍然是传统的方式,有时也是安全攻击的目标。

虽然企业期望应用程序,基础架构和关键数据从防火墙后面转移到云中运行,但系统架构师和设计人员发现自己在定制化安全开发和云提供商的产品之间徘徊。

虽然有许多企业的防火墙和VPN设备可用于数据中心或云环境,但重要的是包括访问控制,身份验证和授权在内的安全功能都是内置于应用程序层,而不是仅仅依赖于网络安全。应用程序级安全性的实现使访问控制具有可伸缩性,可移植性和不可变性。访问权限基于应用程序或服务或微服务的真实身份而非人为配置来管理。

云中的安全性

一个安全的系统是一个可靠的系统。原生云应用程序是安全的应用程序。跨云区域打包和部署的应用程序代码在各种容器中执行,并由许多客户端的应用程序访问。这使得在云环境中保护应用程序变得更加重要。

但是,编写安全代码不如业务逻辑那么有趣,并且通常与安全相关的任务一直保留到最后一刻,从而导致产品安全功能的重大失衡。这不是一个好习惯。

如果您正在构建可扩展以支持大容量的云解决方案,可以跨不同的数据中心实例运行,并且可以半自动或完全自动配置,则需要将安全性视为架构的核心构建块之一。

原生云微服务的数量呈指数级增长,物联网的兴起正在创造越来越多的接口和服务端点 - 这使得基于角色的身份验证保护应用程序端点变得更加重要。每个传入的请求都知道调用者及其相对于被调用的应用程序端点的角色。这些角色实质上决定了调用客户端是否具有足够的权限来对被调用的应用程序执行操作。

用于身份验证和授权的模式

虽然软件安全性本身并不存在“云原生”,但在保护您计划在云中部署的云原生应用程序时,有一些事情需要避免,以及具有一些最佳实践。有许多工具和技术可用于提供应用程序安全性。云中一些最流行的选项是OAuth,OpenID,SAML和HTTP Basic Authentication。虽然它们都涵盖相同的基础知识,但它们的方法和实现存在根本差异。

RFC 6749中描述的OAuth(开放授权):“OAuth 2.0授权框架通过协调资源所有者之间进行交互批准,使第三方应用程序能够代表资源所有者获得对HTTP服务的有限访问权限。 HTTP服务允许第三方应用程序代表自己获取访问权限。“
简单来说,OAuth是基于令牌的授权的开放标准,它允许第三方应用程序或系统(如Facebook)使用用户的帐户信息,而不会以受控方式暴露用户的凭据。

OpenID 构建于OAuth2授权框架之上,旨在提供其他身份验证功能。OpenID 还旨在通过避免XML和SOAP开销来降低复杂性,就像大多数SAML用例一样。OpenID允许用户通过称为身份提供者的第三方服务进行身份验证。用户可以选择其首选的OpenID提供程序登录到接受OpenID身份验证方案的应用程序或系统中。

SAML,一种基于XML的开放标准数据格式,用于在托管Web应用程序的服务提供商与维护和提供电子身份的身份提供商(如Linkedin,Facebook和Google)之间交换授权和身份验证数据。SAML提供了一种在不断扩展的平台世界中对用户进行身份验证和授权的安全方法。SAML还支持以平台无关的方式访问Web应用程序,从而以云原生方式实现更强大的稳健性,而无需让IT团队参与角色配置。

设计时注重安全

遵循云原生方式的架构师和设计师遵循云原生应用程序开发的12个因素,构建和实现使用外部化配置的无状态服务。设计安全的云原生应用程序时,一些非常基本的设计方法是:

  • 凭证和端点:始终将服务凭证和源/目标端点保留在内存之外。使用此方法,入侵者无法随时访问服务凭证或目标端点。
  • 缓存:云原生应用需要扩展到多个实例,应用应该使用外部缓存,如Memcache或Redis。为了支持无状态设计,应用程序不应该在请求执行时间内将任何信息存储在内存中。
  • 个人身份信息:永远不要将个人身份信息写入日志。日志流相对不安全,包含纯文本信息。日志流通常是入侵者的首选目标。
  • 加密静态和传输中的数据:
    这不仅适用于云应用程序,也适用于数据中心。敏感数据应在通过网络传输时或在存储库中处于静止状态时进行加密。IPSec和SSL /TLS可以方便地加密流经不同网络的数据。
  • 加密资源:
    您的加密资源本质上是流动的和动态的,必须定期循环或更新。应用程序,文件或数据库字段级别的加密通常可提供最高级别的安全性。但是,应用程序大多使用分散的加密和解密方法。这不仅可以提供更好的性能,还可以减少故障点。

云安全是一项共同的责任。云供应商(包括IaaS和PaaS的)管理安全的云计算,但是客户有责任确保其在云中的应用程序是安全的。为了完全保护他们的数据,企业架构师和技术团队应该应用最佳实践和设计方法,以确保应用程序和数据的安全性。云中的应用程序和数据安全性已经出现了几种最佳实践,并且它们将继续发展。安全实施不能成为事后的想法,在设计层面实施它将有助于保护机密数据并保持合规性。

猜你喜欢

转载自blog.csdn.net/peterwanghao/article/details/81193035
今日推荐