MS08-068:SMB 中的漏洞可能允许远程代码执行
Microsoft 已发布安全公告 MS08-068。要查看完整的安全公告,请访问以下 Microsoft 网站之一:
- 家庭用户:
http://www.microsoft.com/china/protect/computer/updates/bulletins/200811.mspx
跳过详细信息:立即从 Microsoft Update 网站为您的家庭计算机或便携式计算机下载更新:
- IT 专业人员:
http://www.microsoft.com/china/technet/security/bulletin/MS08-068.mspx
如何获取此安全更新的相关帮助和支持
:对于家庭用户,在美国或加拿大拨打 1-866-PCSAFETY 电话或与当地的 Microsoft 子公司联系可获得免费支持。有关如何与当地的 Microsoft 子公司联系以解决安全更新支持问题的更多信息,请访问 Microsoft 国际支持网站:http://support.microsoft.com/common/international.aspx?rdpath=4
北美客户还可以通过访问以下 Microsoft 网站立即获得无限制的免费电子邮件支持或无限制的个人聊天支持:
http://support.microsoft.com/oas/default.aspx?&prid=7552
对于企业客户,可以通过普通支持联系方式获得安全更新支持。
此安全更新的已知问题
症状
应用此安全更新后,应用程序(如 Microsoft SQL Server 或 Internet Information Services (IIS))发出本地 NTLM 身份验证请求时可能会失败。原因
出现此问题是由于 NT LAN Manager (NTLM) 将各种命名约定视为远程实体而非本地实体的方式造成的。当客户端执行计算并将正确的响应缓存到 NTLM 质询中时可能会出现本地身份验证失败,在将响应发送回服务器之前服务器在本地 "lsass" 内存中发送该质询。当 NTLM 的服务器代码在本地 "lsass" 缓存中发现接收到的响应时,该代码未实现身份验证请求并将其视为回复攻击。此行为导致本地身份验证失败。解决办法
若要解决此问题,必须禁用反射保护,以便可以对受影响的系统进行身份验证。 有关具体操作方法的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:896861 当您浏览的网站使用集成身份验证并承载于 IIS 5.1 或 IIS 6 上时,会收到 401.1 错误
887993 安装 Windows Server 2003 Service Pack 1 后用户访问 IIS 6.0 中的网页或查询 Microsoft SQL Server 2000 时会遇到身份验证问题
926642 安装 Windows Server 2003 Service Pack 1 后,如果使用服务器的 FQDN 或别名尝试在本地访问该服务器时出现错误消息:“访问被拒绝”或“没有网络提供商接受给定的网络路径”
如何禁用 NTLM 反射保护
重要信息此部分、方法或任务包含的步骤指导您如何更改注册表。但是,如果错误修改注册表,则可能会出现严重问题。因此,确保您正确执行这些步骤。若要额外的保护,请在修改注册表之前对其进行备份。然后,问题出现时可以对注册表进行还原。有关如何备份和还原注册表的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:322756 如何在 Windows XP 和 Windows Server 2003 中备份、编辑和还原注册表
若要禁用 NTLM 反射保护,必须在客户端计算机上修改注册表项。为此,请按照客户端计算机上的以下步骤操作:
- 依次单击“开始”、“运行”,在“打开”框中键入 regedit,然后单击“确定”。
- 找到注册表中的以下子项,然后单击:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
- 在“编辑”菜单上,指向“新建”,然后单击“DWORD 值”。
- 键入 DisableLoopbackCheck 作为 DWORD 的名称,然后按 Enter。
- 右键单击 DisableLoopbackCheck,然后单击“修改”。
- 在“数值数据”框中,键入 1,然后单击“确定”。
- 退出注册表编辑器,然后重新启动计算机。
禁用 NTLM 反射保护的影响
由于 NTLM 反射保护属于该 SMB 漏洞修补程序的一部分,在受影响的系统上禁用 NTLM 反射保护会将系统返回到有漏洞的状态。因此,如需要禁用,建议您使用 BackConnectionHostNames 注册表项。如何重新启用 NTLM 反射保护
若要重新启用 NTLM 反射保护,必须在客户端计算机上修改注册表项。为此,请按照客户端计算机上的以下步骤操作:- 依次单击“开始”、“运行”,在“打开”框中键入 regedit,然后单击“确定”。
- 找到注册表中的以下子项,然后单击:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
- 右键单击 DisableLoopbackCheck,然后单击“修改”。
- 在“数值数据”框中,键入 0,然后单击“确定”。
- 退出注册表编辑器,然后重新启动计算机。
如何禁用特殊 SPN 的 NTLM 反射保护
可以禁用特殊服务主要名称 (SPN) 的 NTLM 反射保护,从而导致相应身份验证失败。为此,请按照客户端计算机上的以下步骤执行:- 依次单击“开始”、“运行”,在“打开”框中键入 regedit,然后单击“确定”。
- 找到注册表中的以下子项,然后单击:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0
- 在“编辑”菜单上,指向“新建”,然后单击“多字符串值”。
- 键入 BackConnectionHostNames 作为多字符串值的名称,然后按 Enter。
注意:如果 BackConnectionHostNames 注册表项以 REG_DWORD 的形式存在,则必须删除 BackConnectionHostNames 注册表项。 - 右键单击“BackConnectionHostNames”,然后单击“修改”。
- 在“数值数据”框中,键入用于计算机上本地共享的 CNAME 或 DNS 别名,然后单击“确定”。
注意:必须在单独行上键入每个主机名。 - 退出注册表编辑器,然后重新启动计算机。
禁用特殊 SPN 的 NTLM 反射保护的影响
由于 NTLM 反射保护属于该 SMB 漏洞修补程序的一部分,在受影响的系统上禁用 NTLM 反射保护会将系统返回到有漏洞的状态,原因是已禁用特殊服务主要名称 (SPN) 的反射保护。如何重新启用特殊 SPN 的 NTLM 反射保护
为此,请按照客户端计算机上的以下步骤执行:- 依次单击“开始”、“运行”,在“打开”框中键入 regedit,然后单击“确定”。
- 找到注册表中的以下子项,然后单击:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0
- 右键单击“BackConnectionHostNames”,然后单击“修改”。
- 在“数值数据”框中,键入用于计算机上本地共享的 CNAME 或 DNS 别名,然后单击“确定”。
注意:必须在单独行上键入每个主机名。 - 退出注册表编辑器,然后重新启动计算机。