转贴 使用 Rational AppScan 保证 Web 应用的安全性
上一篇 / 下一篇 2009-06-28 09:10:43 / 个人分类:Web安全性测试
使用 Rational AppScan 保证 Web 应用的安全性 |
51Testing软件测试网PK+pc/~G;^4j@ 在讨论 Web 应用安全之前,先简单介绍一下 Web 应用基础概念,这样便于理解为什么 Web 应用是脆弱的,容易受到攻击。51Testing软件测试网w@.{-z*F4o#o v$mI.Ux#UDgT01、 什么是 Web 应用 FH0^xllrAn0l ]0;P,k4Ho9S%@-MVS)e0Web 应用是由动态脚本、编译过的代码等组合而成。它通常架设在 Web 服务器上,用户在 Web 浏览器上发送请求,这些请求使用 HTTP 协议,经过因特网和企业的 Web 应用交互,由 Web 应用和企业后台的数据库及其他动态内容通信。 M&\^m1WOT04X$f%_@nT G#G$Z02、 Web 应用的架构51Testing软件测试网~7D?2u$TZrU T"o(n#j0fBW2a@ {/d0尽管不同的企业会有不同的 Web 环境搭建方式,一个典型的 Web 应用通常是标准的三层架构模型,如图 1 所示。51Testing软件测试网i.G.k8O\L-f*? ^ ^W$i2Z0图 1: Web 应用通常是标准的三层架构模型 "?W4r.[ }q1te0 $HOC5u%K2[4X0 \'Al;g!xe0在这种最常见的模型中,客户端是第一层;使用动态 Web 内容技术的部分属于中间层;数据库是第三层。用户通过 Web 浏览器发送请求(request)给中间层,由中间层将用户的请求转换为对后台数据的查询或是更新,并将最终的结果在浏览器上展示给用户。 k|*[tlJ e+N0.u D!G Kgm~0Web 应用安全全景51Testing软件测试网*Nbe?9b#C1x(n$k H YC3Rkf:O$b*p6z:A
}0当讨论起 Web 应用安全,我们经常会听到这样的回答:51Testing软件测试网1?+pD6t2pN-A%_]4d)E 图 2: 信息安全全景 9d-X[1Z\#IL:H0 @Kw0cR/p:u'G,J0 &Q8Ra^"a J+M0在企业 Web 应用的各个层面,都会使用不同的技术来确保安全性。为了保护客户端机器的安全,用户会安装防病毒软件;为了保证用户数据传输到企业 Web 服务器的传输安全,通信层通常会使用 SSL(安全套接层)技术加密数据;企业会使用防火墙和 IDS(入侵诊断系统)/IPS(入侵防御系统)来保证仅允许特定的访问,不必要暴露的端口和非法的访问,在这里都会被阻止;即使有防火墙,企业依然会使用身份认证机制授权用户访问 Web 应用。51Testing软件测试网X3XK(On6z1I,O 51Testing软件测试网2Jm|Fs#R P但是,即便有防病毒保护、防火墙和 IDS/IPS,企业仍然不得不允许一部分的通讯经过防火墙,毕竟 Web 应用的目的是为用户提供服务,保护措施可以关闭不必要暴露的端口,但是 Web 应用必须的 80 和 443 端口,是一定要开放的。可以顺利通过的这部分通讯,可能是善意的,也可能是恶意的,很难辨别。这里需要注意的是,Web 应用是由软件构成的,那么,它一定会包含缺陷(bugs),这些 bug 就可以被恶意的用户利用,他们通过执行各种恶意的操作,或者偷窃、或者操控、或者破坏 Web 应用中的重要信息。51Testing软件测试网,u ^6D0s ^u M2|giG#\G0因此可以看出,企业的回答,并不能真正保证企业的应用安全: },[Tnx r1w.A!o c0
只要访问可以顺利通过企业的防火墙,Web 应用就毫无保留的呈现在用户面前。只有加强 Web 应用自身的安全,才是真正的 Web 应用安全解决之道。51Testing软件测试网$}8R"x3G~ 51Testing软件测试网#_A*U)`%H{
/BI2I'LGhg ]q0 i?xhvA U#~0常见的 Web 应用攻击 "ai8K+b fP7n051Testing软件测试网q{&B |