如何停用 LM 驗證在 Windows NT 上

重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。

按一下這裡查看此文章的英文版本:147706
本文已封存。本文係以「現狀」提供且不會再更新。

結論
之前到 Windows NT 4.0 服務套件 4 (SP4),Windows NT 會支援兩種挑戰/回應驗證:
  • LanManager LM 挑戰/回應
  • Windows NT 挑戰/回應 (也稱為 NTLM 挑戰/回應)
Windows NT 也支援為訊息機密性和完整性所提供的工作階段安全性機制。

若要允許存取伺服器只支援 LM 驗證,Windows NT 用戶端,之前 SP4 永遠使用兩者甚至到支援 NTLM 驗證的 Windows NT 伺服器。

LM 驗證不是強式的為 Windows NT 驗證的所以有些客戶可能會想要停用其使用上,因為攻擊者竊聽網路流量會攻擊較弱的通訊協定。成功的攻擊可能會危害使用者的密碼。

Microsoft 已發展出 NTLM 稱為大幅改善了驗證及工作階段安全性機制的 NTLMv2 增強功能。

在另外實作 NTLM 安全性服務提供者 (SSP) 已經增強允許用來控制哪些變種 NTLM 的用戶端,並允許伺服器來控制哪些變種它們將會接受,由適當地設定新的登錄機碼。它也可讓用戶端及伺服器要求交涉訊息機密 (加密)、 訊息完整性、 128 位元加密及 NTLMv2 工作階段安全性。

這些變更會影響下列 Windows NT 元件: 任何應用程式,並使用 Microsoft 遠端程序呼叫 (RPC) 或使用 NTLM SSP,使用本文件所描述的驗證和工作階段安全性。工作站和伺服器服務使用驗證,但支援他們自己的工作階段安全性。

背景

LM 驗證不是強式的為 NTLM 或 NTLMv2 的因為該演算法可讓密碼超過 7 字元為單位的小段遭受攻擊的 7 個字元。這會限制有效密碼強度來繪製從組的大寫英文字母、 數字,7 個字元和標點符號字元加上 32 特殊的 ALT 字元。使用者通常並不甚至可用本身的多個非字母字元的任何項目。

相較之下,NTLM 驗證密碼利用所有 14 個字元,並允許小寫字母。因此,即使攻擊者竊聽在 Windows NT 驗證通訊協定可以攻擊它 LM 驗證通訊協定相同的方式,會比較長遠攻擊才會成功。如果該密碼,則夠強會花費單一 200 Pro MHz Pentium 電腦尋找金鑰衍生自它,並找出密碼本身 5,500 年 2,200 年的平均 (2.2 的年數和 5.5 年含 1,000 這類電腦或等等)。

注意: 這個估計根據最近的 RSA 實驗室 」 DES 挑戰賽 」 程式碼測試上為 200 的 DES 金鑰速率 MHz Pentium Pro: 1,000,000/秒 ; DES 金鑰數目和: 2 貴 56 或 7.2 * 10 貴 16。如需有關 「 DES 挑戰賽 」 的詳細資訊,請參閱下列網站: 在另一方面,如果密碼不是夠強,字典查閱可以發現 (以秒為單位)。

取得 「 夠強 」 的密碼的一種可能方式是讓它是使用至少 4 那些大寫的字元、 數字或標點符號的長度至少 11 個字元。即使剩餘的 7 個字元是小寫的低隨機性文字 (說) 的每個字元的隨機性 3 位元與,這會提供一個以上的 DES 的金鑰空間的 7.2 * 10 貴 16 可能組合和密碼不會在字典中。

但是,是的硬體加速器成本 $ 250,000 都已建置,可以在 3-6 天,不論如何長密碼中找到 LM] 或 [NTLM 密碼衍生金鑰。這些數字會隨著技術取得較佳時變更。目前的統計資料和詳細資料請參閱下列網站: 有一位使用者的密碼衍生金鑰並不會允許攻擊者互動方式登入,但以特殊軟體已足以以該使用者存取網路資源。

NTLMv2,金鑰空間,讓密碼衍生金鑰是 128 位元。這使得暴力搜尋不可行,即使有了硬體加速器如果密碼是夠強。

如果用戶端和伺服器正在使用 SP4,增強的 NTLMv2 工作階段安全性交涉。它提供不同的金鑰訊息的完整性及機密性,顯示成防止選擇的純文字攻擊挑戰的用戶端輸入並使用 HMAC MD5 演算法 (請參閱 RFC 2104) 訊息完整性檢查。

因為資料包 Variant 的 NTLM 沒有交涉步驟,其他方式使用會交涉選項,例如 NTLMv2 工作階段安全性和訊息機密性的 128 位元加密,都要設定。
其他相關資訊
重要這個區段、 方法或任務包含告訴您如何修改登錄的步驟。然而,如果您不當修改登錄,可能會發生嚴重的問題。因此,執行這些步驟時請務必小心。為加強保護,修改登錄之前,請務必將它備份起來。以後您就可以在發生問題時還原登錄。如需有關如何備份和還原登錄的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
322756如何備份和還原在 Windows 登錄


NTLM 安全性控制項是透過下列登錄機碼:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\control\LSA
注意: 在 Win9x 有效的登錄機碼是 LMCompatibility 而在 Windows NT 上它是 LMCompatibilityLevel。

所選擇的驗證通訊協定變種用並接受是透過該機碼的下列值:
   Value: LMCompatibilityLevel   Value Type: REG_DWORD - Number   Valid Range: 0-5   Default: 0   Description: This parameter specifies the type of authentication to be   used.   Level 0 - Send LM response and NTLM response; never use NTLMv2 session             security   Level 1 - Use NTLMv2 session security if negotiated   Level 2 - Send NTLM authentication only   Level 3 - Send NTLMv2 authentication  only   Level 4 - DC refuses LM authentication   Level 5 - DC refuses LM and NTLM authentication (accepts only NTLMv2)				
注意: 驗證用來建立工作階段 (使用者名稱/密碼)。一旦使用的驗證 apropriate 類型建立一個工作階段,會使用工作階段安全性。 也系統時間應該在另一個的 30 分鐘內。驗證可能會失敗,因為伺服器會認為從用戶端挑戰已經過期。

最小安全性交涉使用 NTLMSSP 應用程式的控制權,是透過下列機碼:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\control\LSA\MSV1_0
下列的值是針對此機碼:
   Value: NtlmMinClientSec   Value Type: REG_DWORD - Number   Valid Range: the logical 'or' of any of the following values:      0x00000010      0x00000020      0x00080000      0x20000000   Default: 0   Value: NtlmMinServerSec   Value Type: REG_DWORD - Number   Valid Range: same as NtlmMinClientSec   Default: 0   Description: This parameter specifies the minimum security to be used.      0x00000010  Message integrity      0x00000020  Message confidentiality      0x00080000  NTLMv2 session security      0x20000000  128 bit encryption				

LMCompatibilityLevel-用戶端

重要: 選擇層級 3 或以上未 SP4 的用戶端,對於所有使用者都將使用用戶端 (此後,"使用者的網域控制站 」) 的使用者的帳戶網域的網域控制站必須已經升級為 SP4。

如果 SP4 用戶端選擇預設值的是的層級 0,將會與舊伺服器與 Service Pack 3 (SP3) 一樣交互操作。

如果 SP4 用戶端選擇層級 1,將與較舊的伺服器在 Service Pack 3 (SP3) 一樣交互操作。在另外它也會信號交換 NTLMv2 工作階段安全性與 SP4 伺服器。

重要: 使用 1 或更高的層級時,如果上次密碼變更是來自 Windows 的工作群組或 MS-DOS LanManager 2.x 用戶端或更早的版本,資料所需的 NTLM 及將無法在網域控制站上使用 NTLMv2 驗證及 SP4 的用戶端將無法連線到 SP4 的伺服器。解決方法是使用層級 0,或永遠從 Windows NT、 Windows 95 或 Windows 98 用戶端變更密碼。

如果未 SP4 的用戶端選擇層級 2,它將無法連線到伺服器的唯一支援 LM 驗證,例如 Windows 95,Windows 98 工作群組或更早版本的 Windows (此後稱為 [下層 LM 用戶端/伺服器]) 除非升級使用者的網域控制站。

如果 SP4 用戶端選擇層級 3 或以上,它永遠會傳送新的 NTLMv2 回應。這個回應可以傳遞透過下層 LM 伺服器和 SP3 或更早的 Windows NT 伺服器及與其網域控制站,只要使用者的網域控制站已升級至 SP4。比方說如果 SP4 用戶端選擇層級 3 或以上,使用者的網域控制站必須已經升級為 SP4 也。不過,此回應無法配合共用層級安全性模式有非 Null 密碼中的下層 LM 伺服器。解決方法是將其設定為使用使用者層級安全性。

LMCompatibilityLevel-伺服器/DC

如果一個 SP4 伺服器選擇 4 或更高的層級,具有該伺服器上的本機帳戶的使用者將無法從舊版 LM 的用戶端,使用該本機帳戶連接到它。

如果 SP4 網域控制站選擇 4 或更高的層級,具有該網域中帳戶的使用者將無法從舊版 LM 的用戶端,使用其網域帳戶連線到任何成員伺服器。因此,層級 4 表示所有具有伺服器或網域上帳戶的使用者必須能使用 Windows NT 連接。

如果為 SP4 伺服器選擇 5 或更高的層級,具有該伺服器上的本機帳戶的使用者將無法從 SP3 或使用該本機帳戶較早的 Windows NT 用戶端連接到它。

選擇層級 0 或 1 仍然可以連線到甚至以層級 1 或 3 的 SP4 伺服器的 SP4 用戶端設定,但是使用 Windows NT 通訊協定和較弱的 LM 通訊協定。他們也可連線到下層 LM 伺服器即使使用者的網域控制站尚未升級。

部署

由於上述的考量的如果它慣用部署 NTLMv2,採取下列步驟應該是:
  1. 升級儲存所有的使用者已使用 NTLMv2 的帳戶所在的網域控制站。
  2. 即使完成的網域控制站升級之前用戶端和伺服器可以升級為 SP4,並連接至 SP4 的 SP4 藉由設定層級 1 時,會取得增強式的安全性。
  3. 完成步驟 1 時個別的系統,升級為 SP4 已經可以開始 3 或以上的層級設定。
  4. 如果某些帳戶網域中的使用者永遠不需要從下層 LM 用戶端存取資源,該網域的網域控制站可以有其層級設定為 [4,而該網域的網域控制站所有這些使用者的系統已經升級為 SP4 後可以有其層級設定為 5。

NtlmMinClientSec 和 NtlmMinServerSec

如果以值 0x00000010 位元設在 NtlmMinClientSec 或 NtlmMinServerSec 值,若訊息完整性未交涉,則連線將會失敗。

如果以值 0x00000020 位元設在 NtlmMinClientSec 或 NtlmMinServerSec 值,若未交涉訊息機密,則連線將會失敗。

如果以值 0x00080000 位元設在 NtlmMinClientSec 或 NtlmMinServerSec 值,若 NTLMv2 工作階段安全性未交涉,則連線將會失敗。

如果以值 0x20000000 位元設在 NtlmMinClientSec 或 NtlmMinServerSec 值,如果 128 位元加密未交涉,則連線將會失敗。

注意: 這些設定不會保證 NTLM SSP 實際上由每個應用程式,或者該訊息的完整性或機密性將實際使用的應用程式進行交涉時,即使。
解決方案
如果要解決這個問題,取得最新的 Service Pack 的 Windows NT 4.0 或 Windows NT Server 4.0 終端機伺服器版本。如需詳細資訊,請按一下下列的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
152734如何取得最新的 Windows NT 4.0 Service Pack


在安裝 SP4 之後, 執行 [下列步驟來在 Windows NT 工作站和伺服器上設定 LM 相容性層級]:
  1. 執行登錄編輯程式 」 (Regedt32.exe)。
  2. 從方式樹狀子結構前往下列機碼:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\
  3. 按一下 [編輯] 功能表上的 [新增值]。
  4. 新增下列值:
          Value Name: LMCompatibilityLevel      Data Type: REG_DWORD      Data:  0 (default) to 5 as defined above					
  5. 從方式樹狀子結構前往下列機碼:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0
  6. 按一下 [編輯] 功能表上的 [新增值]。
  7. 新增下列值:
          Value Name: NtlmMinClientSec      Data Type: REG_DWORD      Data:  0 (default) or as defined above      Value Name: NtlmMinServerSec      Data Type: REG_DWORD      Data:  0 (default) or as defined above					
  8. 按一下 [確定],然後結束 「 登錄編輯程式 」。
  9. 關機並重新啟動 Windows NT。

警告:本文為自動翻譯

內容

文章識別碼:147706 - 最後檢閱時間:12/04/2015 14:16:37 - 修訂: 3.4

Microsoft Windows NT Server 4.0, Terminal Server Edition, Microsoft Windows NT Workstation 3.51, Microsoft Windows NT Workstation 4.0 Developer Edition, Microsoft Windows NT Server 3.51, Microsoft Windows NT Server 4.0 Standard Edition, Microsoft LAN Manager 4.2 Standard Edition, Microsoft Windows for Workgroups 3.2, Microsoft Windows 95

  • kbnosurvey kbarchive kbmt kbhotfixserver kbqfe kbbug kberrmsg kbfea kbfile kbfix KB147706 KbMtzh
意見反應