Windows服務(wù)器啟用/禁用SMBv1、SMBv2和SMBv3的方法教程

2019-01-24 09:06:10 來源:互聯(lián)網(wǎng)作者:mdxy-dxy 人氣: 次閱讀 2873 條評(píng)論

文章主要介紹了如何在 Windows 和 Windows Server 中啟用/禁用 SMBv1、SMBv2 和 SMBv3的方法,需要的朋友可以參考下。如何在 SMB 客戶端和服務(wù)器組件上啟用/禁用服務(wù)器消息...

文章主要介紹了如何在 Windows 和 Windows Server 中啟用/禁用 SMBv1、SMBv2 和 SMBv3的方法,需要的朋友可以參考下。

如何在 SMB 客戶端和服務(wù)器組件上啟用/禁用服務(wù)器消息塊 SMBv1、SMBv2 和 SMBv3。

注意:建議由專業(yè)技術(shù)工程師完成以下操作。

禁用 SMBv2 和 SMBv3 的影響

我們建議不要禁用 SMBv2 或 SMBv3。禁用 SMBv2 或 SMBv3 只能作為臨時(shí)故障排除措施。請(qǐng)勿使 SMBv2 或 SMBv3 保持禁用狀態(tài)。

禁用 SMBv2 的影響

在 Windows 7 和 Windows Server 2008 R2 中,禁用 SMBv2 會(huì)停用以下功能:

  • 請(qǐng)求復(fù)合 - 允許發(fā)送多個(gè) SMB 2 請(qǐng)求作為單個(gè)網(wǎng)絡(luò)請(qǐng)求
  • 大型讀寫 - 更好地利用更快速的網(wǎng)絡(luò)
  • 文件夾和文件屬性緩存 - 客戶端保留文件夾和文件的本地副本
  • 持久句柄 - 如果臨時(shí)斷開連接,則允許連接以透明方式重新連接到服務(wù)器
  • 改進(jìn)的消息簽名 - HMAC SHA-256 代替 MD5 作為哈希算法
  • 改進(jìn)的文件共享擴(kuò)展性 - 每個(gè)服務(wù)器的用戶數(shù)量、共享數(shù)量和打開文件數(shù)量大大增加
  • 支持符號(hào)鏈接
  • 客戶端 oplock 租賃模式 - 限制在客戶端和服務(wù)器之間傳輸?shù)臄?shù)據(jù),從而提高高延遲網(wǎng)絡(luò)性能并增強(qiáng) SMB 服務(wù)器的擴(kuò)展性
  • 大型 MTU 支持 - 可充分利用 10 千兆字節(jié) (GB) 以太網(wǎng)
  • 改進(jìn)的能效 - 向服務(wù)器打開文件的客戶端可以睡眠

禁用 SMBv3 的影響

在 Windows 8、Windows 8.1、Windows 10、Windows Server 2012 和 Windows Server 2016 中,禁用 SMBv3 會(huì)停用以下功能(以及以上列表中所述的 SMBv2 功能):

  • 透明故障轉(zhuǎn)移 - 在維護(hù)或故障轉(zhuǎn)移期間,客戶端會(huì)重新連接,不會(huì)干擾群集節(jié)點(diǎn)
  • 擴(kuò)展 – 并發(fā)訪問所有文件群集節(jié)點(diǎn)上的共享數(shù)據(jù)
  • 多通道 - 如果客戶端和服務(wù)器之間有多個(gè)路徑可用時(shí),則聚合網(wǎng)絡(luò)帶寬和容錯(cuò)
  • SMB 直通 – 增加 RDMA 網(wǎng)絡(luò)支持,實(shí)現(xiàn)極高的性能、低延遲和低 CPU 利用率
  • 加密 – 提供端到端加密,并防止不可靠網(wǎng)絡(luò)上的竊聽
  • 目錄租賃 - 通過緩存改進(jìn)分支機(jī)構(gòu)中應(yīng)用程序的響應(yīng)時(shí)間
  • 性能優(yōu)化 - 對(duì)小型隨機(jī)讀/寫 I/O 的優(yōu)化

在 SMB 服務(wù)器上啟用/禁用 SMB 協(xié)議

Windows 8 和 Windows Server 2012
Windows 8 和 Windows Server 2012 引入了新的 Set-SMBServerConfiguration Windows PowerShell cmdlet。 通過此 cmdlet,你可以在服務(wù)器組件上啟用或禁用 SMBv1、SMBv2 和 SMBv3 協(xié)議。

注意:因?yàn)?SMBv2 和 SMBv3 共用一個(gè)堆疊,所以在 Windows 8 或 Windows Server 2012 中啟用或禁用 SMBv2 時(shí),也會(huì)啟用或禁用 SMBv3。

使用 PowerShell cmdlet

運(yùn)行 Set-SMBServerConfiguration cmdlet 后,無須重啟計(jì)算機(jī)。

 若要獲取 SMB 服務(wù)器協(xié)議配置的當(dāng)前狀態(tài),請(qǐng)運(yùn)行以下 cmdlet:

Get-SmbServerConfiguration | Select EnableSMB1Protocol, EnableSMB2Protocol

若要在 SMB 服務(wù)器上禁用 SMBv1,請(qǐng)運(yùn)行以下 cmdlet:

Set-SmbServerConfiguration -EnableSMB1Protocol $false

若要在 SMB 服務(wù)器上禁用 SMBv2 和 SMBv3,請(qǐng)運(yùn)行以下 cmdlet:

Set-SmbServerConfiguration -EnableSMB2Protocol $false

若要在 SMB 服務(wù)器上啟用 SMBv1,請(qǐng)運(yùn)行以下 cmdlet:

Set-SmbServerConfiguration -EnableSMB1Protocol $true

若要在 SMB 服務(wù)器上啟用 SMBv2 和 SMBv3,請(qǐng)運(yùn)行以下 cmdlet:

Set-SmbServerConfiguration -EnableSMB2Protocol $true 

 Windows 7、Windows Server 2008 R2、Windows Vista 和 Windows Server 2008

若要在運(yùn)行 Windows 7、Windows Server 2008 R2、Windows Vista 或 Windows Server 2008 的 SMB 服務(wù)器上啟用或禁用 SMB 協(xié)議,請(qǐng)使用 Windows PowerShell 或注冊(cè)表編輯器。

使用 Windows PowerShell 2.0 或更高版本的 PowerShell

若要在 SMB 服務(wù)器上禁用 SMBv1,請(qǐng)運(yùn)行以下 cmdlet:

Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB1 -Type Dword -Value 0 -Force

若要在 SMB 服務(wù)器上禁用 SMBv2 和 SMBv3,請(qǐng)運(yùn)行以下 cmdlet:

Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB2 -Type DWORD -Value 0 -Force

若要在 SMB 服務(wù)器上啟用 SMBv1,請(qǐng)運(yùn)行以下 cmdlet:

Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB1 -Type DWORD -Value 1 -Force

若要在 SMB 服務(wù)器上啟用 SMBv2 和 SMBv3,請(qǐng)運(yùn)行以下 cmdlet:

Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB2 -Type DWORD -Value 1 -Force

注意:進(jìn)行這些更改后,必須重啟計(jì)算機(jī)。

使用注冊(cè)表編輯器

注意:以下內(nèi)容包含有關(guān)如何修改注冊(cè)表的信息。修改注冊(cè)表之前,一定要先對(duì)其進(jìn)行備份。并且一定要知道在發(fā)生問題時(shí)如何還原注冊(cè)表。有關(guān)如何備份、還原和修改注冊(cè)表的更多信息,請(qǐng)查看 如何在 Windows 中備份和還原注冊(cè)表。

若要在 SMB 服務(wù)器上啟用或禁用 SMBv1,請(qǐng)配置以下注冊(cè)表項(xiàng):

注冊(cè)表子項(xiàng):HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters 注冊(cè)表項(xiàng): SMB1
REG_DWORD: 0 = 已禁用
REG_DWORD: 1 = 已啟用
默認(rèn)值: 1 = 已啟用
若要在 SMB 服務(wù)器上啟用或禁用 SMBv2,請(qǐng)配置以下注冊(cè)表項(xiàng):

注冊(cè)表子項(xiàng):HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters 注冊(cè)表項(xiàng): SMB2
REG_DWORD: 0 = 已禁用
REG_DWORD: 1 = 已啟用
默認(rèn)值: 1 = 已啟用

在 SMB 客戶端上啟用/禁用 SMB 協(xié)議

Windows Vista、Windows Server 2008、Windows 7、Windows Server 2008 R2、Windows 8 和 Windows Server 2012
注意:因?yàn)?SMBv2 和 SMBv3 共用一個(gè)堆疊,所以在 Windows 8 或 Windows Server 2012 中啟用或禁用 SMBv2 時(shí),也會(huì)啟用或禁用 SMBv3。

若要在 SMB 客戶端上禁用 SMBv1,請(qǐng)運(yùn)行以下命令:

sc.exe config lanmanworkstation depend= bowser/mrxsmb20/nsi 
sc.exe config mrxsmb10 start= disabled

若要在 SMB 客戶端上啟用 SMBv1,請(qǐng)運(yùn)行以下命令:

sc.exe config lanmanworkstation depend= bowser/mrxsmb10/mrxsmb20/nsi 
sc.exe config mrxsmb10 start= auto

若要在 SMB 客戶端上禁用 SMBv2 和 SMBv3,請(qǐng)運(yùn)行以下命令:

sc.exe config lanmanworkstation depend= bowser/mrxsmb10/nsi 
sc.exe config mrxsmb20 start= disabled

若要在 SMB 客戶端上啟用 SMBv2 和 SMBv3,請(qǐng)運(yùn)行以下命令:

sc.exe config lanmanworkstation depend= bowser/mrxsmb10/mrxsmb20/nsi 
sc.exe config mrxsmb20 start= auto

注意:

必須在提升的命令提示符中運(yùn)行這些命令。
進(jìn)行這些更改后,必須重啟計(jì)算機(jī)。

使用組策略禁用 SMBv1 服務(wù)器

這將在注冊(cè)表中配置以下新項(xiàng):

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters 注冊(cè)表項(xiàng): SMB1 REG_DWORD: 0 = Disabled

使用組策略配置流程

1、打開組策略管理控制臺(tái)。右鍵單擊應(yīng)包含新首選項(xiàng)的組策略對(duì)象 (GPO),然后單擊 編輯。

2、在 計(jì)算機(jī)配置 下的控制臺(tái)樹中,展開 首選項(xiàng) 文件夾,然后展開 Windows 設(shè)置 文件夾。

3、右鍵單擊 注冊(cè)表 節(jié)點(diǎn),指向 新建,然后選擇 注冊(cè)表項(xiàng)。

sg1

4、在 新建注冊(cè)表屬性 對(duì)話框中,選擇以下內(nèi)容:

操作: 創(chuàng)建
Hive: HKEY_LOCAL_MACHINE
注冊(cè)表項(xiàng)路徑: SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
值名稱: SMB1
值類型: REG_DWORD
值數(shù)據(jù): 0

sg2

5、將此組策略應(yīng)用到域中所有必需的工作站、服務(wù)器和域控制器,以禁用 SMBv1 服務(wù)器組件。也可以將 WMI 篩選器設(shè)置為不包含不受支持的操作系統(tǒng)或選中的排除項(xiàng)(如 Windows XP)。

注意:在舊版 Windows XP 或 Linux 早期版本以及第三方系統(tǒng)(不支持 SMBv2 或 SMBv3)需要訪問 SYSVOL 或其他文件共享(已啟用 SMB v1)的域控制器上進(jìn)行這些更改時(shí)要謹(jǐn)慎小心。

使用組策略禁用 SMBv1 客戶端

若要禁用 SMBv1 客戶端,需要將服務(wù)注冊(cè)表項(xiàng)更新為禁止 MRxSMB10 啟動(dòng),然后還需要將 MRxSMB10 的依賴項(xiàng)從 LanmanWorkstation 項(xiàng)中刪除,以便它可以正常啟動(dòng)(無需首先啟動(dòng) MRxSMB10)。

這將更新和替換注冊(cè)表以下 2 個(gè)項(xiàng)中的默認(rèn)值

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\mrxsmb10 注冊(cè)表項(xiàng): Start REG_DWORD: 4 = Disabled
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation 注冊(cè)表項(xiàng): DependOnService REG_MULTI_SZ: “Bowser”,”MRxSmb20″,”NSI”
注意:默認(rèn)包含的 MRxSMB10 現(xiàn)已作為依賴項(xiàng)刪除。

使用組策略配置流程

1、打開組策略管理控制臺(tái)。右鍵單擊應(yīng)包含新首選項(xiàng)的組策略對(duì)象 (GPO),然后單擊 編輯。

2、在 計(jì)算機(jī)配置 下的控制臺(tái)樹中,展開 首選項(xiàng) 文件夾,然后展開 Windows 設(shè)置 文件夾。

3、右鍵單擊 注冊(cè)表 節(jié)點(diǎn),指向 新建,然后選擇 注冊(cè)表項(xiàng)。

sg3

4、在 新建注冊(cè)表屬性 對(duì)話框中,選擇以下內(nèi)容:

操作: 更新
Hive: HKEY_LOCAL_MACHINE
注冊(cè)表項(xiàng)路徑: SYSTEM\CurrentControlSet\services\mrxsmb10
值名稱: Start
值類型: REG_DWORD
值數(shù)據(jù): 4

 sg4

然后刪除剛剛禁用的 MRxSMB10 的依賴項(xiàng)

5、在 新建注冊(cè)表屬性 對(duì)話框中,選擇以下內(nèi)容:

操作: 替換
Hive: HKEY_LOCAL_MACHINE
注冊(cè)表項(xiàng)路徑: SYSTEM\CurrentControlSet\Services\LanmanWorkstation
值名稱: DependOnService
值類型 REG_MULTI_SZ
值數(shù)據(jù):
Bowser
MRxSmb20
NSI
注意: 這 3 個(gè)字符串不帶項(xiàng)目符號(hào)(具體如下)

sg5

在 Windows 的多個(gè)版本中,默認(rèn)值包括 MRxSMB10,通過將其替換為此多值字符串,實(shí)際上就刪除了作為 LanmanServer 依賴項(xiàng)的 MRxSMB10,結(jié)果是從四個(gè)默認(rèn)值減少為上述這三個(gè)值。

注意:使用組策略管理控制臺(tái)時(shí),無需使用引號(hào)或逗號(hào)。只需在各行鍵入每個(gè)項(xiàng),如上面所示。

需要重新啟動(dòng)

應(yīng)用策略且正確設(shè)置注冊(cè)表后,必須重新啟動(dòng)目標(biāo)系統(tǒng),然后才能禁用 SMB v1。

摘要
如果所有設(shè)置均在同一組策略對(duì)象 (GPO) 中,組策略管理將顯示以下設(shè)置。

sg6

測(cè)試和驗(yàn)證

配置完成后即允許策略進(jìn)行復(fù)制和更新。作為測(cè)試的必要步驟,請(qǐng)從 CMD.EXE 提示符處運(yùn)行 gpupdate/force,然后查看目標(biāo)計(jì)算機(jī),以確保注冊(cè)表設(shè)置得以正確應(yīng)用。確保 SMBv2 和 SMBv3 在環(huán)境中的所有其他系統(tǒng)中正常運(yùn)行。

注意:請(qǐng)務(wù)必重新啟動(dòng)目標(biāo)系統(tǒng)。

如何在 Windows 8.1、Windows 10、Windows 2012 R2 和 Windows Server 2016 中輕松刪除 SMBv1

Windows Server:使用 “服務(wù)器管理器”

sg7

Windows Server:使用 PowerShell (Remove-WindowsFeature FS-SMB1)

sg8

Windows 客戶端:使用 “添加或刪除程序”

sg9

Windows 客戶端:使用 PowerShell (Disable-WindowsOptionalFeature -Online -FeatureName smb1protocol)

sg10

參考與適用性

本文來源自微軟官方技術(shù)文檔:如何在 Windows 和 Windows Server 中啟用和禁用 SMBv1、SMBv2 和 SMBv3

如有變化,以微軟官方為準(zhǔn)。

這篇文章中的信息適用于:

Windows 10 Pro released in July 2015,
Windows 10 Enterprise released in July 2015
Windows Vista Enterprise
Windows Vista Business
Windows Vista Home Basic
Windows Vista Home Premium
Windows Vista Ultimate
Windows 7 Enterprise
Windows 7 Home Basic
Windows 7 Home Premium
Windows 7 Professional
Windows 7 Ultimate
Windows Server 2008 Datacenter
Windows Server 2008 Enterprise
Windows Server 2008 Standard
Windows Server 2008 R2 Datacenter
Windows Server 2008 R2 Enterprise
Windows Server 2008 R2 Standard
Windows 8
Windows 8 Enterprise
Windows 8 Pro
Windows Server 2012 Datacenter
Windows Server 2012 Datacente
Windows Server 2012 Essentials
Windows Server 2012 Foundation
Windows Server 2012 Foundation
Windows Server 2012 Standard
Windows Server 2012 Standard
Windows Server 2016