Windows에서 SMBv1, SMBv2, SMBv3을 검색, 활성화, 비활성화하는 방법

적용 대상: Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012, Windows 11, Windows 10, Windows 8.1, Windows 8

이 문서에서는 SMB 클라이언트 및 서버 구성 요소에서 SMB(서버 메시지 블록) 버전 1(SMBv1), SMB 버전 2(SMBv2) 및 SMB 버전 3(SMBv3)을 사용하거나 사용하지 않도록 설정하는 방법을 설명합니다.

SMBv1을 사용하지 않도록 설정하거나 제거하면 이전 컴퓨터 또는 소프트웨어와 호환성 문제가 발생할 수 있지만 SMBv1에는 상당한 보안 취약성이 있으며 사용하지 않는 것이 좋습니다. SMB 1.0은 Windows 11 또는 Windows Server 2019 이상 버전에서는 기본적으로 설치되지 않습니다. SMB 1.0은 Home 및 Pro 버전을 제외하고 Windows 10에도 기본적으로 설치되지 않습니다. SMB 1.0을 다시 설치하는 대신 여전히 필요한 SMB 서버를 업데이트하는 것이 좋습니다. SMB 1.0이 필요한 타사 목록과 요구 사항을 제거하는 해당 업데이트를 보려면 SMB1 Product Clearinghouse를 검토하세요.

문제 해결을 위해 SMBv2 또는 SMBv3 사용 안 림

SMBv2 및 SMBv3을 사용하도록 설정하는 것이 좋지만 문제 해결을 위해 일시적으로 사용하지 않도록 설정하는 것이 유용할 수 있습니다. 자세한 내용은 SMB 서버에서 상태 검색하고 SMB 프로토콜을 사용하도록 설정하고 사용하지 않도록 설정하는 방법을 참조하세요.

Windows 10, Windows 8.1, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2 및 Windows Server 2012에서 SMBv3을 사용하지 않도록 설정하면 다음 기능이 비활성화됩니다.

  • 투명한 장애 조치 (failover) - 클라이언트가 기본 테넌트 또는 장애 조치(failover) 중에 클러스터 노드에 중단 없이 다시 연결
  • 규모 확장 - 모든 파일 클러스터 노드의 공유 데이터에 대한 동시 액세스
  • 다중 채널 - 클라이언트와 서버 간에 여러 경로를 사용할 수 있는 경우 네트워크 대역폭 및 내결함성 집계
  • SMB Direct - 짧은 대기 시간 및 낮은 CPU 사용으로 고성능을 위한 RDMA 네트워킹 지원을 추가합니다.
  • 암호화 - 엔드투엔드 암호화를 제공하고 신뢰할 수 없는 네트워크에서 도청으로부터 보호
  • 디렉터리 임대 - 캐싱을 통해 지점의 애플리케이션 응답 시간 개선
  • 성능 최적화 - 작은 임의 읽기/쓰기 I/O에 대한 최적화

Windows 7 및 Windows Server 2008 R2에서 SMBv2를 사용하지 않도록 설정하면 다음 기능이 비활성화됩니다.

  • 요청 복합 - 여러 SMBv2 요청을 단일 네트워크 요청으로 보낼 수 있습니다.
  • 더 큰 읽기 및 쓰기 - 더 빠른 네트워크 사용
  • 폴더 및 파일 속성 캐싱 - 클라이언트는 폴더 및 파일의 로컬 복사본을 유지합니다.
  • 지속성 핸들 - 일시적인 연결 끊김이 있는 경우 서버에 투명하게 다시 연결할 수 있도록 허용
  • 향상된 메시지 서명 - HMAC SHA-256이 MD5를 해시 알고리즘으로 대체
  • 파일 공유에 대한 확장성 향상 - 서버당 사용자, 공유 및 열린 파일 수가 크게 증가했습니다.
  • 기호 링크 지원
  • 클라이언트 oplock 임대 모델 - 클라이언트와 서버 간에 전송되는 데이터를 제한하여 대기 시간이 긴 네트워크에서 성능을 향상시키고 SMB 서버 확장성을 높입니다.
  • 대규모 MTU 지원 - 10GbE(기가비트 이더넷)의 전체 사용
  • 향상된 에너지 효율성 - 서버에 열려 있는 파일이 있는 클라이언트는 절전 모드로 설정할 수 있습니다.

SMBv2 프로토콜은 Windows Vista 및 Windows Server 2008에서 도입되었으며, SMBv3 프로토콜은 Windows 8 및 Windows Server 2012에서 도입되었습니다. SMBv2 및 SMBv3 기능에 대한 자세한 내용은 다음 문서를 참조하세요.

PowerShell을 통해 SMBv1을 제거하는 방법

권한 상승과 함께 PowerShell 명령을 사용하여 SMBv1 클라이언트 및 서버를 검색, 비활성화 및 사용하도록 설정하는 단계는 다음과 같습니다.

참고 항목

PowerShell 명령을 실행하여 SMBv1을 사용하지 않도록 설정하거나 사용하도록 설정한 후 컴퓨터가 다시 시작됩니다.

  • 검색:

    Get-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
    
  • 다음 항목을 사용하지 않도록 설정하세요.

    Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
    
  • [도메인에 조인된 컴퓨터를 디바이스로 등록]을

    Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
    

다음을 실행Get-SmbServerConfiguration | Format-List EnableSMB1Protocol하여 상승 없이 SMBv1 상태 검색할 수 있습니다.

Windows Server 2012 Windows Server 2012 R2, Windows Server 2016, Windows Server 2019: 서버 관리자 메서드

Server Manager - Dashboard method

Windows Server에서 SMBv1을 제거하려면 다음을 수행합니다.

  1. SMBv1을 제거하려는 서버의 서버 관리자 대시보드에서 이 로컬 서버 구성에서 역할 및 기능 추가를 선택합니다.
  2. 시작하기 전에 페이지에서 역할 및 기능 제거 마법사 시작을 선택한 다음, 다음 페이지에서 다음을 선택합니다.
  3. 서버 풀 아래의 대상 서버 선택 페이지에서 기능을 제거하려는 서버가 선택되어 있는지 확인하고 다음을 선택합니다.
  4. 서버 역할 제거 페이지에서 다음을 선택합니다.
  5. 기능 제거 페이지에서 SMB 1.0/CIFS 파일 공유 지원에 대한 검사 상자의 선택을 취소하고 다음을 선택합니다.
  6. 제거 선택 확인 페이지에서 기능이 나열되어 있는지 확인한 다음 제거를 선택합니다.

Windows 8.1, Windows 10 및 Windows 11: 프로그램 추가 또는 제거 방법

Add-Remove Programs client method

멘션 운영 체제에 대해 SMBv1을 사용하지 않도록 설정하려면 다음을 수행합니다.

  1. 제어판 프로그램 및 기능을 선택합니다.
  2. 제어판 홈에서 Windows 기능 켜기 또는 끄기를 선택하여 Windows 기능 상자를 엽니다.
  3. Windows 기능 상자에서 목록을 아래로 스크롤하고 SMB 1.0/CIFS 파일 공유 지원에 대한 검사 상자를 선택 취소하고 확인을 선택합니다.
  4. Windows에서 변경 사항을 적용한 후 확인 페이지에서 지금 다시 시작을 선택합니다.

상태 검색하고, SMB 프로토콜을 사용하도록 설정하고, 사용하지 않도록 설정하는 방법

참고 항목

Windows 8 또는 Windows Server 2012에서 SMBv2를 사용하거나 사용하지 않도록 설정하면 SMBv3도 사용하거나 사용하지 않도록 설정됩니다. 이 동작은 이러한 프로토콜이 동일한 스택을 공유하기 때문에 발생합니다.

Windows 8 및 Windows Server 2012에는 새로운 Set-SMBServerConfiguration Windows PowerShell cmdlet이 도입되었습니다. cmdlet을 사용하면 서버 구성 요소에서 SMBv1, SMBv2 및 SMBv3 프로토콜을 사용하거나 사용하지 않도록 설정할 수 있습니다.

Set-SMBServerConfiguration cmdlet을 실행한 후에는 컴퓨터를 다시 시작할 필요가 없습니다.

SMBv1

  • 검색:

    Get-SmbServerConfiguration | Select EnableSMB1Protocol
    
  • 다음 항목을 사용하지 않도록 설정하세요.

    Set-SmbServerConfiguration -EnableSMB1Protocol $false
    
  • [도메인에 조인된 컴퓨터를 디바이스로 등록]을

    Set-SmbServerConfiguration -EnableSMB1Protocol $true
    

자세한 내용은 Microsoft의 Server Storage를 참조 하세요.

SMB v2/v3

  • 검색:

    Get-SmbServerConfiguration | Select EnableSMB2Protocol
    
  • 다음 항목을 사용하지 않도록 설정하세요.

    Set-SmbServerConfiguration -EnableSMB2Protocol $false
    
  • [도메인에 조인된 컴퓨터를 디바이스로 등록]을

    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 또는 레지스트리 편집기를 사용합니다.

추가 PowerShell 메서드

참고 항목

이 메서드에는 PowerShell 2.0 이상이 필요합니다.

SMB 서버의 SMBv1

검색:

Get-Item HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters | ForEach-Object {Get-ItemProperty $_.pspath}

기본 구성 = 사용(이름이 지정된 레지스트리 값이 생성되지 않음) SMB1 값이 반환되지 않습니다.

다음 항목을 사용하지 않도록 설정하세요.

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

[도메인에 조인된 컴퓨터를 디바이스로 등록]을

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

이러한 변경 내용을 적용한 후에는 컴퓨터를 다시 시작해야 합니다. 자세한 내용은 Microsoft의 Server Storage를 참조 하세요.

SMB 서버의 SMBv2/v3

검색:

Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters | ForEach-Object {Get-ItemProperty $_.pspath}

다음 항목을 사용하지 않도록 설정하세요.

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

[도메인에 조인된 컴퓨터를 디바이스로 등록]을

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

참고 항목

이러한 변경 내용을 적용한 후 컴퓨터를 다시 시작해야 합니다.

레지스트리 편집기

Important

주의를 기울여 이 절의 단계를 수행하십시오. 레지스트리를 잘못 수정할 경우 심각한 문제가 발생할 수 있습니다. 레지스트리를 수정하기 전에 문제가 발생할 경우에 대비하여 레지스트리를 복원 가능하도록 백업하세요.

SMB 서버에서 SMBv1을 사용하거나 사용하지 않도록 설정하려면 다음 레지스트리 키를 구성합니다.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters

Registry entry: SMB1
REG_DWORD: 0 = Disabled
REG_DWORD: 1 = Enabled
Default: 1 = Enabled (No registry key is created)

SMB 서버에서 SMBv2를 사용하거나 사용하지 않도록 설정하려면 다음 레지스트리 키를 구성합니다.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters

Registry entry: SMB2
REG_DWORD: 0 = Disabled
REG_DWORD: 1 = Enabled
Default: 1 = Enabled (No registry key is created)

참고 항목

 이러한 변경 내용을 적용한 후 컴퓨터를 다시 시작해야 합니다.

그룹 정책을 사용하여 SMBv1 사용 안 함

이 섹션에서는 그룹 정책을 사용하여 SMBv1을 사용하지 않도록 설정하는 방법을 소개합니다. 다른 버전의 Windows에서 이 메서드를 사용할 수 있습니다.

SMBv1

이 절차는 레지스트리에서 다음 새 항목을 구성합니다.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters

  • 레지스트리 항목: SMB1
  • REG_DWORD: 0 = 사용 안 함

그룹 정책을 사용하여 이를 구성하려면 다음 단계를 수행합니다.

  1. 열기는 그룹 정책 관리 콘솔합니다. 새 기본 설정 항목이 포함되어야 하는 GPO(그룹 정책 개체)를 마우스 오른쪽 단추로 클릭한 다음 편집을 클릭합니다.

  2. 컴퓨터 구성 아래의 콘솔 트리에서 기본 설정 폴더를 확장한 다음 Windows 설정 폴더를 확장합니다.

  3. 레지스트리 노드를 마우스 오른쪽 단추로 클릭하고 새로 만들기가리킨 다음 레지스트리 항목을 선택합니다.

    Registry - New - Registry Item

새 레지스트리 속성 대화 상자에서 다음을 선택합니다.

  • 작업: 만들기
  • Hive: HKEY_LOCAL_MACHINE
  • 키 경로: SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
  • 값 이름: SMB1
  • 값 형식: REG_DWORD
  • 값 데이터: 0

New Registry Properties - General

이 절차에서는 SMBv1 서버 구성 요소를 사용하지 않도록 설정합니다. 이 그룹 정책은 do기본 필요한 모든 워크스테이션, 서버 및 할 일기본 컨트롤러에 적용되어야 합니다.

Important

기존 Windows XP 또는 이전 Linux 및 타사 시스템(SMBv2 또는 SMBv3을 지원하지 않음)이 SYSVOL 또는 SMB v1을 사용하지 않도록 설정된 다른 파일 공유에 액세스해야 하는 do기본 컨트롤러에서 이러한 변경을 수행할 때는 주의해야 합니다.

SMBv1 사용 감사

SMBv1을 사용하여 SMB 서버에 연결하려는 클라이언트를 확인하려면 Windows Server 2016, Windows 10 및 Windows Server 2019에서 감사를 사용하도록 설정할 수 있습니다. 2018년 5월 월간 업데이트가 설치된 경우 Windows 7 및 Windows Server 2008 R2 및 Windows 8.1 및 Windows Server 2012 R2에서 2017년 7월 월별 업데이트가 설치된 경우 감사할 수도 있습니다.

  • [도메인에 조인된 컴퓨터를 디바이스로 등록]을

    Set-SmbServerConfiguration -AuditSmb1Access $true
    
  • 다음 항목을 사용하지 않도록 설정하세요.

    Set-SmbServerConfiguration -AuditSmb1Access $false
    
  • 검색:

    Get-SmbServerConfiguration | Select AuditSmb1Access
    

SMBv1 감사를 사용하도록 설정하면 이벤트 3000이 "Microsoft-Windows-SMBServer\Audit" 이벤트 로그에 표시되어 SMBv1에 연결을 시도하는 각 클라이언트를 식별합니다.

요약

모든 설정이 동일한 GPO에 있는 경우 그룹 정책 관리에 다음 설정이 표시됩니다.

Group Policy Management Editor - Registry

테스트 및 유효성 검사

이 문서의 구성 단계를 완료한 후 정책을 복제본(replica) 업데이트하도록 허용합니다. 테스트에 필요한 경우 명령 프롬프트에서 gpupdate /force를 실행한 다음 대상 컴퓨터를 검토하여 레지스트리 설정이 올바르게 적용되었는지 확인합니다. SMBv2 및 SMBv3이 환경의 다른 모든 시스템에 대해 작동하는지 확인합니다.

참고 항목

대상 시스템을 다시 시작하는 것을 잊지 마세요.