老男人百科 > 百科 > 正文

达梦数据库查看授权时间命令(mysql创建用户并授权数据库)

2023-05-31 13:37:34 阅读( 8483)

允许Web用户访问数据库是一项很精细的工作,需要认真的考虑,不能马虎从事。

允许网络用户访问数据库是一项非常微妙的工作,需要认真考虑,不能草率从事。

TechRepublic成员E Spigle最近在TechRepublic Technical的QA论坛上提出了以下问题:

在我工作的公司,我们正在进行一个项目,将旧的FoxPro系统转换成MS SQL/VB系统。我们在内部已经广泛使用SQL数据库。它目前位于我们局域网的防火墙后面,只能支持内部使用。

但是,我们的一些转换程序带来了一些Web在线应用程序。现在我们面临着一个两难的问题,我们必须找到一个好的解决方案,以便使Web用户和LAN用户能够同时访问同一个数据库。

目前,我们的iis 6.0 Web服务器在DMZ中。如何让web服务器为网络应用程序提供数据库访问?

问题分析

这是一个有趣的问题,乍一看似乎很简单,但当你进一步思考时,你会发现它的复杂性。任何时候,当你想让数据库可以上网的时候,都有很多问题需要考虑。

我将考虑的第一个问题是“我们在处理什么样的数据?”以及“信息有多敏感?”

我之所以会考虑这两个问题,是因为我需要确定这些数据能承受多大的风险。如果我不能承担任何风险,我可能会投入大量的资源和精力来保证我的数据得到尽可能的保护。但是,如果我能承担一定的风险,我会谨慎从事。

但不是用极端手段。比如数据是病人的病史信息,我会不遗余力的保护数据安全,也就是不通过IIS连接,不使用sql server。

在我阐述之前,我想声明我对微软没有偏见。我只想规避风险。微软的产品在上述情况下都能得到很好的保护和很好的工作。但由于其受欢迎程度,微软产品更容易成为病毒。

蠕虫、黑客之类的攻击目标。避免在风险承受能力低的环境下使用微软产品,可以减少我的烦恼。

而且根据数据可以承受的风险,我会决定web服务器和数据库之间是否需要加密,数据库中的数据是否需要加密。如果我们想获得最高的安全性,我会选择使用内置或第三方加密软件。

如果数据不是那么安全,我会选择完全不加密,或者选择更低级别的加密方式。

最后,我需要决定使用哪种连接来访问数据库。如果加密是必要的,或者/和访问是通过客户端服务器软件(如问题中所述),那么我需要使用VPN和应用层代理。另外,

我可能会考虑在我的Web服务器和数据库之间建立一个应用服务器。

这些问题的答案有助于我设计数据库访问环境。

建立一个系统

我假设E Spigle问题中描述的数据不是很敏感,所以使用IIS和SQL Server是可以接受的。如图A所示:

如何授权web服务器提供安全数据库访问

图a:网络规划

在图A所示的网络通信中,只允许HTTP或1443带80端口到达Web服务器。然后Web服务器通过TCP协议通过端口1433与SQL服务器通信。另一种方法,

是使用微软的ISA server作为转换代理,并允许它控制与SQL server的通信。

无论你选择哪一种,都有一系列问题需要考虑,以确保你的SQL Server数据库的安全。这些问题在网上可以查到,它们包括了比如保护你的Windows服务器,保护IIS,保护SQL Server,

处理Web服务器同SQL server的通信问题,这包含了认证、协议等等方面的问题。幸运的是微软在MBSA(Microsoft Baseline Security Analyzer)提供了一些帮助。

最后,你的开发人员和数据库管理员还需要把一系列标准和程序融合到应用代码和数据库中,以把安全风险降到最低。

最佳方案和可接受的风险

本篇文章讲述了在一个看起来很简单的问题背后的一些复杂之处,“怎样才能最好地让网络应用通过web服务器访问数据库?”也许还有资金的压力,但最终,会归结为在可承受的风险程度和投入之间的平衡问题。

这是每一个面对这个问题的人都需要考虑的。

专题页