如何授权web服务器提供安全数据库访问 |
发布时间: 2012/5/25 19:28:16 |
允许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服务器和数据库之间,设置一个应用服务器。 本文出自:亿恩科技【www.enkj.com】 |