安全公告
Microsoft 安全公告 MS00-035 - 严重
可用于“SQL Server 7.0 Service Pack 密码”漏洞的修补程序
发布时间: 2000 年 5 月 30 日 |更新时间:2001 年 5 月 10 日
版本: 1.2
最初发布: 2000 年 5 月 30 日
更新时间: 2000 年 6 月 15 日
更新时间: 2001 年 5 月 10 日
总结
2000 年 5 月 30 日,Microsoft 发布了此公告的原始版本,以宣布修补程序的可用性,该修补程序消除了 Microsoft® SQL Server® 7.0 Service Packs 1 和 2 安装例程中的安全漏洞。 在以非推荐模式配置的计算机上运行时,例程会在日志文件中记录管理员密码,其中任何可以在键盘上登录到服务器的用户读取密码。
2000年6月15日,公告进行了更新,指出,在与最初报告的相同条件下,密码也记录在第二个文件中。 可以使用新版本的修补程序来阻止在任一文件中记录密码。
2001 年 5 月 10 日,公告已更新,指出 Service Pack 3 也受到此漏洞的影响。 新的修补程序可用于 SP3,我们还提供命令行实用工具(Service Pack 部署后),以便通过 Q263968删除在任一文件中写入的 SA 密码的所有实例。
受影响的软件:
- Microsoft SQL Server 7.0 Service Packs 1、2 和 3
漏洞标识符:CVE-2000-0402
常规信息
技术详细信息
技术说明:
在配置为使用混合模式执行身份验证的计算机上安装 SQL Server 7.0 Service Pack 1、2 或 3 时,SQL Server 标准安全系统管理员istrator (sa) 帐户的密码以纯文本形式记录在 %TEMP%\sqlsp.log 和 %WINNT%\setup.iss 文件中。 文件的默认权限允许任何用户可以以交互方式读取可以登录到服务器的用户。
仅当使用混合模式时,才记录密码,即使这样,仅当管理员在安装 Service Pack 时选择使用 SQL Server 身份验证。 长期以来,Microsoft 建议将 SQL 服务器配置为使用更安全的 Windows NT 身份验证模式,并且遵循此建议的客户不会受到影响。 即使在受影响的计算机上,如果根据正常的安全建议,普通用户无法以交互方式登录到计算机,则无法泄露密码。
常见问题解答
此公告的内容是什么?
Microsoft 安全公告 MS00-035 宣布了修补程序的可用性,该修补程序消除了 Microsoft® SQL Server 7.0 Service Packs 1、2 和 3 的安装例程中的漏洞。 该漏洞可能允许管理员的密码在某些条件下遭到入侵。 Microsoft 致力于保护客户的信息,并提供公告,告知客户漏洞及其可执行的操作。
漏洞的范围是什么?
当 SQL Server 7.0 Service Packs 1、2 或 3 安装在使用混合模式执行用户身份验证的系统上时,安装过程在某些情况下可以在服务器上的两个文件中保留数据库管理员密码的副本。 如果由恶意用户恢复,则密码可用于对数据库执行管理控制。
此漏洞存在一些重大限制:
- 使用建议的身份验证方法 Windows NT® 身份验证时,不会发生此情况。
- 即使使用混合模式,也仅在使用特定类型的身份验证(SQL Server 身份验证)时才发生。
- 默认情况下,包含密码的文件只能由以交互方式登录到服务器的用户读取。 标准安全建议强烈反对允许普通用户 以交互方式登录到 安全关键服务器(如数据库服务器)。
导致漏洞的原因是什么?
如果 SQL Server 配置为在混合模式下执行身份验证,并且管理员选择在安装期间使用 SQL Server 身份验证,而不是 Windows NT 身份验证,Service Pack 1、2 和 3 的安装软件将提示用户输入管理密码。 由于上述条件为 true,则安装软件会将密码写入服务器上保留的两个文件。
将密码写入的两个文件是什么?
Sqlsp.log和 setup.iss
什么是混合模式?
SQL Server 支持两种模式来验证用户、混合模式和 Windows NT 身份验证模式。 在混合模式下,客户端使用 Windows NT 凭据进行身份验证(如果可能);否则,客户端使用本地存储在 SQL Server 数据库中的用户名和密码信息通过 SQL Server 身份验证进行身份验证。 混合模式的最常见用途是 SQL Server 托管在 Windows® 95 或 98 计算机上。
相比之下,Windows NT 身份验证模式要求使用 Windows NT(或 Windows 2000)凭据执行身份验证。 这更安全,Microsoft 强烈建议尽可能使用 Windows NT 身份验证模式。 使用 Windows NT 身份验证模式的客户不会受到此漏洞的影响。
混合模式的安全性为何低于 Windows NT 身份验证模式?
在混合模式下,用户名和密码信息存储在 SQL Server 本身中。 混合模式仅用于服务器、客户端和网络基础结构在物理保护的网络中,并且所有用户都受信任。 它包含在 SQL Server 7.0 中,仅用于提供与以前版本的向后兼容性,并允许与不支持 Windows NT 身份验证的产品进行互操作性。
相比之下,Windows NT 身份验证模式使用正常的 Windows NT 身份验证机制,该机制是在安全性非常重要的环境中生成的。 所有身份验证信息都存储在域控制器而不是 SQL Server 上,并且受强加密哈希保护(无论是在网络上还是域控制器上)。
有关 SQL Server 7.0 安全性的详细信息,包括身份验证模式,请参阅 https:。 具体而言,标题为“设置安全 SQL Server 7.0 安装”的部分提供有关更改身份验证模式的说明。
此漏洞是否会影响使用混合模式的所有客户?
否。 若要受该漏洞影响,以下三个条件都必须为 true:
- 客户必须已应用 SQL Server 7.0 Service Packs 1、2 或 3
- 必须在混合模式下配置 SQL Server
- 安装任何 Service Pack 时,管理员必须使用 SQL 身份验证。
后一点尤为重要。 在混合模式下,用户可以使用 Windows NT 或 SQL Server 身份验证进行身份验证。 如果管理员在安装 Service Pack 时选择使用 Windows NT 身份验证,则不会将密码写入日志文件。
此漏洞涉及哪些密码?
问题的密码是与 SQL Server 标准安全系统管理员istrator 帐户(即“sa”帐户)关联的密码。 使用混合模式时,将在管理员的 SQL Server 表中创建名为“sa”的 userid。
请务必注意,sa 帐户与 Windows NT 管理员istrator 帐户不同。 sa 帐户向 SQL 数据库提供管理权限,但计算机上没有权限。 此事实的重要性在于,此漏洞只能允许恶意用户篡夺 SQL 数据库(而不是计算机或网络)的控制。
谁可以读取包含密码的文件?
默认情况下,任何人都可以以交互方式登录到服务器读取文件。 默认情况下不会共享文件,因此远程用户无法读取它们。
谁应该能够以交互方式登录到服务器?
一般情况下,只允许管理员登录到安全敏感计算机(如数据库服务器)。 如果已遵循此建议,则只有管理员才能读取文件(当然,管理员已经知道密码)。
在 Windows 95 和 98 上,无法限制谁可以登录到计算机 - 所有用户都需要对计算机进行物理访问。 这是此类计算机只应在为所有硬件提供物理安全性的环境中使用以及所有用户信任的又一原因。
哪些计算机最有可能受到漏洞的影响?
受影响的唯一计算机是运行 SQL Server 7.0 Service Packs 1、2 或 3 的计算机,甚至仅当 Service Pack 设置期间使用 SQL Server 身份验证应用 Service Pack 时也是如此。
我已安装受影响的 Service Pack 之一,安装后确实使用了 SQL Server 身份验证。 应采取何种操作?
可以执行下列操作 之一 :
- 请运行知识库文章Q263968的“解决方法”部分中提供的密码实用工具工具
- 使用sp_password存储过程更改“sa”帐户密码
- 更改服务器配置以仅通过 Windows NT 集成身份验证验证用户。
- 搜索并删除这些文件的所有副本:
- sqlsp.log
- setup.iss
若要确保无法恢复文件,你可能希望通过按住 Shift 键并将文件拖动到回收站来永久删除这些文件。
我准备部署 SQL Server 7.0 Service Pack 2 或 3,并且我在混合模式下运行。 应采取何种操作?
最简单的操作过程是在安装 Service Pack 时使用 Windows NT 身份验证。 如果执行此操作,则不会记录密码 -- 并且总体安全性更好,如上文所述。
如果必须使用 SQL Server 身份验证,则有两个操作过程,具体取决于要安装 Service Pack 的计算机数:
- 如果要在少量计算机上安装 Service Pack,可能需要考虑正常安装 Service Pack,然后删除sqlsp.log和 setup.iss。
- 如果要将其安装到许多计算机上,可能需要使用安全公告中讨论的修补程序。 只需将 Service Pack 扩展到文件夹并安装修补程序。 它将用不创建日志文件的新文件覆盖受影响的文件。 然后,可以从文件夹中安装 Service Pack。 (请注意:修补程序的原始版本仅阻止密码在sqlsp.log中记录;正在开发的新版本将阻止在 setup.iss 中记录密码。已删除修补程序的原始版本;当新版本可用时,公告将更新。
如何实现使用修补程序?
知识库文章包含将修补程序应用到站点的详细说明。
在哪里可以获取修补程序?
安全公告的“修补程序可用性”部分提供了修补程序的下载位置。
如何判断是否正确安装了修补程序?
知识库文章Q263968提供了修补程序包中文件的清单。验证是否已正确安装修补程序的最简单方法是验证计算机上是否存在这些文件,并具有相同的大小和创建日期,如知识库(KB)文章中所示
Microsoft 对此有何操作?
- Microsoft 开发了一个消除漏洞的过程。
- Microsoft 提供了一份 安全公告 和本常见问题解答,可让客户详细了解漏洞和消除漏洞的过程。
- Microsoft 已将安全公告的副本发送给所有订阅者到 Microsoft 产品安全通知服务,这是一项免费的电子邮件服务,客户可以使用该服务随时了解 Microsoft 安全公告。
- Microsoft 发布了一 篇知识库文章 ,其中更详细地介绍了漏洞和过程。
在哪里可以找到有关安全性的最佳做法的详细信息?
Microsoft TechNet 安全 网站是获取有关 Microsoft 安全性的信息的最佳位置。
如何实现获得此问题的技术支持?
Microsoft 技术支持 可以协助解决此问题或任何其他产品支持问题。
修补程序可用性
下载此修补程序的位置
Microsoft SQL Server 7.0 Service Pack 2:
联系 Microsoft 产品支持人员注意:知识库文章的“解决方法”部分也提供了密码删除工具Q263968在部署 Service Pack 后,它将从受影响的文件中删除所有 SA 密码。
有关此修补程序的其他信息
安装平台:有关此问题的详细信息, 请参阅以下参考。
其他信息:
确认
Microsoft 感谢 以下客户与我们合作来保护客户:
- 人员Soft 的 Gordon Newman,用于报告sqlsp.log中是否存在密码
- Akintunde Oluwaleimu,用于报告安装程序中是否存在密码。iss
支持: 这是完全支持的修补程序。 有关联系 Microsoft 技术支持的信息,请参阅 </https:>https:。
安全资源:Microsoft TechNet 安全网站提供有关 Microsoft 产品安全性的其他信息。
免责声明:
Microsoft 知识库中提供的信息“按原样”提供,不提供任何形式的担保。 Microsoft 不明确或暗示所有保证,包括适销性和针对特定用途的适用性和适用性的保证。 在任何情况下,Microsoft Corporation 或其供应商都应对任何损害负责,包括直接、间接、附带、后果性、业务利润损失或特殊损害,即使 Microsoft Corporation 或其供应商被告知存在此类损害的可能性。 某些州不允许排除或限制后果性或附带性损害的责任,因此上述限制可能不适用。
修改:
- 2000 年 5 月 30 日:已创建公告。
- 2000 年 6 月 15 日:公告已更新,讨论 setup.iss 中的密码状态。
- 2001 年 5 月 10 日:公告更新为 SP3 提供修补程序,以及用于删除 SA 密码的工具。
构建于 2014-04-18T13:49:36Z-07:00</https:>