2010-04-12 16:07:54 来源:ZDNET安全频道
一、Web安全不仅仅是互联网才需要
Web服务是指采用B/S架构、通过Http协议提供服务的统称,这种结构也称为Web架构,随着Web2.0的发展,出现了数据与服务处理分离、服务与数据分布式等变化,其交互性能也大大增强,也有人叫B/S/D三层结构。互联网能够快速流行得益于Web部署上的简单,开发上简便,Web网页的开发大军迅速超过了以往任何计算机语言的爱好者,普及带来了应用上繁荣。J2EE与.NET的殊途同归,为Web流行扫清了厂家与标准的差异;众望所归,SOA选中Web2.0作为其实现的基本工具之一(使用最广的),Web架构从互联网走进了企业内部网络,新业务系统的开发,越来越多的系统架构师选择了Web架构,与熟悉它的人如此广泛是分不开的。事实再一次证明了那个经典的理论:简洁的最容易流行。
简单与安全好象总有些“矛盾”,浏览器可以直接看到页面的Html代码,早期的Web服务设计没有过多的安全考虑,人性本善,技术人员总是相信人都是善良的!但随着Web2.0的广泛使用,Web服务不再只是信息发布,游戏中的装备交易、日常生活中网上购物、政府行政审批、企业资源管理…信息价值的诱惑,人的贪婪开始显现,不是所有的人都有Web设计者的“大同”思想,安全问题日显突出了。
2008年网络安全事件统计最多是:SQL注入与“网页挂马(木马)”。因为这是“僵尸”网络发展新“会员”的基本工具,而僵尸网络的经济与政治“价值”,这里就不用说了。SQL注入与“网页挂马”主要就是针对Web服务的,传统的安全产品(UTM/IPS)都有些力不从心。
互联网是个人思想展现的乐园,也是世界级的、虚拟的“另一个”社会,既然大家都是虚拟的、带着面具的,要变成现实社会中的真实利益,还需要一些转换才可以兑现,但SOA把Web架构带入企业内部网络,这里的网络世界是“真实的”,利益是可以直接兑现的,Web安全问题变得刻不容缓。
二、Web架构原理
要保护Web服务,先要了解Web系统架构,下图是Web服务的一般性结构图,适用于互联网上的网站,也适用于企业内网上的Web应用架构:
用户使用通用的Web浏览器,通过接入网络(网站的接入则是互联网)连接到Web服务器上。用户发出请求,服务器根据请求的URL的地址连接,找到对应的网页文件,发送给用户,两者对话的“官方语言”是Http。网页文件是用文本描述的,HTML/Xml格式,在用户浏览器中有个解释器,把这些文本描述的页面恢复成图文并茂、有声有影的可视页面。
通常情况下,用户要访问的页面都存在Web服务器的某个固定目录下,是一些.html或.xml文件,用户通过页面上的“超连接”(其实就是URL地址)可以在网站页面之间“跳跃”,这就是静态的网页。后来人们觉得这种方式只能单向地给用户展示信息,信息发布还可以,但让用户做一些比如身份认证、投票选举之类的事情就比较麻烦,由此产生了动态网页的概念;所谓动态就是利用flash、Php、asp、Java等技术在网页中嵌入一些可运行的“小程序”,用户浏览器在解释页面时,看到这些小程序就启动运行它。小程序的用法很灵活,可以展示一段动画(如Flash),也可以在你的PC上生成一个文件,或者接收你输入的一段信息,这样就可以根据你的“想法”,对页面进行定制处理,让你每次来到时,看到的是你上次设计好的特有风格,“贵宾的感觉”是每个人都喜欢的,更何况虚拟的网络世界中,你不认识的人还对你如此“敬仰”,服务得如此体贴…
“小程序”的使用让Web服务模式有了“双向交流”的能力,Web服务模式也可以象传统软件一样进行各种事务处理,如编辑文件、利息计算、提交表格等,Web架构的适用面大大扩展,Web2.0可以成为SOA架构的实现技术之一,这个“小程序”是功不可没的。
这些“小程序”可以嵌入在页面中,也可以以文件的形式单独存放在Web服务器的目录里,如.asp、.php、jsp文件等,并且可以在开发时指定是在用户端运行,还是在服务器端运行;用户不再能看到这些小程序的源代码,服务的安全性也大大提高。这样功能性的小程序越来越多,形成常用的工具包,单独管理,Web业务开发时,直接使用就可以了,这就是中间件服务器,它实际上是Web服务器处理能力的扩展。
静态网页与“小程序”都是事前设计好的,一般不经常改动,但网站上很多内容需要经常的更新,如新闻、博客文章、互动游戏等,这些变动的数据放在静态的程序中显然不适合,传统的办法是数据与程序分离,采用专业的数据库。Web开发者在Web服务器后边增加了一个数据库服务器,这些经常变化的数据存进数据库,可以随时更新。当用户请求页面时,“小程序”根据用户要求的页面,涉及到动态数据的地方,利用SQL数据库语言,从数据中读取最新的数据,生成“完整”页面,最后送给用户,如股市行情曲线,就是由一个不断刷新的小程序控制。
除了应用数据需要变化,用户的一些状态信息、属性信息也需要临时记录(因为每个用户都是不同的),而Web服务器本来是不记录这些信息的,只管答复你的要求,“人一走茶就凉了”。后来Web技术为了“友好”互动,需要“记住”用户的访问信息,建立了一些“新”的通讯机制:
免责声明:本网站(http://www.ciotimes.com/)内容主要来自原创、合作媒体供稿和第三方投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。