目前, 基于云的应用被广泛使用, 并且以惊人的速度不断增长. 由于基于云的应用可以通过互联网访问, 并且任何人, 在任何地方都可以访问. 因此, 应用的安全性变得尤为重要. 这就是为什么创建和管理基于云的应用的企业必须要保证: 客户所信赖的应用基础架构的每一层都是安全的.
想象一下, 如果谷歌的 Gmail 遭到黑客攻击, 黑客能够读取用户邮件的内容, 会造成什么样的后果? 不仅谷歌的声誉会受到影响, 谷歌的客户也将很快开始寻找其他电子邮件的替代者, 客户, 资金不可避免地将大量流失. 假如结果发现: 如果检查安全漏洞的话, 该黑客所利用的 Gmail 安全漏洞很容易就能被阻止, 公众将会有什么反应呢? 虽然这是一个戏剧性的例子, 但是, 每天就会发生这样的情况. 重要的是, 企业要尽早采取相应的措施来预防安全漏洞, 不要等到为时已晚.
在本文中, 我将讨论三种不同的策略, 企业可以用这三种策略来最大限度地提高基于云的应用的安全性, 预防可怕的安全漏洞.
发现并修复安全漏洞
确保基于云的应用的安全性, 第一种方法是, 尽可能多地去发现并处理所有可能的漏洞. 许多技术可以用来发现应用中的安全漏洞, 如手动的或自动的源代码审查 , 污点分析, 网络扫描, 模糊测试 , 故障注入或者符号执行. 然而, 要想找出 web 应用中的软件漏洞, 并不是所有这些技术都同样适用. 对于基于云的应用来说, 如操作系统或者虚拟机管理程序 , 则要考虑应用本身的漏洞以及较低层的漏洞. 因此, 最好采用渗透测试服务来检查应用, 并且针对发现的所有漏洞, 做一份安全报告.
一定要记住: 即使经过了安全审查, 也有可能仍然存在零日攻击漏洞. 不过, 审查过程可以消除最为关键的漏洞.
避免安全漏洞被成功利用
要想最大限度地提高云应用的安全性, 第二个策略是: 不处理新发现的应用漏洞, 而是预防现有的漏洞被利用. 有多种技术和工具, 可以预防漏洞被成功利用, 包括:
防火墙 - 防火墙可以用来阻止访问某些 DMZ 边界的端口, 并成功地阻止攻击者通过网络或者 DMZ 访问易受攻击的应用.
入侵检测 (IDS)/ 入侵防御 (IPS)系统 - 通过使用 IDS / IPS, 企业可以在攻击有机会到达目标应用之前, 找到已知的攻击模式并且阻止攻击.
Web 应用防火墙(WAF) -WAF 可以用来查找应用层的恶意模式. 可以检测到漏洞, 如 SQL 注入 , 跨站点脚本和路径遍历. 有两种类型的 WAF 软件方案可供选择: 黑名单或者白名单. 黑名单 WAF 只能拦截已知的恶意请求, 而白名单 WAF 默认拦截所有可疑的请求. 当使用黑名单时, 很容易重新建立请求, 因此, 就算不出现在黑名单中, 该请求也绝对不会绕过白名单. 尽管使用白名单更加安全, 但是需要更多的时间来完成设置, 因为必须手动将所有有效的请求编入白名单中. 如果组织愿意花费时间建立 WAF, 企业的安全性可能会提高.
内容分发网络 (CDN)--CDN 使用域名系统 (DNS) 将内容分发到整个互联网的多个数据中心, 使网页加载速度更快. 当用户发送 DNS 请求时, CDN 返回一个最接近于用户位置的 IP. 这不仅会使网页的加载速度更快, 也可以使系统免受拒绝服务的攻击. 通常情况下, CDN 还可以开启其他保护机制, 如 WAF, 电子邮件保护, 监测正常运行时间和性能, 谷歌 Analytics(分析).
认证 -- 应尽可能采用双因素身份验证机制. 只使用用户名 / 密码组合登录到云应用, 对攻击者来说这是一个巨大漏洞, 因为, 通过社会工程攻击就可以收集到用户名 / 密码等信息. 另外, 攻击者也可以通过猜测或者暴力破解密码. 单点登录不但可以提高效率, 还能保证所有用户都能适当访问云应用, 同时保证安全性.
控制漏洞被成功利用所造成的损失
提高云应用安全性, 最后一种方案还包括: 攻击者发现安全漏洞后绕过保护机制, 进而利用漏洞访问系统, 控制由此造成的损失. 有多个 CSP 方案, 包括:
虚拟化 . 应用被攻破, 其配套的基础设施可能遭受损失, 尽管通过控制这种损失可以提高安全性, 但是, 在虚拟化环境中运行应用, 意味着每个应用都要运行一种操作系统 - 这完全是浪费资源. 这就是为什么容器变得越来越受欢迎. 容器是一种软件组件, 其中应用与系统的其余部分隔开, 从而不需要完全成熟的虚拟化层. 比较 流行的容器包括 Linux 容器 (LXC) 或者 Docker.
沙盒. 即使黑客能够访问后端系统, 但是应用的任何攻击都将被限制在沙箱环境下. 因此, 攻击者只有绕过沙盒才能访问操作系统. 有几种不同的可利用的沙箱环境, 包括 LXC 和 Docker.
加密 . 一些重要的信息, 如社会保障号或者信用卡号, 必须存储在数据库中进行适当加密. 如果应用支持的话, 企业应该将数据发送到已加密的云中.
日志监控 / 安全信息和事件监控 (SIEM). 当发生攻击事件时, 最好具备日志系统 / SIEM, 从而迅速确定攻击的来源, 找出背后的攻击者以及如何缓解这个问题.
备份 . 出现任何问题, 最好要有适当的备份系统. 因为创建工作备份系统很难 - 并且可能需要相当长一段时间, 很多企业选择将备份过程外包.
结论
如果将数据保存在云中, 就会带来一些新的安全性挑战 - 幸运的是, 有很多方法可以解决这些问题. 与避免漏洞被成功利用相比, 找出并修复应用漏洞也同样重要 , 具备适当的防御机制以阻止恶意攻击也很关键.
本文提出了很多方法可以保护基于云的应用, 但是, 设置需要时间和精力. 正是由于这些约束条件, 企业没有及时获得他们想要的投资回报, 因此企业往往忽略安全的重要性. 在实践中, 往往应用基础设施被破坏之后, 安全性才会显得很重要. 首先, 采取适当的步骤确保应用的安全性, 预防漏洞 -- 其次, 制定漏洞被利用时所采取的措施计划, 对云应用环境的成功与安全性, 组织的整体活力来说, 都至关重要.
来源: http://cloud.51cto.com/art/201806/576885.htm