如何啟用NTLM 2驗證

本文說明如何啟用NTLM 2驗證。

套用於:Windows 10 - 所有版本
原始 KB 編號: 239869

摘要

在過去,Windows NT 支援網路登入的兩種挑戰/回應驗證變體:

  • LAN Manager (LM) 挑戰/回應
  • Windows NT 挑戰/回應 (也稱為 NTLM 第 1 版挑戰/回應) LM 變體允許與 Windows 95、Windows 98 和 Windows 98 第二版用戶端和伺服器的已安裝基底互操作性。 NTLM 為 Windows NT 客戶端與伺服器之間的連線提供改善的安全性。 Windows NT 也支援NTLM會話安全性機制,提供訊息機密性 (加密) 和完整性 (簽署) 。

計算機硬體和軟體演算法的最新改善,讓這些通訊協定容易受到廣泛發佈的攻擊,而無法取得用戶密碼。 在持續努力為客戶提供更安全的產品時,Microsoft 開發了稱為NTLM第2版的增強功能,可大幅改善驗證和會話安全性機制。 自 Service Pack 4 (SP4) 發行以來,NTLM 2 已適用於 Windows NT 4.0,且在 Windows 2000 中原生支援。 您可以安裝 Active Directory 用戶端擴充功能,將 NTLM 2 支援新增至 Windows 98。

升級所有以 Windows 95、Windows 98、Windows 98 Second Edition 和 Windows NT 4.0 為基礎的計算機之後,您可以將用戶端、伺服器和域控制器設定為僅使用 NTLM 2 (,而非 LM 或 NTLM) ,以大幅改善組織的安全性。

其他相關資訊

當您在執行 Windows 98 的電腦上安裝 Active Directory 用戶端擴充功能時,也會自動安裝提供 NTLM 2 支援的系統檔案。 這些檔案 Secur32.dll、Msnp32.dll、Vredir.vxd 和 Vnetsup.vxd。 如果您移除 Active Directory 用戶端擴充功能,則不會移除 NTLM 2 系統檔案,因為這些檔案同時提供增強的安全性功能和安全性相關修正。

根據預設,NTLM 2 會話安全性加密會限製為56位的最大密鑰長度。 如果系統符合匯出法規 美國,則會自動安裝 128 位密鑰的選擇性支援。 若要啟用 128 位 NTLM 2 工作話安全性支援,您必須先安裝 Microsoft Internet Explorer 4.x 或 5,並升級至 128 位安全連線支援,才能安裝 Active Directory 用戶端擴充功能。

若要確認您的安裝版本:

  1. 使用 Windows 檔案總管在 %SystemRoot%\System 資料夾中找出 Secur32.dll 檔案。
  2. 以滑鼠右鍵按下檔案,然後按兩下 [ 屬性]
  3. 按兩下 [ 版本] 索引 標籤。56 位版本的描述是「Microsoft Win32 安全性服務 (匯出版本) 」。128 位版本的描述是「Microsoft Win32 Security Services (US and Canada Only) 」。

在您為 Windows 98 用戶端啟用 NTLM 2 驗證之前,請確認從這些用戶端登入您網路之使用者的所有域控制器都執行 Windows NT 4.0 Service Pack 4 或更新版本。 (如果客戶端和伺服器已加入不同的網域,域控制器可以 Windows NT 4.0 Service Pack 6 執行。) 不需要域控制器設定即可支援 NTLM 2。 您必須設定域控制器,只停用NTLM 1或LM驗證的支援。

為 Windows 95、Windows 98 或 Windows 98 第二版用戶端啟用 NTLM 2

重要事項

這個章節、方法或工作包含修改登錄的步驟。 然而,不當修改登錄可能會發生嚴重的問題。 因此,請務必謹慎地依照這些步驟執行。 為了有多一層保護,請先備份登錄再進行修改。 如此一來,您就可以在發生問題時還原登錄。 如需有關如何備份和還原登錄的詳細資訊,請按一下下列文章編號,檢視「Microsoft 知識庫」中的文章:
322756 如何在 Windows 中備份及還原登錄

若要啟用 Windows 95、Windows 98 或 Windows 98 Second Edition 用戶端以進行 NTLM 2 驗證,請安裝目錄服務用戶端。 若要在用戶端上啟用NTLM 2,請遵循下列步驟:

  1. 啟動登錄 編輯器 (Regedit.exe) 。

  2. 找出並按下列機碼: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control

  3. 在上面所列的登錄機碼中建立 LSA 登錄機碼。

  4. 在 [編輯] 功能表上,按一下 [新增值],然後新增下列登錄值:
    數值名稱:LM 相容性
    數據類型:REG_DWORD
    數值:3
    有效範圍:0,3
    描述:此參數會指定要用於網路登入的驗證模式和會話安全性。 它不會影響互動式登錄。

    • 層級 0 - 傳送 LM 和 NTLM 回應;永不使用NTLM 2會話安全性。 用戶端會使用 LM 和 NTLM 驗證,且永遠不會使用 NTLM 2 會話安全性;域控制器接受 LM、NTLM 和 NTLM 2 驗證。

    • 層級 3 - 僅傳送 NTLM 2 回應。 如果伺服器支援,用戶端將會使用NTLM 2驗證並使用NTLM 2會話安全性;域控制器接受 LM、NTLM 和 NTLM 2 驗證。

    注意事項

    若要為 Windows 95 用戶端啟用 NTLM 2,請安裝分散式文件系統 (DFS) Client、WinSock 2.0 Update 和適用於 Windows 2000 的 Microsoft DUN 1.3。

  5. 結束登錄編輯程式。

注意事項

針對 Windows NT 4.0 和 Windows 2000,登錄機碼為 LMCompatibilityLevel,而 Windows 95 和 Windows 98 型電腦的登錄機碼為 LM 兼容性。

如需參考,Windows NT 4.0 和 Windows 2000 支援的 LMCompatibilityLevel 值完整範圍包括:

  • 層級 0 - 傳送 LM 和 NTLM 回應;永不使用NTLM 2會話安全性。 用戶端會使用 LM 和 NTLM 驗證,且永遠不會使用 NTLM 2 會話安全性;域控制器接受 LM、NTLM 和 NTLM 2 驗證。
  • 層級 1 - 如果交涉,請使用 NTLM 2 會話安全性。 用戶端會使用 LM 和 NTLM 驗證,如果伺服器支援,則使用 NTLM 2 會話安全性;域控制器接受 LM、NTLM 和 NTLM 2 驗證。
  • 層級 2 - 僅傳送 NTLM 回應。 用戶端只會使用 NTLM 驗證,如果伺服器支援,則使用 NTLM 2 工作話安全性;域控制器接受 LM、NTLM 和 NTLM 2 驗證。
  • 層級 3 - 僅傳送 NTLM 2 回應。 用戶端使用 NTLM 2 驗證,如果伺服器支援,則使用 NTLM 2 工作階段安全性;域控制器接受 LM、NTLM 和 NTLM 2 驗證。
  • 層級 4 - 域控制器拒絕 LM 回應。 用戶端使用 NTLM 驗證,如果伺服器支援,則使用 NTLM 2 工作階段安全性;域控制器拒絕 LM 驗證 (也就是接受 NTLM 和 NTLM 2) 。
  • 層級 5 - 域控制器拒絕 LM 和 NTLM 回應 (只接受 NTLM 2) 。 用戶端使用 NTLM 2 驗證,如果伺服器支援,請使用 NTLM 2 工作階段安全性;域控制器拒絕 NTLM 和 LM 驗證, (它們只接受 NTLM 2) 。用戶端電腦只能在與所有伺服器通訊時使用一個通訊協定。 例如,您無法將它設定為使用NTLM v2連線到以Windows 2000為基礎的伺服器,然後使用NTLM連線到其他伺服器。 這是原本設計的做法。

您可以藉由修改下列登錄機碼,設定使用NTLM安全性支援提供者 (SSP) 之程式所使用的最低安全性。 這些值相依於 LMCompatibilityLevel 值:

  1. 啟動登錄 編輯器 (Regedit.exe) 。

  2. 在登入中找出下列機碼: HKEY_LOCAL_MACHINE\System\CurrentControlSet\control\LSA\MSV1_0

  3. 在 [編輯] 功能表上,按一下 [新增值],然後新增下列登錄值:
    數值名稱:NtlmMinClientSec
    數據類型:REG_WORD
    值:下列其中一個值:

    • 0x00000010- 訊息完整性
    • 0x00000020- 訊息機密性
    • 0x00080000- NTLM 2 會話安全性
    • 0x20000000- 128 位加密
    • 0x80000000- 56 位加密
  4. 結束登錄編輯程式。

如果用戶端/伺服器程式使用 NTLM SSP (或使用安全遠端過程調用 [RPC],而此呼叫會使用 NTLM SSP) 來提供連線的會話安全性,則會決定要使用的會話安全性類型,如下所示:

  • 用戶端會要求下列任何或所有專案:訊息完整性、訊息機密性、NTLM 2 會話安全性,以及 128 位或 56 位加密。
  • 伺服器會回應,指出它想要的所要求集合的專案。
  • 結果集稱為「交涉」。

您可以使用 NtlmMinClientSec 值,讓用戶端/伺服器連線交涉給定的會話安全性品質,或是無法成功。 不過,您應該注意下列專案:

  • 如果您針對 NtlmMinClientSec 值使用 0x00000010,若未交涉訊息完整性,連線就不會成功。
  • 如果您針對 NtlmMinClientSec 值使用 0x00000020,若未交涉訊息機密性,連線就不會成功。
  • 如果您針對 NtlmMinClientSec 值使用 0x00080000,若未交涉 NTLM 2 會話安全性,聯機就不會成功。
  • 如果您使用 0x20000000 作為 NtlmMinClientSec 值,則如果訊息機密性正在使用中,但未交涉 128 位加密,連線就不會成功。