Warning message

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

Samba 中的 Badlock 安全性弱點 - CVE-2016-2118

Public Date:
Updated -
Status
Resolved
Impact
Important
Red Hat 產品安全部門已得知 Microsoft Active Directory 架構中,以 DCE/PRC 為基礎的 SAMR 與 LSA 通訊協定之漏洞。這問題已經被指定為 CVE-2016-2118 且被評為 重要。 其它相關的弱點,從中等到重大都描述在 2016 年 4 月 12 日發出的 Samba 重大安全性漏洞中 ,這已經公諸於世。
注意這是通訊協定上的問題,會影響所有採用此通訊協定的應用程式,包括 Samba - CVE-2016-2118 與 Microsoft Windows - CVE-2016-0128。

背景資訊

DCE/RPC 是定義 API 與網路上通訊協定(over-the-network protocol)的 RPC 機制。這個 SAM(Security Account Manager,安全帳戶機制)的遠端通訊協定(客戶端至伺服器端)為帳號儲存或包含使用者與群組的目錄提供了管理功能。這個通訊協定會將「帳號資料庫」暴露給本機與遠端的 Microsoft Active Directory 網域使用。本地的安全授權(網域政策)遠端通訊協定會用來管理多台機器與網域的安全政策。這個通訊協定,在極少數例外情況下,會啟用遠端的安全管理情境。SAMR 與 LSA 通訊協定都基礎在 DCE 1.1 RPC 通訊協定上。
Windows 機器上都有這些通訊協定,每台 Samba 伺服器亦然。這些通訊協定用來維護安全帳號管理員的資料庫。這套用至所有角色(例如單機、網域控制器、或網域成員)。

鳴謝

Red Hat 感謝 Samba 專案回報此問題。上游專案感謝 SerNet 的 Stefan Metzmacher 最早回報此漏洞。

受衝擊的產品

這問題已被 Red Hat 產品安全部評為 重要 安全性衝擊。其它相關的弱點,從中等到重大都描述在 2016 年 4 月 12 日發出的 Samba 重大安全性漏洞中 ,這已經公諸於世。其它 Badlock 的資訊可以在 Badlock:SAMR 與 LSA 通訊協定對 Samba 進行的中間人攻擊(CVE-2016-2118) 一文。

以下 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 伺服器與 Red Hat Gluster Storage 的所有 Samba 套件的版本都會受到此漏洞的影響。

*要存取 RHEL 4 對於此問題的修正檔,使用者需要有 ELS 的訂閱服務。如果您沒有啟用中的 ELS 訂閱服務,請 聯絡 Red Hat 銷售人員 或指定的業務代表,以得知更多資訊。

何謂 Red Hat Enterprise Linux ELS(Extended Life Cycle Support,延伸生命週期)外掛?

攻擊的描述與衝擊

由客戶端啟動、連至伺服器的任何通過授權之 DCE/RPC 連線,都可能會被駭客使用「中間人攻擊」(man-in-the-middle attack),對伺服器上的 SAMR 或 LSA 服務假冒為通過授權的使用者。因此,攻擊者可以取得安全帳號管理員資料庫的讀/寫權限,進而顯示所有密碼及其它機密資料。
用戶端所選擇的應用程式通訊協定、授權類型(例如 Kerberos 或 NTLMSSP)、以及授權等級(NONE、CONNECT、SIGN 或 SEAL)並沒有任何影響。中間人攻擊可以將授權降級到 CONNECT 並控制連線。Badlock 問題會透過一連串的 CVE 來修正,如下所述:

理解暴露的危險

在 AD 環境中使用 Samba 作為網域成員的用戶:

  • 偵測方式:在 smb.conf 檔案中尋找 'security = ads'
    • 我們建議您將 RHEL 5 遷移至 samba3x (3.6) 、將 RHEL6 遷移至 samba (3.6)、或將 RHEL 7 遷移至 samba (4.2)
    • 遷移不是自動的,而需要事先規劃,特別是 IDMAP,因為 3.0 -> 3.6 與 3.6 -> 4.x 有所變更

在 NT 環境中使用 Samba 作為網域成員的用戶:

  • 偵測方式:在 smb.conf 檔案中尋找 'security = domain'
    • 我們建議您將 RHEL 5 遷移至 samba3x (3.6) 、將 RHEL6 遷移至 samba (3.6)、或將 RHEL 7 遷移至 samba (4.2)
    • 遷移不是自動的,而需要事先規劃,特別是 IDMAP,因為 3.0 -> 3.6 與 3.6 -> 4.x 有所變更

使用 Samba 作為檔案伺服器的用戶:

  • 偵測方式:在 smb.conf 檔案中尋找 'security = user'、'security = ads'、'security = domain' 或 'security = standalone',並在其中定義的共享資源
    • 我們建議您將 RHEL 5 遷移至 samba3x (3.6) 、將 RHEL6 遷移至 samba (3.6)、或將 RHEL 7 遷移至 samba (4.2)
    • 遷移不是自動的,而需要事先規劃,特別是 IDMAP,因為 3.0 -> 3.6 與 3.6 -> 4.x 有所變更

常見問題集

  1. 我已更新了我的 Samba 伺服器和客戶端,我是否需要重新啟用任何項目?
    • 不,當更新套用到您的系統上時, smb 服務將會自動重新啟用。
  2. 我需要在 IT 環境中升級 Samba 伺服器與用戶端嗎?
    • 至少該升級 Sambe 伺服器。因為 Badlock 是通訊協定上的漏洞,伺服器端與客戶端都會受到影響,這端視 Samba 架構的配置而定。Red Hat 產品安全部建議用戶升級伺服器與客戶端。
  3. 更新檔會影響我現有執行舊版本 Samba 的用戶端嗎
    • 這項安全建議緊縮了一些用來配置 Samba 的安全性選項。在升級 Samba 伺服器時,這可能會弄亂配置;但升級用戶端時不會。要讓系統繼續運作,將配置回復到之前不安全的選項是有可能的(例如在 smb.conf 檔案中設定 allow dcerpc auth level connect = yes 選項);但 Red Hat 產品安全部強烈建議您不要這麼做,因為這會引來一些攻擊。
  4. 我的 Samba 伺服器並未連到任何 Windows 網域,我還是會受到影響嗎?
    • 會,如果管理者使用不安全的用戶端與 Samba 伺服器通訊,或使用了安全的用戶端與不安全的 Samba 伺服器連線,那麼中間人攻擊者就有可能會透過這漏洞入侵。
  5. 加密能否確保我能免於受到這個 MITM 攻擊?
    • 預設上,SMB 通訊協定只會加密身分認證資料與命令,而檔案會以一般文字來傳輸。建議您在需要安全性與隱私性的情境下,使用加密方式來保護所有通訊。加密功能已經加入 Samba 3.2 中,但僅及於 Samba 用戶端。Microsoft 在 Windows 8 與 Windows Server 2012 中加入了 SMB 加密功能。然而,這些加密類型只會在 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 函式庫。

受影響的 配置

Active Directory 架構中,使用 Samba 伺服器作為網域成員的話,會受到此漏洞的影響。中間人攻擊會攔截網域成員與網域主控器之間的 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 進階升級支援** samba (v3.6) RHSA-2016:0619
Red Hat Enterprise Linux 6.5 進階升級支援** 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

*要存取 RHEL 4 對於此問題的修正檔,使用者需要有 ELS 的訂閱服務。如果您沒有啟用中的 ELS 訂閱服務,請 聯絡 Red Hat 銷售人員 或指定的業務代表,以得知更多資訊。

何謂 Red Hat Enterprise Linux ELS(Extended Life Cycle Support,延伸生命週期)外掛?

**要存取 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,都寫死了預設值 noepmapper、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.