MS08068:SMB 中的漏洞可能允许远程代码执行

Microsoft 已发布安全公告 MS08-068。要查看完整的安全公告,请访问以下 Microsoft 网站之一:

回到顶端

如何获取此安全更新的相关帮助和支持
:对于家庭用户,在美国或加拿大拨打 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 反射保护,必须在客户端计算机上修改注册表项。为此,请按照客户端计算机上的以下步骤操作:

  1. 依次单击“开始”、“运行”,在“打开”框中键入 regedit,然后单击“确定”
  2. 找到注册表中的以下子项,然后单击:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa

  3. 在“编辑”菜单上,指向“新建”,然后单击“DWORD 值”
  4. 键入 DisableLoopbackCheck 作为 DWORD 的名称,然后按 Enter。
  5. 右键单击 DisableLoopbackCheck,然后单击“修改”
  6. 在“数值数据”框中,键入 1,然后单击“确定”
  7. 退出注册表编辑器,然后重新启动计算机。
注意:若要使此更改生效,必须重新启动计算机。
禁用 NTLM 反射保护的影响
由于 NTLM 反射保护属于该 SMB 漏洞修补程序的一部分,在受影响的系统上禁用 NTLM 反射保护会将系统返回到有漏洞的状态。因此,如需要禁用,建议您使用 BackConnectionHostNames 注册表项。
如何重新启用 NTLM 反射保护
若要重新启用 NTLM 反射保护,必须在客户端计算机上修改注册表项。为此,请按照客户端计算机上的以下步骤操作:
  1. 依次单击“开始”、“运行”,在“打开”框中键入 regedit,然后单击“确定”
  2. 找到注册表中的以下子项,然后单击:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa

  3. 右键单击 DisableLoopbackCheck,然后单击“修改”
  4. 在“数值数据”框中,键入 0,然后单击“确定”
  5. 退出注册表编辑器,然后重新启动计算机。
注意:必须重新启动计算机此更改才能生效。
如何禁用特殊 SPN 的 NTLM 反射保护
可以禁用特殊服务主要名称 (SPN) 的 NTLM 反射保护,从而导致相应身份验证失败。为此,请按照客户端计算机上的以下步骤执行:
  1. 依次单击“开始”、“运行”,在“打开”框中键入 regedit,然后单击“确定”
  2. 找到注册表中的以下子项,然后单击:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0

  3. 在“编辑”菜单上,指向“新建”,然后单击“多字符串值”。
  4. 键入 BackConnectionHostNames 作为多字符串值的名称,然后按 Enter。
    注意:如果 BackConnectionHostNames 注册表项以 REG_DWORD 的形式存在,则必须删除 BackConnectionHostNames 注册表项。
  5. 右键单击“BackConnectionHostNames”,然后单击“修改”。
  6. 在“数值数据”框中,键入用于计算机上本地共享的 CNAME 或 DNS 别名,然后单击“确定”。
    注意:必须在单独行上键入每个主机名。
  7. 退出注册表编辑器,然后重新启动计算机。
注意:必须重新启动计算机此更改才能生效。
禁用特殊 SPN 的 NTLM 反射保护的影响
由于 NTLM 反射保护属于该 SMB 漏洞修补程序的一部分,在受影响的系统上禁用 NTLM 反射保护会将系统返回到有漏洞的状态,原因是已禁用特殊服务主要名称 (SPN) 的反射保护。
如何重新启用特殊 SPN 的 NTLM 反射保护
为此,请按照客户端计算机上的以下步骤执行:
  1. 依次单击“开始”、“运行”,在“打开”框中键入 regedit,然后单击“确定”
  2. 找到注册表中的以下子项,然后单击:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0

  3. 右键单击“BackConnectionHostNames”,然后单击“修改”。
  4. 在“数值数据”框中,键入用于计算机上本地共享的 CNAME 或 DNS 别名,然后单击“确定”。
    注意:必须在单独行上键入每个主机名。
  5. 退出注册表编辑器,然后重新启动计算机。
注意:必须重新启动计算机此更改才能生效。

回到顶端

原文地址:https://www.cnblogs.com/love007/p/2411398.html