Warning message

This translation is outdated. For the most up-to-date information, please refer to the English version.

Samba 中的 Badlock 安全漏洞 - CVE-2016-2118

Status
Resolved
Impact
Important
Red Hat 产品安全团在用于 Microsoft Windows Active Directory 架构基于 DCE/RPC 的 SAMR 和 LSA 协议中发现协议漏洞已为其分配 CVE-2016-2118 ,并将其评级为 重要 2016 年 4 月发布的 Samba 重要安全漏洞 里描述的级别从‘中等’至‘严重’的其他相关漏洞,也已公开。
注意:是一个协议方面的问题,它影响到所有实现这个协议的应用程序,包括 Samba - CVE-2016-2118 和 Microsoft Windows - CVE-2016-0128。

背景资料

DCE/RPC 用来定义 API 及跨网络协议的远程过程调用机制规范。 Security Account Manager(SAM)远程协议(客户端到服务器)为帐户存储或包含用户和组的目录提供管理功能。该协议可为本地及远程 Microsoft Active Directory 域显示开放帐户数据库。 本地安全认证(域策略)远程协议是用来管理不同机器和域的安全策略。 这个协议可启用远程策略管理方案,但有少数情况例外。 SAMR 和 LSA 协议均基于 DCE 1.1 RPC 协议。
这些协议通常包含在所有 Windows 安装以及每一台 Samba 服务器中。它们是用来维护 Security Account Manager 数据库。这可用于所有角色(例如: 独立机器控制器或者域成员)

特此鸣谢

Red Hat 愿籍此机会感谢 Samba 项目组报告这个问题,特别是首先发现这个问题的 Stefan Metzmacher(SerNet)。

受影响的产品

Red Hat 产品安全团队已将这个问题评级为 重要 2016 年 4 月 发布的 Samba 重要安全漏洞里描述的 其他级别从‘中等’到‘严重’的漏洞也已公开。你可以在 Badlock: SAMR and LSA protocol man-in-the-middle attack against Samba (CVE-2016-2118) 里找到关于 Badlock 的其他信息。

以下 Red Hat 产品版本会受到影响:

  • Red Hat Enterprise Linux 4*
  • Red Hat Enterprise Linux 5
  • Red Hat Enterprise Linux 6
  • Red Hat Enterprise Linux 7
  • Red Hat Gluster Storage 3
Red Hat Enterprise Linux server 及 Red Hat Gluster Storage 中附带的 Samba 软件包的所有版本均会受此漏洞影响。

*您需要有活跃 ELS 订阅方可访问 RHEL 4 中的这个补丁。如果您没有活跃 ELS 订阅,请 联络 Red Hat 销售部 或您的具体销售代表以了解详情。

什么是 Red Hat Enterprise Linux 延长的生命周期支持附加组件(ELS)?

攻击描述及影响

任何一个由客户端启动,到服务器的授权 DCE/RPC 连接 用来作为 中间人攻击者模拟授权用户攻击该服务器中的 SAMR 或者 LSA 服务。结果是攻击者可获取 Security Account Manager 数据库的读取/写入权限,这样就会暴露所有密码及可能的敏感信息
客户端选择应用程序协议、认证类型例如: Kerberos 或者 NTLMSSP) 认证 等级(NONE、CONNECT、SIGN 或者 SEAL)在此均无关紧要。中间人攻击者 授权等级降级为 CONNECT 以接管该连接。 如下所述,Badlock 问题和一系列 CVE 都已被解决:

了解危险性

对于在 AD 环境中将 Samba 作为域成员使用的客户:

  • 如何探测:查找 smb.conf 文件中的 'security = ads'
    • 建议在 RHEL5 中迁移至 samba3x、RHEL6 中迁移至 samba(3.6)或 RHEL7 中迁移至 samba(4.2)
    • 迁移不是自动完成的,需事先规划,特别是 IDMAP,因为从 3.0 -> 3.6 以及从 3.6 -> 4.x 会有所变化。

对于在 NT 环境中将 Samba 作为域成员使用的客户:

  • 如何探测:查找 smb.conf 文件中的 'security = domain'
    • 建议在 RHEL5 中迁移至 samba3x、RHEL6 中迁移至 samba(3.6)或 RHEL7 中迁移至 samba(4.2)
    • 迁移不是自动完成的,需事先规划,特别是 IDMAP,因为从 3.0 -> 3.6 以及从 3.6 -> 4.x 会有所变化。

对于将 Samba 作为文件服务器使用的客户:

  • 如何探测:查找 'security = user' 或者 'security = ads' 或者 'security = domain' 或者 'security = standalone',以及 smb.conf 文件中定义的共享。
    • 建议在 RHEL5 中迁移至 samba3x、RHEL6 中迁移至 samba(3.6)或 RHEL7 中迁移至 samba(4.2)
    • 迁移不是自动完成的,需事先规划,特别是 IDMAP,因为从 3.0 -> 3.6 以及从 3.6 -> 4.x 会有所变化。

常见问题

  1. 我已更新了 Samba 服务器和客户端,我需要重启服务吗?
    • 不需要,当在您的系统应用更新时, smb 服务将自动重启。
  2. 我是否需要在我的架构中为 Samba 服务器和 Samba 客户端打补丁?
    • 您至少要更新 Samba 服务器。因为 Badlock 是一个协议漏洞,根据 Samba 架构的配置,服务器和客户端都可能会受影响。Red Hat 安全团队建议客户将两者都更新。
  3. 更新的补丁是否会破坏运行 Samba 旧版本的当前客户端
    • 这个安全建议收紧了用于配置 Samba 的安全选项。当更新了 Samba 服务器却没有更新客户端时,这可能会破坏相关配置。您可以回退到旧的不安全的选项来保持互用性,例如在 smb.conf文件里设置: allow dcerpc auth level connect = yes ,但既然这会导致某些攻击途径,Red Hat 产品安全团队强烈建议不要这样做。
  4. 我的 Samba 服务器实例没有与任何 Windows 域连接,这是否还会影响到我?
    • 是的,如果管理性用户使用非安全的客户端和 Samba 服务器通讯,或者使用安全客户端与不安全的 Samba 服务器通讯,man-in-the-middle 攻击者都可能利用这个漏洞。
  5. 加密可以保护我不受这个 MITM 攻击吗?
    • SMB 协议默认只加密凭证和命令,而文件是以明文进行传输的。我们推荐在对安全和隐私敏感的场合里使用加密来保护所有通讯。Samba 3.2 里添加了加密,但仅适用于 Samba 客户。Microsoft 在 Windows 8 和 Windows Server 2012 里添加了对 SMB 3.0 加密的支持。然而,这两种类型的加密都只保护 SMB 协商和命令完成后的通讯,如文件传输。这个阶段涉及上面强调的漏洞。虽然 Samba/SMB 加密是最佳实践,但还不足够防范这个漏洞。
  6. 修复了 Samba 的哪个版本?
    • Red Hat 正在所有支持的产品里更新 Samba 4.2/4.1/4.0/3.6/3.0 软件包(samba、samba3x、samba4),其中包括 IPA、OpenChange 和库(libtalloc、libtdb 和 libevent)等所需的依赖关系。

受影响的 配置

附带 Samba 服务器作为域成员的 Active Directory 架构会受此漏洞的影响。man-in-the-middle 攻击者会截取域成员和域控制器之间的 DCE/RPC 流量,以便模拟该客户端,并获取已授权用户帐户相同的权限。
任意配置为文件或打印服务器的 Samba 服务器会受这个漏洞的影响。

更新受影响的产品

Red Hat Enterprise Linux 4 - 延长的生命周期支持* samba (v3.0) RHSA-2016:0625
Red Hat Enterprise Linux 5 samba (v3.0) RHSA-2016:0621
Red Hat Enterprise Linux 5 samba3x (v3.6) RHSA-2016:0613
Red Hat Enterprise Linux 5.6 长生命周期 samba (v3.0) RHSA-2016:0623
Red Hat Enterprise Linux 5.6 长生命周期 samba3x (v3.6) RHSA-2016:0624
Red Hat Enterprise Linux 5.9 长生命周期 samba (v3.0) RHSA-2016:0623
Red Hat Enterprise Linux 5.9 长生命周期 samba3x (v3.6) RHSA-2016:0624
Red Hat Enterprise Linux 6 samba (v3.6) RHSA-2016:0611
Red Hat Enterprise Linux 6 samba4 (v4.0) RHSA-2016:0612
Red Hat Enterprise Linux 6.2 高级更新支持** samba (v3.6) RHSA-2016:0619
Red Hat Enterprise Linux 6.2 高级更新支持** samba4 (v4.0) RHSA-2016:0620
Red Hat Enterprise Linux 6.4 高级更新支持** samba (v3.6) RHSA-2016:0619
Red Hat Enterprise Linux 6.4 高级更新支持** samba4 (v4.0) RHSA-2016:0620
Red Hat Enterprise Linux 6.5 高级更新支持t** samba (v3.6) RHSA-2016:0619
Red Hat Enterprise Linux 6.5 高级更新支持t** samba4 (v4.0) RHSA-2016:0620
Red Hat Enterprise Linux 6.6 延长的更新支持 samba (v3.6) RHSA-2016:0619
Red Hat Enterprise Linux 6.6 延长的更新支持 samba4 (v4.0) RHSA-2016:0620
Red Hat Enterprise Linux 7 samba (v4.2) RHSA-2016:0612
Red Hat Enterprise Linux 7.1 延长的更新支持 samba (v4.1) RHSA-2016:0618
Red Hat Gluster Storage 3 (EL6) samba (v4.2) RHSA-2016:0614
Red Hat Gluster Storage 3 (EL7) samba (v4.2) RHSA-2016:0614

*您需要有活跃 ELS 订阅方可访问 RHEL4 中的这个补丁。如果您没有活跃 ELS 订阅,请 联络 Red Hat 销售部 或您的具体销售代表以了解详情。

什么是 Red Hat Enterprise Linux 延长的生命周期支持附加组件(ELS)?

**您需要有活跃 AUS 订阅方可访问 RHEL 6.X AUS 中的这个补丁。

迁移

在应用包含修复的软件包之前不使用私有帐号来访问 SMB/CIFS 服务可以降低风险。限制对物理硬件(控制台、服务器)的管理性访问,使验证不涉及任何网络通讯。

解决方案

新 smb.conf 配置选项
这个更新引进以下新 smb.conf 文件配置选项:
allow dcerpc auth level connect (G)
这个选项控制 DCE/RPC 服务是否 可以 和 DCERPC_AUTH_LEVEL_CONNECT 一起使用,它提供验证,但不能实现每条-消息 的完整性 (SIGN) ,也不能保护隐私 (SEAL)
有些接口,比如 SAMR、LSARPC 及 netlogon 有默认的 no 硬编码; epmapper、mgmt 和 rpcecho 有默认为 yes 的硬编码。
这个行为可根据接口名称(例如: lsarpc netlogon、samr、srvsvc、winreg 或者 wkssvc) 覆盖,方法是指定 'allow dcerpc auth level connect:interface = yes'。
这个选项会为任意具体实施限制生成优先顺序。 例如:
  • drsuapi 和 backupkey 协议要求 DCERPC_AUTH_LEVEL_PRIVACY;
  • dnsserver 协议要求 DCERPC_AUTH_LEVEL_INTEGRITY。
默认:allow dcerpc auth level connect = no
例如:allow dcerpc auth level connect = yes

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.

Current Customers and Partners

Log in for full access

Log In
Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.