如何授权web服务器提供安全数据库访问
来源:asp之家 发布时间:2009-07-23 16:36:00
允许Web用户访问数据库是一项很精细的工作,需要认真的考虑,不能马虎从事。
TechRepublic会员E Spigle 最近在TechRepublic Technical 的Q&A forum上提出了下面这个问题:
我们正在进行一项工作,把一个很老的FoxPro系统转换成我所工作的公司里的MS SQL / VB系统。我们已经在内部广泛地使用了SQL数据库。它目前位于我们局域网的防火墙之后,只能支持内部使用。可是我们的一部分转换程序带来了一些Web联机应用。现在我们就面临一个两难的局面,我们必须为了让Web用户和局域网的用户能够同时访问同一个数据库找到一个好的解决方法。目前我们的IIS 6.0 Web server在DMZ.如何能够让web服务器为网络应用提供数据库访问呢?
问题分析
这是个很有意思的问题,第一眼看起来很简单,但是当你再对它进行深入考虑后,你就会发现它的复杂之处。任何时候,当你想要使数据库具有互联网访问能力时,都有很多问题需要考虑。我首先会考虑的问题就是“我们处理的是什么类型的数据?”和“信息的敏感程度如何?”
我会考虑这两个问题的原因是我需要确定这些数据能够承受多大的风险。如果不能够承担任何风险,我可能会投入很多的资源和精力来保证我的数据尽可能不受侵害。但是,如果可以承担一定的风险,我会谨慎从事,但不会采用极端手段。比如,如果数据是一个病人的医疗历史信息,我就会不遗余力地保护数据安全,这就意味着不通过IIS连接,不使用SQL Server.
在我详细说明以前,我要声明,我对微软并没有偏见。我仅仅是要避免风险。微软的产品能够被很好地保护,并且在上述的情况下工作良好。但是,由于它的流行性,微软的产品更容易成为病毒,蠕虫、黑客和诸如此类攻击的靶子。在对于风险承受能力比较低的环境里避免使用微软的产品,这样就能够减少我的麻烦。
而且,根据数据所能够承担的风险程度,我将决定是否需要在web服务器和数据库之间进行加密,以及数据在数据库里是否需要加密。如果我们希望能够获得最高的安全性,我就会选择使用内置的或者第三方的加密软件。如果数据对于安全性要求不是那么高,我就会选择根本不加密,或者选择低级别一些的加密方法。
最后,我还需要决定使用什么样的连接来访问数据库。如果加密是必须的,或者/而且访问是通过客户服务器软件来进行(如同问题里描述的那样),那么我就需要使用VPN和一个应用层的代理。而且,我可能会考虑在我的Web服务器和数据库之间,设置一个应用服务器。
对于上面这些问题的答案帮助我设计数据库访问的环境。
搭建系统
我假设在E Spigle问题中所描述的数据的敏感程度不是非常高,所以使用IIS和SQL Server是可以被接受的。具体如图A所示:
图A:网络规划
如图A所示的网络通信中,80端口的HTTP或者1443只被允许到达Web服务器。然后Web服务器通过1433端口,通过TCP协议同SQL服务器进行通信。另一种方法,是使用微软的ISA服务器作为转换代理,并允许它控制与SQL服务器的通信。
无论你选择哪一种,都有一系列问题需要考虑,以确保你的SQL Server数据库的安全。这些问题在网上可以查到,它们包括了比如保护你的Windows服务器,保护IIS,保护SQL Server,处理Web服务器同SQL server的通信问题,这包含了认证、协议等等方面的问题。幸运的是微软在MBSA(Microsoft Baseline Security Analyzer)提供了一些帮助。
最后,你的开发人员和数据库管理员还需要把一系列标准和程序融合到应用代码和数据库中,以把安全风险降到最低。
最佳方案和可接受的风险
本篇文章讲述了在一个看起来很简单的问题背后的一些复杂之处,“怎样才能最好地让网络应用通过web服务器访问数据库?”也许还有资金的压力,但最终,会归结为在可承受的风险程度和投入之间的平衡问题。这是每一个面对这个问题的人都需要考虑的。


猜你喜欢
- 定义网站产品和网站运营某些类型的网站属于产品驱动型,另外一些网站则可能属于运营驱动型。邮箱属于典型的产品驱动型,比如现在越来越多的用户开始使
- 北京时间11月13日消息,据国外媒体报道,谷歌旗下视频共享网站YouTube周四表示,从下周开始,该网站将支持1080p格式的全高清视频内容
- 通俗的讲,Web服务器传送(serves)页面使浏览器可以浏览,然而应用程序服务器提供的是客户端应用程序可以调用(call)的方法(meth
- 一、memcached的安装1、下载 memcached-1.4.33.tar.gz、libevent-2.0.22-stable.tar.
- 核心提示:整站优化对于搜索引擎营销来说是一个必不可少的环节,是否能够做好整站优化关系着网站搜索营销的效果的好坏,并且搜索引擎营销SEM对于网
- IE9引入了Pinned Sites 新概念。Pinned Sites允许用户把网站像Windows应用程序一样“钉”在Windows 7
- Discuz作为最为成功的论坛产品,成功原因有很多,简单先说说它的可定制性及插件功能吧。当然很多功能也不是DZ独有的。DZ的可定制性表现在几
- 除了在未来互联网是否会完全取代传统媒体这个话题炙手可热之外,收费和免费的话题也是再掀波澜。记得马云说过,免费是最贵的服务,我想其中应该是一语
- 问题描述ESXI内的windows上安装workstations后,里面的虚拟机只能ping通windows宿主机的地址,ping不通其他的
- 百度与Google两大搜索向来都是不同的,Google的搜索结果更客观点,而百度则更适合大众化用户,作为站长有必要了解他们的某些“特殊爱好”
- Mobile Me是苹果的在线服务,主要由邮箱(@me.com),信息同步,在线磁盘,个人网页,iphone查找,远程控制组成。 Mobil
- 本文探讨Linux中主要的几种零拷贝技术以及零拷贝技术适用的场景。为了迅速建立起零拷贝的概念,我们拿一个常用的场景进行引入:引文##在写一个
- Google广告管理系统是一套在线广告管理系统,可以帮助广大网站主全面提高网站广告收益。通过这个系统,网站可以很方便的管理和投放网站广告,包
- 百度提供了不同关键词在过去一段时间里的“用户关注度”和“媒体关注度”的分析工具,即百度指数。虽然百度指数有很大的偏差,但是做为一个网络情报搜
- 8.使用安全密码一个好的密码对于一个网络是非常重要的,但是它是最容易被忽略的。前面的所说的也许已经可以说明这一点了。一些公司的管理员创建帐号
- 本篇文章讲的是提高WordPress自带的搜索功能的体验,使用Google CSE的可以飘过。随着站内信息的增多,站内搜索成为了每个网站必不
- 把 member/config.php里的$cfg_ml = new MemberLogin();改成$cfg
- 最近在百度和google上搜索了“官方下载”这个关键词,发现两处都是迅雷排在第一,然后都是腾讯QQ,
- WordPress系统本身,默认安装的情况下使用默认模板,实际上对搜索引擎并不友好,并没有针对搜索引擎进行很好的设计,下面我介绍一些方法可以
- 在使用ftp的时侯,经常遇到ftp链接后出现文件列表错误的情况,只是因为ftp的模式不正确,如何设置ftp的工作模式,什么是主动模式,什么又