渗透测试是一项旨在确定和解决任何黑客可能利用漏洞的IT安全性措施。就如同传统数据中心广泛采用这一测试方法一样,很多企业的IT部门也在他们的 公共云计算环境中使用着这种渗透测试。无论是AWS、谷歌还是微软Azure的云计算,这里将介绍一些针对公共云计算制定渗透测试计划的最佳实践。
首先,由于渗透测是看上去就好像是攻击,那么在执行这样的测试之前,与云计算供应商进行充分的事前沟通则是非常重要的。
其次,应确定一份具体的测试对象清单,具体包括服务器、终端、应用程序、网络服务和持久性数据存储。你可以使用诸如Metasploit之类的工具 或者诸如Tinfoil安全这样的第三方服务供应商所提供的安全扫描工具来执行渗透测试。但无论使用哪种方法,你都需要一个包括待测试组件信息的明确定义 列表。
然后,确定需要执行哪些测试。开放式Web应用程序安全项目(OWASP)所维护的一份列表中就包括了Web应用程序的十大安全漏洞。这是一个很好 的起点,我们可以将其视为企业用户应予以重点关注测试的最小漏洞集合。该列表包括了注入攻击、中断会话管理与认证、跨站点脚本程序和安全性错误配置。
请务必确保测试所有的潜在攻击点。你有可能希望用户一直使用你所提供的网络接口,但是攻击者可以直接利用Web服务或数据库服务器。在你的应用程序堆栈中测试所有面向公众的接入点,其中包括API函数和应用程序接口。
如果你拥有足够的时间和资源,那么还应针对无法从互联网访问的服务进行测试。例如,你可能需要配置你的数据库服务器以便于只接受来自于你的应用程序 服务器的连接。有的人可能会认为这个数据库是无法从Web端进行访问的,所以它是受到一定程度保护的,但是这一点并不一定是正确的。
安全措施有可能会失效。如果能够访问数据库服务器的应用程序服务器被攻陷,那么黑客们就可以将应用程序服务器作为攻击数据库服务器的主机。所以,在 不影响正常功能的情况下,应尽可能多地强化数据库服务器的安全措施。按照纵深防御的做法,实施多种控制措施来保护数据和系统资源。数据库服务器的安全性不 应只是依靠一个具有较高安全性的应用程序服务器。
最后,请记得并不是所有的攻击都是来自于组织外部的。来自内部的攻击有可能可以合法且恶意地访问众多系统。审查日志文件,从而确定是否捕获足够的信 息以便于对一个实际的攻击做出响应。此外,还应检验安全信息和事件管理软件的功能。应确保按照预先设计发出警报,以安全专家能够确定警报原因的形式向他们 提交安全数据。