原文发表于Msys Technologies博客
如果你是一个SaaS企业家,或者你想建立一个SaaS应用程序,在这种情况下,你可能已经意识到有一个围绕SaaS(软件即服务)发展起来的新经济的事实。在这个SaaS市场中,核心商业服务是通过按使用付费的方式提供给消费者的一种订阅模式。研究表明,软件即服务(SaaS)企业正在以飞快的速度发展。由于其简单的升级、可扩展性和低基础设施义务,它们正在成为首选。根据Smartkarrot.com,2020年SaaS行业的市值约为1100亿美元,预计到2021年底将触及1260亿美元的大关。而且预计到2022年将达到1430亿美元。
然而,安全是中小型企业阻碍充分利用强大的云技术的主要原因之一。虽然所有权的总成本曾经被视为可能的SaaS客户的主要障碍,但现在安全问题也在这个名单的首位。随着越来越多的用户拥抱新技术,人们对SaaS安全的焦虑也在演变,但一切都像评论和意见所暗示的那么糟糕吗?这里有7个SaaS安全的最佳实践,可以帮助你遏制SaaS的安全风险,这也是具有成本效益的。
1.使用强大的托管服务(AWS、Azure、GCP等),并充分利用其安全性
最大的云供应商已经在安全研究和开发上花费了数百万美元,并在全球范围内提供。利用他们的基础设施和他们向公众提供的最佳SaaS网络安全实践,将你的精力集中在你的软件所解决的核心问题上。
a.API网关服务
b.安全监控服务
c.加密服务
2.SaaS应用安全--减少攻击面和媒介
a.软件/硬件 -例如,不要在你的公共API中为管理相关任务定义端点。如果端点不存在,就没有其他东西需要保护(当涉及到SaaS端点保护时)!b.
b.人 -限制人们对任何敏感数据的访问。如果需要,对于一个用户访问敏感数据,记录所有采取的行动,如果可能的话,使其必须有一个以上的人参与访问数据。
3.SaaS安全检查表 - 不要保存敏感数据
a.只捕获你绝对需要的数据。例如,如果你从不使用一个人的国民身份证号码(如SSN),就不要要求它)
b.指定一个第三方来存储敏感数据。
在这一点上,例如,你的系统从不占有任何信用卡号码,所以你不必担心保护它。
4.加密你所有的客户数据 - 采用最好的SaaS安全解决方案
a.a. 静止的数据。当任何数据被保存为文件或数据库内部时,它被认为是 "静止的"。几乎所有的数据存储服务都可以在数据被加密时进行存储,然后在你要求的时候解密它。例如,SQL Server使你能够打开一个设置,用他们的透明数据加密(TDE)功能对存储的数据进行加密。
b.飞行中的数据。当数据从存储中读取并从当前运行的进程中传输出来时,它被称为 "飞行中"。通过任何网络协议发送数据,无论是FTP、TCP、HTTP,都是 "飞行中 "的数据。网络嗅探器(如果连接到你的网络)可以读取这些数据,如果它没有被加密,它可以被盗。对HTTP采用SSL/TLS是一个典型的例子。
5.5.记录对敏感数据的所有访问和修改 - 选择一个强大的SaaS安全架构
没有人可以保证你的系统的安全永远不会被破坏。它更像是一个 "何时会发生 "的问题,而不是 "是否会发生"。正是因为这个原因,记录所有对存储的敏感数据的更改和访问,以及对用户权限和登录尝试的调整是至关重要的。当实际出错时,你有一个审计日志,可以用来解决漏洞是如何发生的,并知道需要改变什么来阻止任何进一步的类似安全漏洞。
6.实施双因素认证
社会工程是黑客用来破坏任何系统的最常见方式。通过要求用户有第二个步骤来验证你的系统,使社会工程黑客更复杂。实施一个需要以下三类信息中至少两类的系统。
- 用户知道的东西(例如,用户名/密码)。
- 用户拥有的东西(例如,电话)
- 用户的东西(如指纹)。
向用户的手机或电子邮件发送代码是实现双因素认证的一种简单而有效的方式。为了平衡增加的安全性和对可用性的要求,让你的客户选择他们是否愿意使用电话或电子邮件,以及对所使用的设备的代码有效性的选择。
7.使用钥匙库服务
密钥库允许存储的敏感数据仅由被授予密钥库访问权的应用程序访问,消除了由个人处理秘密的需要。密钥库存储所有的秘密,以加密数据、数据库/数据库访问、电子签名文件等。Azure和AWS等云平台提供高度安全和可配置的密钥库服务。
为了额外的安全,为不同的客户使用不同的密钥库。对于高级安全,允许你的客户携带他们的钥匙。
经验之谈
企业必须利用云计算来提高其运营效率和降低成本有几个原因。然而,安全问题往往阻碍企业将其宝贵的数据放在云中。但是,有了正确的技术和最佳实践,SaaS可以比任何前提下的应用安全得多,而且你可以有许多选择来保留对安全基础设施的控制,并与各自的供应商正面解决安全问题。