Windows Server 2016/2019 및 Windows 10(빌드 1709부터 시작)에서는 공유 폴더에 액세스하는 데 사용되는 SMBv1(서버 메시지 블록 1.0) 네트워크 프로토콜이 기본적으로 비활성화되어 있습니다. 대부분의 경우 이 프로토콜은 더 이상 지원되지 않는 Windows XP, Windows Server 2003 및 이전 OS와 같은 레거시 시스템에서 호스팅되는 공유 폴더에 액세스하는 데 필요합니다. 이 기사에서는 Windows 10 및 Windows Server 2016/2019에서 SMBv1 클라이언트 및 서버 지원을 활성화 또는 비활성화하는 방법을 살펴보겠습니다.
네트워크에 SMB 1.x 클라이언트가 남아 있지 않으면 모든 Windows 장치에서 SMBv1을 완전히 비활성화해야 합니다. SMB 1.0을 비활성화하면 이 레거시 프로토콜의 광범위한 취약점으로부터 Windows 컴퓨터를 보호할 수 있습니다(SMBv1에 대한 가장 유명한 공개 익스플로잇은 EternalBlue임). 결과적으로 장치는 네트워크 공유에 액세스할 때 SMB 프로토콜의 새롭고 더 효율적이며 안전하고 기능적인 버전을 사용합니다.
이전 기사 중 하나에서 클라이언트 측 및 서버 측 SMB 버전 호환성 표를 보여주었습니다. 표에 따르면 이전 클라이언트 버전(XP, Server 2003 및 일부 *nix 클라이언트)은 SMB v1.0 프로토콜을 사용하는 경우에만 네트워크 공유 폴더에 액세스할 수 있습니다. 네트워크에 이러한 클라이언트가 없으면 파일 서버(AD 도메인 컨트롤러 포함) 및 클라이언트 데스크톱 측에서 SMB 1.0을 완전히 비활성화할 수 있습니다.
Windows 10 및 Windows Server 2016에서 SMBv1 프로토콜은 SMB 클라이언트라는 두 개의 개별 구성요소로 분할됩니다. 및 SMB 서버 , 독립적으로 활성화/비활성화할 수 있습니다.
내용:
- SMB v1.0을 통한 공유 폴더 액세스 감사
- Windows Server 2016/2019에서 SMB 1.0 활성화/비활성화
- Windows 10에서 SMBv1을 활성화/비활성화하는 방법
- 그룹 정책을 통해 SMBv1 클라이언트 및 서버 비활성화
SMB v1.0을 통한 공유 폴더 액세스 감사
SMB 파일 서버 측에서 SMB 1.0 드라이버를 비활성화하거나 완전히 제거하기 전에 네트워크에서 이를 사용하는 레거시 클라이언트가 없는지 확인하는 것이 좋습니다. 이렇게 하려면 다음 PowerShell 명령을 사용하여 SMB v1.0을 통한 파일 서버 액세스 감사를 활성화하십시오.
Set-SmbServerConfiguration –AuditSmb1Access $true
며칠 후 서버에서 이벤트 뷰어를 열고 응용 프로그램 및 서비스 -> Microsoft -> Windows -> SMBServer -> Audi 로그를 확인합니다. 그 클라이언트가 SMB1을 통해 파일 서버에 액세스했는지 확인하십시오.
팁. 다음 PowerShell 명령을 사용하여 이 이벤트 로그의 이벤트 목록을 표시할 수 있습니다.Get-WinEvent -LogName Microsoft-Windows-SMBServer/Audit
이 예에서 EventID가 3000인 이벤트 SMBServer에서 로그에서 소스를 찾았습니다. 이벤트는 클라이언트 192.168.1.10이 SMB1 프로토콜을 사용하여 서버에 액세스를 시도하고 있음을 나타냅니다.
SMB1 access Client Address: 192.168.1.10 Guidance: This event indicates that a client attempted to access the server using SMB1. To stop auditing SMB1 access, use the Windows PowerShell cmdlet Set-SmbServerConfiguration.
네트워크에서 이 컴퓨터 또는 장치를 찾고 최신 SMB 프로토콜 버전(SMBv2 또는 SMBv3)을 지원하는 버전으로 OS 또는 펌웨어를 업데이트해야 합니다.
우리의 경우 이 정보를 무시하지만 나중에 이 클라이언트가 이 SMB 서버의 공유 폴더에 액세스할 수 없다는 점을 염두에 두어야 합니다.
Windows Server 2016/2019에서 SMB 1.0 활성화/비활성화
빌드 1709 및 Windows Server 2019로 시작하는 Windows Server 2016에서 SMBv1은 기본적으로 비활성화되어 있습니다. 최신 버전의 Windows Server에서 SMBv1 클라이언트 프로토콜에 대한 지원을 활성화하려면 별도의 SMB 1.0/CIFS 파일 공유 지원을 설치해야 합니다. 기능.
서버 관리자를 사용하거나 PowerShell을 통해 SMBv1 기능을 설치할 수 있습니다.
PowerShell 명령으로 SMBv1이 활성화되었는지 확인할 수 있습니다.
Get-WindowsFeature | Where-Object {$_.name -eq "FS-SMB1"} | ft Name,Installstate
FS-SMB1을 설치하려면 기능, 실행:
Install-WindowsFeature FS-SMB1
SMBv1 클라이언트 기능(재부팅 필요)을 제거하려면 다음 명령을 실행하십시오.
Uninstall-WindowsFeature –Name FS-SMB1 –Remove
Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol -Remove
서버에서 SMBv1.0 클라이언트 액세스를 처리하려면 FS-SMB1 외에 SMB 파일 서버 수준에서 SMBv1 지원을 활성화해야 합니다. 요소. 서버의 네트워크 공유에 대해 SMBv1 액세스가 활성화되어 있는지 확인하려면 다음을 실행하십시오.
Get-SmbServerConfiguration
"EnableSMB1Protocol: True
줄 "는 SMBv1 프로토콜을 사용하여 이 서버의 공유 폴더에 액세스할 수 있음을 의미합니다. Windows Server에서 SMBv1 서버 지원을 비활성화하려면 PowerShell 명령을 실행합니다.
Set-SmbServerConfiguration -EnableSMB1Protocol $false -Force
이제 Get-SmbServerConfiguration
을 사용합니다. cmdlet을 사용하여 SMB1 서버가 비활성화되었는지 확인합니다.
서버에서 SMBv1 지원을 활성화하려면 다음 명령을 실행하십시오.
Set-SmbServerConfiguration -EnableSMB1Protocol $True -Force
sc.exe config lanmanworkstation depend= bowser/mrxsmb20/nsi
sc.exe config mrxsmb10 start= disabled
Windows 10에서 SMBv1을 활성화/비활성화하는 방법
이미 말했듯이 Windows10의 모든 새 빌드(1709부터 시작)에서는 SMB1 프로토콜 지원이 비활성화됩니다(SMBv2 프로토콜을 통한 게스트 액세스도 비활성화됨).
Windows 10에서는 DISM 명령을 사용하여 SMBv1 프로토콜 구성 요소의 상태를 확인할 수 있습니다.
Dism /online /Get-Features /format:table | find "SMB1Protocol"
이 예에서는 모든 SMBv1 기능이 비활성화된 것을 볼 수 있습니다.
SMB1Protocol | Disabled SMB1Protocol-Client | Disabled SMB1Protocol-Server | Disabled SMB1Protocol-Deprecation | Disabled
Windows 10에서는 제어판(optionalfeatures.exe
)에서 SMB 1 기능을 관리할 수도 있습니다. ). SMB 1.0 /CIFS 파일 공유 지원 확장 옵션. 보시다시피 여기에서 3개의 SMBv1 구성 요소도 사용할 수 있습니다.
- SMB 1.0/CIFS 자동 제거
- SMB 1.0/CIFS 클라이언트
- SMB 1.0/CIFS 서버
기능 관리 창에서 또는 다음 명령을 사용하여 Windows 10에서 SMBv1 클라이언트 및 서버를 활성화할 수 있습니다.
Dism /online /Enable-Feature /FeatureName:"SMB1Protocol"
Dism /online /Enable-Feature /FeatureName:"SMB1Protocol-Client"
Dism /online /Enable-Feature /FeatureName:"SMB1Protocol-Server"
Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol-Server
Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol-Client
SMBv1 클라이언트를 활성화한 후 15일 이상 사용하지 않으면 자동으로 비활성화됩니다.
SMBv1 클라이언트의 자동 제거는 일회성 작업입니다. 관리자가 수동으로 SMBv1을 다시 활성화하면 자동으로 비활성화되지 않습니다.Windows 10에서 SMB1 클라이언트 및 서버 지원을 비활성화하려면 다음 DISM 명령을 실행하십시오.
Dism /online /Disable-Feature /FeatureName:"SMB1Protocol"
Dism /online /Disable-Feature /FeatureName:"SMB1Protocol-Client"
Dism /online /Disable-Feature /FeatureName:"SMB1Protocol-Server"
Windows 10에서 SMBv1 클라이언트를 비활성화한 경우 SMBv1만 지원하는 파일 서버의 스네어 폴더에 액세스하면(SMBv2 및 v3 프로토콜이 비활성화되거나 지원되지 않음) 다음 오류를 수신할 수 있습니다.
0x80070035 The network path was not found;
Unable to connect to file shares because it is not secure. This share requires the obsolete SMB1 protocol, which is not secure and could expose your system to attacks;
You can’t connect to the file share because it’s not secure. This share requires the obsolete SMB1 protocol, which is unsafe and could expose your system to attack. Your system requires SMB2 or higher.
Windows 10에서 공유 폴더에 액세스할 수 없음 문서에서 이에 대해 자세히 알아보세요.
또한 SMBv1 클라이언트를 비활성화하면 컴퓨터 브라우저 레거시 NetBIOS 프로토콜에서 네트워크의 장치를 검색하는 데 사용하는 서비스가 컴퓨터에서 작동을 멈춥니다. Windows 10 네트워크에서 인접 컴퓨터를 올바르게 표시하려면 기능 검색 공급자 호스트를 구성해야 합니다. 서비스(이 기사를 확인하십시오).
그룹 정책을 통해 SMBv1 클라이언트 및 서버 비활성화
Active Directory 도메인 환경에서는 GPO(그룹 정책)를 사용하여 모든 서버와 컴퓨터에서 SMBv1을 비활성화할 수 있습니다. 표준 Windows 그룹 정책에는 별도의 SMB 구성 정책이 없으므로 레지스트리 정책을 통해 비활성화해야 합니다.
- 그룹 정책 관리 콘솔(
gpmc.msc
), 새 GPO 생성(disableSMBv1 ) SMB1을 비활성화하려는 컴퓨터가 포함된 OU에 연결합니다. - 정책 편집 모드로 전환합니다. GPO 섹션 컴퓨터 구성 확장 -> 기본 설정 -> Windows 설정 -> 레지스트리;
- 다음 설정으로 새 레지스트리 항목을 만듭니다.
작업:Update
하이브:HKEY_LOCAL_MACHINE
키 경로:SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
값 이름:SMB1
값 유형:REG_DWORD
값 데이터:0
이 정책은 모든 컴퓨터의 레지스트리를 통해 SMBv1 서버 구성 요소에 대한 지원을 비활성화합니다. WMI 필터를 사용하여 이 정책에서 일부 Windows 버전을 제외할 수 있습니다.
GPO를 통해 도메인 컴퓨터에서 SMB 클라이언트를 비활성화하려면 두 개의 추가 레지스트리 매개변수를 만드십시오.
- 시작 값이 4인 매개변수(REG_DWORD 유형) 레지스트리 키 HKLM\SYSTEM\CurrentControlSet\services\mrxsmb10;
- DependOnService 값이 Bowser인 매개변수(REG_MULTI_SZ 유형) , MRxSmb20 , NSI (새 줄의 각 값) reg 키 HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation.
클라이언트에서 그룹 정책 설정을 업데이트해야 합니다(gpupdate /force
) 재부팅 후 SMBv1 구성 요소가 완전히 비활성화되었는지 확인하십시오.
SecGuide.adml
및 SecGuide.admx
파일) SMB 서버 및 클라이언트 비활성화를 위한 별도의 옵션: - SMB v1 서버 구성
- SMB v1 클라이언트 드라이버를 구성합니다.