伺服器訊息區簽署簡介

本文說明 Server Message Block (SMB) 簽署,以及如何判斷是否已啟用 SMB 簽名。

原始產品版本:   Windows Server 2012 R2,Windows 10-all edition
原始 KB 編號:   887429

簡介

SMB 簽署是 SMB 通訊協定中的安全性機制,也稱為安全性簽名。 SMB 簽署是專門用來協助改善 SMB 通訊協定的安全性。 您可以在 Microsoft Windows NT 4.0 Service Pack 3 (SP3) 和 Microsoft Windows 98 中第一次提供 SMB 簽名。

本文說明下列 SMB 主題:

  • SMB 簽署的預設設定。
  • 如何在 Microsoft Windows Server 2003、Microsoft Windows XP、Microsoft Windows 2000、Windows NT 4.0 和 Windows 98 中設定 SMB 簽署。
  • 如何判斷是否已在網路監視器追蹤中啟用 SMB 簽名。
  • SMB 簽署案例的範例。

其他相關資訊

工作站服務和伺服器服務的預設設定

您可以為 Workstation 服務和伺服器服務設定 SMB 簽名及安全性簽名。 工作站服務可用於傳出連線。 伺服器服務可用於傳入的連線。

啟用 SMB 簽名時,支援 SMB 簽名的用戶端可以進行連線,而且也可能是不支援 SMB 簽名的用戶端進行連接。 需要 SMB 簽名時,SMB 連線中的兩部電腦都必須支援 SMB 簽名。 如果一部電腦不支援 SMB 簽名,則 SMB 連線不會成功。 根據預設,會在下列作業系統上為待發 SMB 會話啟用 SMB 簽名:

  • Windows Server 2003
  • Windows XP
  • Windows 2000
  • Windows NT 4.0
  • Windows 98

根據預設,下列作業系統上的傳入 SMB 會話會啟用 SMB 簽名:

  • 以 Windows Server 2003 為基礎的網域控制站
  • Windows 2000 伺服器型網域控制站
  • Windows NT 4.0 伺服器型網域控制站

根據預設,在 Windows Server 2003 的網域控制站上傳入的 SMB 會話需要 SMB 簽名。

設定 SMB 簽署

建議您使用「群組原則」設定 SMB 簽署,因為如果有覆寫的網域原則,本機登錄值變更便無法正常運作。 設定相關聯的群組原則時,會變更下列登錄值。

SMB 簽署的原則位置

注意

下列群組原則設定位於「電腦 \ 設定 Windows 設定 \ 安全性設定 \ 本機原則 \ 安全性選項」群組原則物件編輯器路徑中。

Windows Server 2003-預設的網域控制站群組原則
工作站/用戶端

Microsoft 網路用戶端:以數位方式簽署通訊 (always) 原則設定:未定義

Microsoft 網路用戶端:若伺服器同意) 原則設定,則會以數位方式簽署通訊 (:未定義有效設定:由於本機原則而啟用 ()

伺服器

Microsoft 網路伺服器:數位簽署通訊 (always) 原則設定: enabled

Microsoft 網路伺服器:用戶端同意) 原則設定,以數位方式簽署通訊 (。已啟用

Windows XP 和 2003-本機電腦群組策略
工作站/用戶端

Microsoft 網路用戶端:數位簽署通訊 (always) 安全性設定:已停用

Microsoft 網路用戶端:若伺服器同意) 安全設定,則會以數位方式簽署通訊 (: enabled

伺服器

Microsoft 網路伺服器:數位簽署通訊 (always) 安全性設定:已停用

Microsoft 網路伺服器:在用戶端同意) 安全性設定時,數位簽署通訊 (:已停用

Windows 2000-預設的網域控制站群組原則
工作站/用戶端

數位簽署用戶端通訊 (always) 電腦設定:未定義

在可能) 電腦設定時以數位方式簽署用戶端通訊 (:未定義

伺服器

數位簽署伺服器通訊 (always) 電腦設定:未定義

在可能) 電腦設定時以數位方式簽署伺服器通訊 (: enabled

Windows 2000-本機電腦群組策略
工作站/用戶端

數位簽署用戶端通訊 (always) Local 設定:已停用有效設定:已停用

在可能) 本機設定時以數位方式簽署用戶端通訊 (:已啟用有效設定: enabled

伺服器

數位簽署伺服器通訊 (always) 本機設定:已停用有效設定:已停用

在可能) 本機設定時以數位方式簽署伺服器通訊 (:已停用有效設定:已停用

與 Windows Server 2003、Windows XP 及 Windows 2000 的群組原則設定相關聯的登錄值

用戶端

在 Windows Server 2003 和 Windows XP 中,"Microsoft network client:以數位方式簽署通訊 (若伺服器同意) " 群組原則,以及在 Windows 2000 中,「可能) 的「數位簽署用戶端通訊 ("群組原則對應至下列登錄子機碼:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManWorkstation\Parameters

值名稱: EnableSecuritySignature
資料類型: REG_DWORD
資料: 0 (停用) ,1 (啟用)

注意

Windows Server 2003、Windows XP 和 Windows 2000 中的預設值為 1 (已啟用) 。

在 Windows Server 2003 和 Windows XP 中,「Microsoft 網路用戶端:數位簽署通訊 (永遠) 「群組原則」,在 Windows 2000 中,「數位簽署用戶端通訊 (永遠) ] 群組原則對應至下列登錄子機碼:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManWorkstation\Parameters

值名稱: RequireSecuritySignature
資料類型: REG_DWORD
資料: 0 (停用) ,1 (啟用)

注意

Windows Server 2003、Windows XP 和 Windows 2000 中的預設值為 0 (不是必要) 。

伺服器

在 Windows Server 2003 和 Windows XP 中,名為 "Microsoft network client:數位簽署的通訊 (的群組原則,如果用戶端同意) ",在 Windows 2000 中,名為「可能) 的「數位簽署伺服器通訊 (」的群組原則會對應至下列登錄機碼:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanManServer\Parameters

值名稱: EnableSecuritySignature
資料類型: REG_DWORD
資料: 0 (停用) ,1 (啟用)

注意

Windows Server 2003 網域控制站和 Windows 2000 網域控制站中的預設值為 1 (已啟用) 。 Windows NT 4.0 網域控制站中的預設值為 0 (停用) 。 Windows Server 2003 和 Windows XP 原則命名為 "Microsoft network Server:數位簽署的通訊 (always) "

Windows 2000 原則命名為 "數位簽署伺服器通訊 (always) ",且兩者對應至下列登錄機碼:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanManServer\Parameters

值名稱: RequireSecuritySignature
資料類型: REG_DWORD
資料: 0 (停用) ,1 (啟用)

注意

Windows Server 2003 網域控制站和 Windows 2000 網域控制站中的預設值為 1 (必要) 。 Windows NT 4.0 網域控制站中的預設值為 0 (不需要) 。

若要讓 Windows NT 4.0 電腦能夠使用 SMB 簽署來連線至 Windows 2000 的電腦,您必須在 Windows 2000 的電腦上建立下列登錄值:
值名稱: enableW9xsecuritysignature
資料類型: REG_DWORD
資料: 0 (停用) ,1 (啟用)

注意

EnableW9xsecuritysignature 登錄值沒有相關聯的群組原則。

設定 Windows NT 4.0 中的 SMB 簽署

數位簽署用戶端:

注意

這是 RDR 機碼-不是 LanmanWorkstation 的 Windows 2000

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Rdr\Parameters

值名稱: EnableSecuritySignature
資料類型: REG_DWORD
資料: 0 (停用) ,1 (啟用)

注意

在執行 Windows NT 4.0 SP3 或更新版本 Windows 的電腦上,預設值為 1 (啟用) 。

值名稱: RequireSecuritySignature
資料類型: REG_DWORD
資料: 0 (停用) ,1 (啟用)

注意

在執行 Windows NT 4.0 SP3 或更新版本 Windows 的電腦上,預設值為 0 (不需要) 。

原則中的「數位簽署伺服器」會對應至下列登錄機碼:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanManServer\Parameters

值名稱: EnableSecuritySignature
資料類型: REG_DWORD
資料: 0 (停用) ,1 (啟用)

注意

預設值為 1 (在 Windows Server 2003 網域控制站、Windows 2000 網域控制站和 Windows NT 4.0 網域控制站上啟用) 。 所有其他執行 Windows NT 4.0 之電腦的預設值 SP3 或更新版本的 Windows 都是 0 (停用) 。

值名稱: RequireSecuritySignature
資料類型: REG_DWORD
資料: 0 (停用) ,1 (啟用)

注意

在 Windows Server 2003 網域控制站上,預設值為 1 (必要) 。 其他執行 Windows NT 4.0 SP3 或更新版本 Windows 的電腦的預設值為 0 (不是必要) 。

設定 Windows 98 中的 SMB 簽署

將下列兩個登錄值新增至此登錄子機碼:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VxD\VNetsup

值名稱: EnableSecuritySignature
資料類型: REG_DWORD
資料: 0 (停用) ,1 (啟用)

注意

Windows 98 中的預設值為 1 (啟用) 。

值名稱: RequireSecuritySignature
資料類型: REG_DWORD
資料: 0 (停用) ,1 (啟用)

注意

Windows 98 中的預設值為 0 (停用) 。

如何判斷網路監視器追蹤中是否已啟用 SMB 簽名

若要判斷是否已啟用 SMB 簽名,請在伺服器或兩者上,查看伺服器的協商方言回應:

SMB: R negotiate, Dialect # = 5  
SMB: Command = R negotiate  
SMB: Security Mode Summary (NT) = [a value of 3, 7 or 15]  
SMB: .......1 = User level security  
SMB: ......1. = Encrypt passwords

在此回應中,「安全性模式摘要 (NT) =」欄位代表伺服器上已設定的選項。 這個值會是3、7或15。

下列資訊可協助說明協商方言回應號碼代表的內容:
UCHAR SecurityMode;安全性模式:

bit 0: 0 = 共用

bit 0: 1 = user

bit 1: 1 = 加密密碼

bit 2: 1 =) enabled (SMB 序號的安全性簽名

bit 3: 1 = 安全性簽名 (SMB 序號) 必要

如果已在伺服器上停用 SMB 簽名,則值為3。

「SMB:安全性模式摘要 (NT) = 3 (0x3)

如果伺服器上已啟用 SMB 簽名且不是必要的,則值為7。

"SMB:安全性模式摘要 (NT) = 7 (0x7) "

如果伺服器上已啟用並需要 SMB 簽名,則值為15。

"SMB:安全性模式摘要 (NT) = 15 (0xF) "
如需有關 CIFS 的其他資訊,請流覽下列 Microsoft 網站:
Cifs

SMB 簽署案例

在方言協商顯示用戶端設定之後的 SMB 會話行為。

如果同時在用戶端和伺服器上啟用和要求 SMB 簽名,或是在用戶端和伺服器上停用 SMB 簽名,則連線成功。

如果已在用戶端上啟用並在伺服器上停用 SMB 簽名,則在方言協商後會適當地關閉與 TCP 會話的連線,而用戶端會收到下列 "1240 (ERROR_LOGIN_WKSTA_RESTRICTION) " 錯誤訊息:

發生系統錯誤1240。 此帳戶未獲授權從此工作站登入。

如果在用戶端停用 SMB 簽名,且伺服器上已啟用並必要,則當用戶端收到「STATUS_ACCESS_DENIED」的錯誤訊息時,會收到對「DFS 參考」的樹狀 Connect 或 Transact2 的回應。