云计算对应用程序和架构设计的安全影响
一.默认隔离
二.使用微服务
三.不可变的基础设施
四. Paas平台和“无服务器”体系架构
五. 事件驱动安全
应用安全包含了一个非常复杂和庞大的知识体系:从早期设计和威胁建模去维护 和防护生产应用程序。随着应用程序开发实践的不断进步和采用新的流程、模式和技术,应用安全也在以难以置信的速度发展。云计算是这些进步的最大驱动因素之一, 它会产生相应的压力,使应用安全的状态发生变化,以确保这种进展尽可能安全地继续下去。本篇文章旨为希望在云计算环境中安全的构建和部署应用程序,特别是 PaaS 和 IaaS 的软件开发团队而提出的有助于减少常见安全问题若干建议
一.默认隔离
应用程序可以轻松地在属于自己隔离的云环境中运行,根据提供者的不同,可能是一个单独的虚拟网络(虚拟专有网络VPC),也可能是一个一个单独的账号/子账号。使用账户或者子账户结构可以有助于实现管理平台以及权限的隔离,可以在开通高度限制性的生产账户的同时,开通更广泛的开发账户权限。
二.使用微服务
在云计算中,更容易将不同的服务隔离到不同的服务器/容器中,一方面,不再需要最大化的利用物理服务器,另外一方面,即使在使用较小的计算机节点处理负载时,自动伸缩组也可以确保应用程序的可伸缩性因为每个节点都做得更少,所以更容易锁定并最小化运行在它上的服务。虽然这提高了每个负载的安全性(当使用正确时),但为了确保所有 微服务之间的通信,确保任何服务代理、调度和路由都是安全配置的,也确 实增加了一些开销。
三.不可变的基础设施
目前不可变的基础设施在云中变得越来越普遍,禁用远程登陆到不可变的服务器/容器,添加文件完整性监控以及将不可变技术集成到事件恢复计划中来扩展这些优点。
四. Paas平台和“无服务器”体系架构
Paas平台和无服务都是直接在云提供商平台上运行相关负载实例,自己不用去管理底层服务和操作系统)
当云提供商承担平台/无服务器设置的安全性并满足您的要求时,您可以通过使用Paas和无服务体系架构,这样做的好处是可以极大的降低了攻击面
无服务器平台是在云提供商的网络上运行的,其原理通过API或Https流量与消费者的组件通信,这样就消除了网络攻击路径,即使攻击者破坏了服务器,攻击者也仅限于使用API或者HTTs传输,像端口扫描,端口识别这些攻击对于无服务器平台都是无济于事的。
使用“无服务器”平台,对云提供商侧来看,有很大的经济动机来维持极高的安全级别,并更新自己的环境,大大消除了这些安全与消费者保持一直的日常责任,但它不会永远消除安全责任,个人认为与一个可靠的云提供商合作,最重要的一点这个云提供商具有良好的业绩。
五. 事件驱动安全
云提供商,在某些情况下,会检测到各种各样的操作活动,例如,修改代码,将文件上传到指定的对象存储位置等,从而可以通过通知消息触发代码执行,安全性可以为安全操作定义事件,并使用事件驱动的功能来触发自动通知、评估、补救或其他安全流程。