Michael Cobb是认证信息系统安全架构专家(CISSP-ISSAP),知名的安全作家,具有十多年丰富的IT行业经验,并且还从事过十六年的金融行业。他是Cobweb Applications公司的创始人兼常务董事,该公司主要提供IT培训,以及数据安全和分析的支持。
问:我们刚完成一个WEB应用程序的构建,我想知道你推荐使用哪些安全设备来保护它的正常运行。
答:在对你想要尝试保护的数据和设备充分了解前,我是不可能对你所需要的外围网络和应用程序数据安全设备做出详细具体的建议的。你可以参照一些基本步骤来为任何一种WEB应用程序所必需的安全特性准备一个简短的采购清单。
首先,将WEB应用程序所要使用到的数据进行分类是非常重要的,它将会存储在哪?它是如何进行存取和处理的?下一步,识别及评估这些数据以及处理这些数据的系统及应用程序的风险,这个过程被称做威胁建模,应该在应用程序设计过程中实现。通过从一个攻击者的角度来分析一个WEB应用程序,你将会对如下问题有更好的理解:
1.它是如何受到攻击的?
2.它为什么会受攻击?
3.如何最大程度上减轻任何可识别的风险?
这个过程也可以帮助完善文档材料来识别和证明这个WEB应用程序的安全需求。
这些WEB应用程序的安全需求需要和整个组织全局性的安全策略相统一,这个全局性的安全策略定义了如何合法地保护这些数据的目标,基于此策略来决定如何最好地保护WEB应用程序,以防止受到任何可识别的威胁和降低敏感信息的风险。有一点我是非常肯定的,那就是如果重写部分应用程序的代码,逻辑及功能可以去除部分的漏洞,这样的努力应该通过附加的安全设备来进行补充,但是你的政策和策略必须明确一点,那就是你需要这些设备用来保护你的哪些数据以及用来防范哪些威胁。
当完成一个WEB应用程序后,你在查看用于减轻威胁的设备时,记得复查下它们用来保护防范哪种类型的威胁。有一些设备同时提供多种威胁的防护,比如病毒,间谍软件和恶意软件,而其它设备可能会着重于一种特定威胁,比如对即时聊天通讯上进行安全保护。你需要多加关注各家厂商在一种或多种安全领域所用到的这些技术覆盖的深度和方法。对应用程序数据带来多种攻击的一个常见问题是,它们经常在合法的客户端请求和响应上进行反复尝试,SQL注入是一个很经典的例子,因此传统的外围保护技术,比如包过滤防火墙已经不再有足够的保护能力。
性能和可扩展性是另两个重要的考量点,某些安全设备可能受限于每小时可扫描的事务量,而另一些设备则可能有网络限制或仅对很小范围内的一些应用程序协议提供保护,我认为,何时选择一个安全设备应该先回答如下的关键问题:
1.基于公司层面的安全策略目标和需求而言,它需要达到哪些目的?
2.它对于现有网络的适应性如何?就目前所所拥有的技术力量能否正确有效地使用它?
3.它将会对现存设备及用户造成什么影响,会造成怎么样的损失,比如设备重新采购,配置,人员培训所带来的花费等。
4.它会提供哪些额外的服务?
很明显地,用于防护和处理数据的所有设备需要正确地安装。安装过程需要遵循一个包括四个步骤的安全生命周期:即安全、监控、测试和改进。这是一个持续的过程,一旦按照此流程完成,它将会在一个固定的保护周期中,不停地在这四个步骤中循环。在任何一台设备连接上生产网络前,确保它已经被加固过,打过补丁,同时进行进一步的安全配置。
配置期间请确保参考你们自己的安全策略,用来保证这个设备被正确地配置以完成相应的任务,并且符合公司的安全方针。既然花了时间在选择和安装网络防护设备上,那么实施一个渗透测试是非常重要的,它可以确保这些设备的确按计划提供了这些保护。通过模拟这样的攻击,你可以评估你的站点是否还存在潜在的漏洞。
记住,你必须将基于渗透测试的结果所作的任何变更记录下来供以后参考,而且要确保配置没有被错误地改动,同时也必须做好对所有网络安全设备的物理访问控制和逻辑访问控制。如果仅限于依靠一些使用计量表类的安全设备,想达到保障应用程序安全是不可能的。你必须在各层次都建立防护措施:物理,网络,应用程序。通过使用这种威胁建模的流程可以保证在WEB应用程序层面也是安全的,在增加了它们的强壮性外,也减少了对外围安全设备的依赖。