|
知识路径: > 测试技术的分类 > Web应用测试 > Web应用运行测试 > 安全性测试 > 安全体系测试 >
|
相关知识点:11个
|
|
|
|
检验底层网络和主机基础结构提供给应用程序的安全设置,然后检验运行环境要求的所有限制。此外,考虑部署的拓扑结构以及中间层应用程序服务器、外围区域以及内部防火墙对设计的影响。检验下列问题,确定可能存在的部署和基础结构问题。
|
|
|
|
数据在客户端与服务器(或服务器与服务器)之间传输时最易受到攻击。网络负责数据传输的完整性和私密性。如果必须保证数据安全,可使用适当的加密算法。此外,还必须确保网络设备安全。因为这是维护网络完整性所必需的。
|
|
|
|
如果内部防火墙将Web服务器与应用程序服务器(或数据库服务器)分隔开来,则需要考虑下列问题,确保设计能适应这种配置。
|
|
|
|
②如果使用域账户和Windows身份验证,防火墙是否打开了必要的端口;
|
|
|
|
④如果Web服务器使用DTC(Microsoft Distributed Transaction Coordinator)的服务来启动分布式事务,内部防火墙是否为DTC通信打开了必要的端口。
|
|
|
|
如果部署拓扑结构包括了一个物理远程中间层,则需要考虑下列问题。
|
|
|
①是否使用企业服务。如果是,是否已限制了DCOM端口范围,内部防火墙是否打开了这些端口。
|
|
|
|
③远程处理用在受信服务器方案中,网络是否支持IPSec策略。
|
|
|
④ASP.NET承载远程组件是否支持身份验证和授权。
|
|
|
⑤是否使用Web服务,如果是,中间层Web服务如何验证Web应用程序的身份。Web应用程序是否通过在Web服务代理中配置凭据来使Web服务验证Web服务器的身份,如果否,Web服务如何明确调用者。
|
|
|
|
设计是否假定主机基础结构安全限制要失效。例如,安全限制可能要求根据所需的服务、协议或账户特权来对设计进行权衡。需要考虑下列问题。
|
|
|
①是否依赖可能不可用的服务或协议。开发和测试环境中可用的服务和协议可能在生产环境中不可用。
|
|
|
②是否依赖敏感的账户特权。设计应尽量使用特权最少的进程、服务和用户账户。
|
|
|
③要执行的操作是否要求可能不被许可的敏感特权。例如,应用程序是否要创建线程级模拟令牌来创建资源访问的服务身份。这项操作要求“作为操作系统的一部分”特权,而该特权不应授予Web服务器进程(因为可能增加进程被利用的风险)。如果需要此功能,设计应对更高级别的特权进行划分,例如,在进程外的企业服务应用程序中。
|
|
|
|
运行环境的代码访问安全信任级别决定了代码可访问的资源,以及它能执行的特权操作。请检查运行环境支持的信任级别。如果允许Web应用程序以完全信任级别运行,代码将能够访问操作系统安全性许可的任何资源。
|
|
|
如果Web应用程序必须以受限信任级别运行,则代码能访问的资源类型以及能执行的特权操作都将受到一定的限制。在部分信任案例中,设计应对特权代码进行沙盒(sandboxing)处理。此外,还应使用不同的程序集来分隔特权代码。这样,可以对特权代码和应用程序的其余部分单独配置特权代码,然后授予必要的附加代码访问权限。
|
|
|
注意:如果应用程序部署在共享服务器(或应用程序将由宿主公司运行),信任级别通常是个问题。此时,需要检查安全策略,然后确定Web应用程序的信任级别。
|
|
|