概要
系统管理员和开发人员必须考虑安全性和身份验证问题,因为未经授权的用户可能会损坏、窃取或以其他方式获得对数据的访问权限。本文对 Microsoft 桌面引擎 (MSDE) 安全性和身份验证进行概述,并介绍有关如何使数据更加安全的有用提示。
更多信息
安全性
若要保护数据库,必须对您的用户有所了解。当用户连接到数据库时,他们可能有许多不同的目的。用户可以读取数据、更改数据、删除数据或插入更多的数据。保护数据库的第一步就是确定允许每个用户对数据库执行哪些操作。
用户、组和角色
SQL Server 和 MSDE 具有用户、组和角色,您可以使用它们控制数据库上的安全级别。如果一组特定的用户只需要读取数据库中的数据,则您可以创建一个名为“OnlyReaders”的组,然后将用户添加到该组。作为该组成员的用户只能读取数据;不管有意无意,他们都不能更改数据。
若要了解有关用户、组和角色的更多信息,请参阅 SQL Server 联机图书。若要在 MSDE 数据库上添加用户、组和角色,请使用 OSQL 实用工具。
SA 帐户密码
使数据库更安全的另一个简单的步骤就是验证 SA 帐户是否具有安全密码。许多开发人员和系统管理员将 SA 帐户密码留空,这将使任何人都可以访问数据库。
若要在您的 MSDE 数据库上更改 SA 帐户密码,请按照下列步骤操作:
1. 在承载您正在连接到的 MSDE 实例的计算机上,打开命令提示窗口。
2. 键入下面的命令,然后按 Enter 键:osql -U sa此命令使用 SA 帐户将您连接到 MSDE 的本地、默认实例。
3. 在单独的行内键入以下命令,然后按 Enter 键:
sp_password null
'mynewpassword'
'sa'
注意:用新密码替换 'mynewpassword'。
请注意您将接收到以下消息,表示您的密码已成功更改:密码已更改。
ASP 中的安全性
Active Server Pages 中的安全性与基于 Windows 程序的安全性同等重要。有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
安全修补程序
为了维护安全性,您不仅需要管理用户、组和角色,还需要验证以确保您的数据库服务器上安装了最新的修补程序。可以为 SQL Server 和 MSDE 下载安全修补程序。Microsoft 建议您立即安装这些修补程序。有关更多信息,请访问下面的 Microsoft 网站:
http://www.microsoft.com/technet/security/bulletin/MS02-034.mspx (http://www.microsoft.com/technet/security/bulletin/MS02-034.mspx)
这是一个累积修补程序,包括以前为 SQL Server 2000 发布的所有修补程序的功能。另外,此修补程序还将修复以下三个新发现的影响 SQL Server 2000 和 SQL Server 桌面引擎(也称为 MSDE 2000)的漏洞。(这些漏洞不会影响以前版本的 SQL Server 或 MSDE):? 用于对 SQL Server 凭据信息进行加密的过程中的缓冲区溢出漏洞。未经授权的用户可以利用此漏洞获取对数据库的有效控制。用户可能会获得对服务器本身的控制,但具体情况取决于 SQL Server 使用的帐户。
? 与在 SQL Server 表中批量插入数据有关的过程中的缓冲区溢出漏洞。未经授权的用户可以利用此漏洞获取对数据库的有效控制。用户可能会获得对服务器本身的控制。
? 由于存储 SQL Server 服务帐户信息的注册表项上存在不正确的权限而导致的管理凭据提升漏洞。未经授权的用户可以利用此漏洞在系统上获得比系统管理员授予该用户帐户的权限更多的权限。该用户可能获得与操作系统相同的权限。有关更多信息,请访问下面的 Microsoft 网站:
http://www.microsoft.com/china/security/bulletins/MS02-035.asp (http://www.microsoft.com/china/security/bulletins/MS02-035.asp)
当您安装 SQL Server 7.0(包括 MSDE 1.0)、SQL Server 2000 或者 SQL Server 7.0 或 SQL Server 2000 的某个 Service Pack 时,将收集您为安装过程提供的信息并将其存储在名为 Setup.iss 的安装文件中。您可以使用 Setup.iss 文件自动执行其他 SQL Server 系统的安装。
SQL Server 2000 还包括将无人参与的安装记录到 Setup.iss 文件的功能,而无需您实际执行安装。在以下情况下,设置运行 SQL Server 的计算机的管理员可以赋予安装例程一个密码:? 如果设置 SQL Server 具有混合模式身份验证,则必须为 SQL Server 管理员帐户(SA 帐户)提供一个密码。
? 不管是以混合模式还是以 Windows 身份验证模式运行 SQL Server,您都可以要求一个用户 ID 和密码来启动 SQL Server 服务帐户。
不管是哪种情况,该密码都存储在 Setup.iss 文件中。在发布 SQL Server 7.0 Service Pack 4 之前,该密码以纯文本格式存储。对于 SQL Server 7.0 Service Pack 4 以及 SQL Server 2000 Service Pack 1 和 2,该密码在加密后进行存储。另外,在安装过程中,将创建一个显示安装结果的日志文件。该日志文件包括存储在 Setup.iss 文件中的所有密码。
身份验证
身份验证是 SQL Server 和 MSDE 对登录进行检查的方法,用来验证是否允许该用户连接到服务器。SQL Server 和 MSDE 使用两种安全模式:Windows 身份验证和混合模式身份验证。
Windows 身份验证
Windows 身份验证使用 NTLM 连接到 MSDE。如果您以管理员的身份登录计算机,则 MSDE 会尝试将您作为管理员进行身份验证。
混合模式身份验证
混合模式身份验证允许您通过使用 Windows 身份验证或 SQL Server 身份验证登录到 MSDE。SQL Server 身份验证允许您在 MSDE 中创建用户。当开发程序时,您可以在连接到 MSDE 时将用户 ID 和密码包括在连接字符串中。有关身份验证模式的更多信息,请访问以下 Microsoft 网站:
身份验证模式
http://msdn2.microsoft.com/en-us/library/aa905171(SQL.80).aspx (http://msdn2.microsoft.com/en-us/library/aa905171(SQL.80).aspx)
在安装过程中打开混合模式身份验证
在安装过程中,您可以通过使用以下命令参数运行安装来更改 MSDE 使用的身份验证模式:
此命令参数将使所安装的 MSDE 具有混合模式身份验证。通过此身份验证模式,您可以通过使用 Windows 身份验证或 SQL Server 身份验证连接到 MSDE。
注意:默认情况下,对于 Windows NT 和更高版本,MSDE 通过使用 Windows 身份验证进行安装。在运行 Windows 98 的计算机上,MSDE 使用 SQL 身份验证。
在安装完 MSDE 后打开混合模式身份验证
警告:注册表编辑器或其他方法使用不当可能导致严重问题。这些问题可能需要重新安装操作系统。Microsoft 不能保证您可以解决这些问题。修改注册表需要您自担风险。
默认情况下,对于 Windows 身份验证,将 LoginMode Windows 注册表子项的值设置为 1。若要在安装完 MSDE 后打开混合模式身份验证,您必须将此值更改为 2。LoginMode 子项的位置取决于您是将 MSDE 作为默认 MSDE 实例安装还是作为命名实例安装。? 如果 MSDE 是作为默认实例安装的,则 LoginMode 子项位于以下注册表子项中:
HKLM\Software\Microsoft\MSSqlserver\MSSqlServer\LoginMode
? 如果 MSDE 是作为命名实例安装的,则 LoginMode 子项位于以下注册表子项中:
HKLM\Software\Microsoft\Microsoft SQL Server\Instance Name \MSSQLServer\LoginMode
若要将 LoginMode 的值更改为 2,请按照下更步骤操作:1. 在“控制面板”中,打开服务工具,然后停止 MSSQLSERVER 和所有其他相关服务(例如 SQLSERVERAgent)。
2. 在开始菜单上,单击运行,键入 regedt32,然后单击确定以启动“注册表编辑器”。
3. 找到以下两个子项之一(取决于 MSDE 是作为默认 MSDE 实例安装的还是作为命名实例安装的):? HKEY_LOCAL_MACHINE\Software\Microsoft\MSSqlserver\MSSqlServer\
- 或 -
? HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\Instance Name\MSSQLServer\
4. 在右窗格中,双击 LoginMode 子项。
5. 在 DWORD 编辑器对话框中,将此子项的值设置为 2,确保选择了 Hex 选项,然后单击确定。
6. 重新启动 MSSQLSERVER 服务和 SQLSERVERAgent 服务以使更改生效。
相关专题
- 基础知识 黑客域名劫持攻击详细步骤 (0次浏览)
- CISSP的成长之路(十八):详述网络威胁类型 (0次浏览)
- 个人用户的网络安全防范 (0次浏览)
- 驱逐威胁 六把安全利剑清除僵尸网络 (0次浏览)
- CISSP的成长之路(十九):详述安全威胁控制手 (0次浏览)
- 07年电脑安全大盘点:蠕虫网络威胁Web 2.0 (0次浏览)
- Web应用安全的全新探索 (0次浏览)
- 到底谁需要网络访问控制 (NAC)? (0次浏览)
- 针对性的防御手段 十招应对邮件欺诈 (0次浏览)
- 跨站打印攻击 网络打印机成攻击新途径 (0次浏览)



