Windows服務器啟用/禁用SMBv1、SMBv2和SMBv3的方法教程
文章主要介紹了如何在 Windows 和 Windows Server 中啟用/禁用 SMBv1、SMBv2 和 SMBv3的方法,需要的朋友可以參考下。如何在 SMB 客戶端和服務器組件上啟用/禁用服務器消息...
文章主要介紹了如何在 Windows 和 Windows Server 中啟用/禁用 SMBv1、SMBv2 和 SMBv3的方法,需要的朋友可以參考下。
如何在 SMB 客戶端和服務器組件上啟用/禁用服務器消息塊 SMBv1、SMBv2 和 SMBv3。
注意:建議由專業技術工程師完成以下操作。
禁用 SMBv2 和 SMBv3 的影響
我們建議不要禁用 SMBv2 或 SMBv3。禁用 SMBv2 或 SMBv3 只能作為臨時故障排除措施。請勿使 SMBv2 或 SMBv3 保持禁用狀態。
禁用 SMBv2 的影響
在 Windows 7 和 Windows Server 2008 R2 中,禁用 SMBv2 會停用以下功能:
- 請求復合 - 允許發送多個 SMB 2 請求作為單個網絡請求
- 大型讀寫 - 更好地利用更快速的網絡
- 文件夾和文件屬性緩存 - 客戶端保留文件夾和文件的本地副本
- 持久句柄 - 如果臨時斷開連接,則允許連接以透明方式重新連接到服務器
- 改進的消息簽名 - HMAC SHA-256 代替 MD5 作為哈希算法
- 改進的文件共享擴展性 - 每個服務器的用戶數量、共享數量和打開文件數量大大增加
- 支持符號鏈接
- 客戶端 oplock 租賃模式 - 限制在客戶端和服務器之間傳輸的數據,從而提高高延遲網絡性能并增強 SMB 服務器的擴展性
- 大型 MTU 支持 - 可充分利用 10 千兆字節 (GB) 以太網
- 改進的能效 - 向服務器打開文件的客戶端可以睡眠
禁用 SMBv3 的影響
在 Windows 8、Windows 8.1、Windows 10、Windows Server 2012 和 Windows Server 2016 中,禁用 SMBv3 會停用以下功能(以及以上列表中所述的 SMBv2 功能):
- 透明故障轉移 - 在維護或故障轉移期間,客戶端會重新連接,不會干擾群集節點
- 擴展 – 并發訪問所有文件群集節點上的共享數據
- 多通道 - 如果客戶端和服務器之間有多個路徑可用時,則聚合網絡帶寬和容錯
- SMB 直通 – 增加 RDMA 網絡支持,實現極高的性能、低延遲和低 CPU 利用率
- 加密 – 提供端到端加密,并防止不可靠網絡上的竊聽
- 目錄租賃 - 通過緩存改進分支機構中應用程序的響應時間
- 性能優化 - 對小型隨機讀/寫 I/O 的優化
在 SMB 服務器上啟用/禁用 SMB 協議
Windows 8 和 Windows Server 2012
Windows 8 和 Windows Server 2012 引入了新的 Set-SMBServerConfiguration Windows PowerShell cmdlet。 通過此 cmdlet,你可以在服務器組件上啟用或禁用 SMBv1、SMBv2 和 SMBv3 協議。
注意:因為 SMBv2 和 SMBv3 共用一個堆疊,所以在 Windows 8 或 Windows Server 2012 中啟用或禁用 SMBv2 時,也會啟用或禁用 SMBv3。
使用 PowerShell cmdlet
運行 Set-SMBServerConfiguration cmdlet 后,無須重啟計算機。
若要獲取 SMB 服務器協議配置的當前狀態,請運行以下 cmdlet:
Get-SmbServerConfiguration | Select EnableSMB1Protocol, EnableSMB2Protocol
若要在 SMB 服務器上禁用 SMBv1,請運行以下 cmdlet:
Set-SmbServerConfiguration -EnableSMB1Protocol $false
若要在 SMB 服務器上禁用 SMBv2 和 SMBv3,請運行以下 cmdlet:
Set-SmbServerConfiguration -EnableSMB2Protocol $false
若要在 SMB 服務器上啟用 SMBv1,請運行以下 cmdlet:
Set-SmbServerConfiguration -EnableSMB1Protocol $true
若要在 SMB 服務器上啟用 SMBv2 和 SMBv3,請運行以下 cmdlet:
Set-SmbServerConfiguration -EnableSMB2Protocol $true
Windows 7、Windows Server 2008 R2、Windows Vista 和 Windows Server 2008
若要在運行 Windows 7、Windows Server 2008 R2、Windows Vista 或 Windows Server 2008 的 SMB 服務器上啟用或禁用 SMB 協議,請使用 Windows PowerShell 或注冊表編輯器。
使用 Windows PowerShell 2.0 或更高版本的 PowerShell
若要在 SMB 服務器上禁用 SMBv1,請運行以下 cmdlet:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB1 -Type Dword -Value 0 -Force
若要在 SMB 服務器上禁用 SMBv2 和 SMBv3,請運行以下 cmdlet:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB2 -Type DWORD -Value 0 -Force
若要在 SMB 服務器上啟用 SMBv1,請運行以下 cmdlet:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB1 -Type DWORD -Value 1 -Force
若要在 SMB 服務器上啟用 SMBv2 和 SMBv3,請運行以下 cmdlet:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" SMB2 -Type DWORD -Value 1 -Force
注意:進行這些更改后,必須重啟計算機。
使用注冊表編輯器
注意:以下內容包含有關如何修改注冊表的信息。修改注冊表之前,一定要先對其進行備份。并且一定要知道在發生問題時如何還原注冊表。有關如何備份、還原和修改注冊表的更多信息,請查看 如何在 Windows 中備份和還原注冊表。
若要在 SMB 服務器上啟用或禁用 SMBv1,請配置以下注冊表項:
注冊表子項:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters 注冊表項: SMB1
REG_DWORD: 0 = 已禁用
REG_DWORD: 1 = 已啟用
默認值: 1 = 已啟用
若要在 SMB 服務器上啟用或禁用 SMBv2,請配置以下注冊表項:
注冊表子項:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters 注冊表項: SMB2
REG_DWORD: 0 = 已禁用
REG_DWORD: 1 = 已啟用
默認值: 1 = 已啟用
在 SMB 客戶端上啟用/禁用 SMB 協議
Windows Vista、Windows Server 2008、Windows 7、Windows Server 2008 R2、Windows 8 和 Windows Server 2012
注意:因為 SMBv2 和 SMBv3 共用一個堆疊,所以在 Windows 8 或 Windows Server 2012 中啟用或禁用 SMBv2 時,也會啟用或禁用 SMBv3。
若要在 SMB 客戶端上禁用 SMBv1,請運行以下命令:
sc.exe config lanmanworkstation depend= bowser/mrxsmb20/nsi
sc.exe config mrxsmb10 start= disabled
若要在 SMB 客戶端上啟用 SMBv1,請運行以下命令:
sc.exe config lanmanworkstation depend= bowser/mrxsmb10/mrxsmb20/nsi
sc.exe config mrxsmb10 start= auto
若要在 SMB 客戶端上禁用 SMBv2 和 SMBv3,請運行以下命令:
sc.exe config lanmanworkstation depend= bowser/mrxsmb10/nsi
sc.exe config mrxsmb20 start= disabled
若要在 SMB 客戶端上啟用 SMBv2 和 SMBv3,請運行以下命令:
sc.exe config lanmanworkstation depend= bowser/mrxsmb10/mrxsmb20/nsi
sc.exe config mrxsmb20 start= auto
注意:
必須在提升的命令提示符中運行這些命令。
進行這些更改后,必須重啟計算機。
使用組策略禁用 SMBv1 服務器
這將在注冊表中配置以下新項:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters 注冊表項: SMB1 REG_DWORD: 0 = Disabled
使用組策略配置流程
1、打開組策略管理控制臺。右鍵單擊應包含新首選項的組策略對象 (GPO),然后單擊 編輯。
2、在 計算機配置 下的控制臺樹中,展開 首選項 文件夾,然后展開 Windows 設置 文件夾。
3、右鍵單擊 注冊表 節點,指向 新建,然后選擇 注冊表項。
4、在 新建注冊表屬性 對話框中,選擇以下內容:
操作: 創建
Hive: HKEY_LOCAL_MACHINE
注冊表項路徑: SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
值名稱: SMB1
值類型: REG_DWORD
值數據: 0
5、將此組策略應用到域中所有必需的工作站、服務器和域控制器,以禁用 SMBv1 服務器組件。也可以將 WMI 篩選器設置為不包含不受支持的操作系統或選中的排除項(如 Windows XP)。
注意:在舊版 Windows XP 或 Linux 早期版本以及第三方系統(不支持 SMBv2 或 SMBv3)需要訪問 SYSVOL 或其他文件共享(已啟用 SMB v1)的域控制器上進行這些更改時要謹慎小心。
使用組策略禁用 SMBv1 客戶端
若要禁用 SMBv1 客戶端,需要將服務注冊表項更新為禁止 MRxSMB10 啟動,然后還需要將 MRxSMB10 的依賴項從 LanmanWorkstation 項中刪除,以便它可以正常啟動(無需首先啟動 MRxSMB10)。
這將更新和替換注冊表以下 2 個項中的默認值
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\mrxsmb10 注冊表項: Start REG_DWORD: 4 = Disabled
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation 注冊表項: DependOnService REG_MULTI_SZ: “Bowser”,”MRxSmb20″,”NSI”
注意:默認包含的 MRxSMB10 現已作為依賴項刪除。
使用組策略配置流程
1、打開組策略管理控制臺。右鍵單擊應包含新首選項的組策略對象 (GPO),然后單擊 編輯。
2、在 計算機配置 下的控制臺樹中,展開 首選項 文件夾,然后展開 Windows 設置 文件夾。
3、右鍵單擊 注冊表 節點,指向 新建,然后選擇 注冊表項。
4、在 新建注冊表屬性 對話框中,選擇以下內容:
操作: 更新
Hive: HKEY_LOCAL_MACHINE
注冊表項路徑: SYSTEM\CurrentControlSet\services\mrxsmb10
值名稱: Start
值類型: REG_DWORD
值數據: 4
然后刪除剛剛禁用的 MRxSMB10 的依賴項
5、在 新建注冊表屬性 對話框中,選擇以下內容:
操作: 替換
Hive: HKEY_LOCAL_MACHINE
注冊表項路徑: SYSTEM\CurrentControlSet\Services\LanmanWorkstation
值名稱: DependOnService
值類型 REG_MULTI_SZ
值數據:
Bowser
MRxSmb20
NSI
注意: 這 3 個字符串不帶項目符號(具體如下)
在 Windows 的多個版本中,默認值包括 MRxSMB10,通過將其替換為此多值字符串,實際上就刪除了作為 LanmanServer 依賴項的 MRxSMB10,結果是從四個默認值減少為上述這三個值。
注意:使用組策略管理控制臺時,無需使用引號或逗號。只需在各行鍵入每個項,如上面所示。
需要重新啟動
應用策略且正確設置注冊表后,必須重新啟動目標系統,然后才能禁用 SMB v1。
摘要
如果所有設置均在同一組策略對象 (GPO) 中,組策略管理將顯示以下設置。
測試和驗證
配置完成后即允許策略進行復制和更新。作為測試的必要步驟,請從 CMD.EXE 提示符處運行 gpupdate/force,然后查看目標計算機,以確保注冊表設置得以正確應用。確保 SMBv2 和 SMBv3 在環境中的所有其他系統中正常運行。
注意:請務必重新啟動目標系統。
如何在 Windows 8.1、Windows 10、Windows 2012 R2 和 Windows Server 2016 中輕松刪除 SMBv1
Windows Server:使用 “服務器管理器”
Windows Server:使用 PowerShell (Remove-WindowsFeature FS-SMB1)
Windows 客戶端:使用 PowerShell (Disable-WindowsOptionalFeature -Online -FeatureName smb1protocol)
參考與適用性
本文來源自微軟官方技術文檔:如何在 Windows 和 Windows Server 中啟用和禁用 SMBv1、SMBv2 和 SMBv3。
如有變化,以微軟官方為準。
這篇文章中的信息適用于:
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
windows server 2008 r2 DNS服務器配置教程圖文詳解
DNS服務器的作用就是幫助用戶使用簡單好記的域名來訪問網絡上的主機和網絡服務。這篇文章主要介紹了windows server 2008 r2 DNS服務器配置圖文教程,需要的朋友可以參考下。...
Windows Server 2019服務器系統安裝教程圖文詳解
indows Server 2019是由微軟(Microsoft)官方推出的最新版服務器版操作系統,該系統基于Win Server 2016開發而來,后者是微軟迄今為止普及速度最快的服務器系統。...
如何使用linux的服務器需要進行的配置
這篇文章主要內容就是對如何使用linux的服務器需要進行的配置。根據小編我努力的學習成果,我們現在的進程已經到了對linux服務器的學習,但是當你想要學習linux服務器時...
DNS服務器保護方法:幾點保護DNS服務器的有效方法小結
完成DNS查詢的DNS服務器。使用DNS轉發器的主要目的是減輕DNS處理的壓力,本文收集總結了幾點保護DNS服務器的有效方法。需要的朋友的可以參考下。...
windows2003服務器搭建DNS服務器配置圖解教程
DNS簡單地說,就是Domain Name System(域名系統)。在一個以TCP/IP協議為主的網絡環境中,DNS是一個非常重要而且常用的系統。其主要的功能就是將我們容易記憶的網址域名(Domain Name)與不容易記憶的IP地址作自動解析互換...
RHE5服務器中搭建DNS服務器的方法步驟說明[圖文]
本文介紹 RHE5中搭建DNS服務器的方法,主機的一個列表文件—包含(本地網絡中)已知主機的一個列表如果系統的IP不是動態生成,就可以使用它,對于簡單的主機名解析(點分表示法供大家學習參考...
關于安裝DNS服務器的添加步驟具體圖文詳解
在WindowsServer2003系統中默認的是將本地計算機作為DNS服務器的硬件設備,即將本地計算機的IP地址或名稱指定給DNS服務器,下面為大家介紹下DNS服務器具體的添加步驟。...
windows服務器下指定IP地址遠程訪問服務器的設置方法
我們有很多服務器經常受到外界網絡的干擾,入侵者們通過掃描3389端口爆破密碼非法進入我們的服務器,這時,我們可以配置服務器IP 安全策略來限制一些IP訪問,大大提高了服務器的安全。...
Windows server 2008 R2服務器遠程桌面3389端口的修改方法
文章主要為大家詳細介紹了Windows server 2008 R2遠程桌面3389端口的修改方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下...
windows服務器系統下安裝JDK8的教程圖解
文章主要介紹了windows系統下安裝JDK8的教程圖解,本文通過圖文并茂的形式給大家介紹的非常詳細,需要的朋友可以參考下。...