SMB 보안 강화

적용 대상: Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012, Azure Stack HCI version 21H2, Windows 11, Windows 10

이 문서에서는 Windows Server 및 Windows의 SMB 보안 강화에 대해 설명합니다.

SMB 암호화

SMB 암호화는 SMB 데이터에 대한 엔드투엔드 암호화 기능을 제공하며, 신뢰할 수 없는 네트워크에서 발생하는 도청으로부터 데이터를 보호합니다. 최소한의 작업으로 SMB 암호화를 배포할 수 있지만, 약간의 특수 하드웨어 또는 소프트웨어에 대한 비용이 발생할 수 있습니다. IPsec(인터넷 프로토콜 보안) WAN 가속기에 대한 요구 사항은 없습니다. SMB 암호화는 전체 파일 서버 또는 드라이브 매핑 시 공유 단위로 구성할 수 있습니다.

참고 항목

미사용 보안은 SMB 암호화의 범위에 포함되지 않으며, 일반적으로 BitLocker 드라이브 암호화를 통해 처리됩니다.

중요한 데이터를 메시지 가로채기 공격으로부터 보호해야 하는 시나리오에는 SMB 암호화를 고려해야 합니다. 가능한 시나리오는 다음과 같습니다.

  • SMB 프로토콜을 사용하여 정보 근로자의 중요한 데이터를 이동합니다. SMB 암호화는 파일 서버와 클라이언트 간에 엔드 투 엔드 개인 정보 보호 및 무결성 보증을 제공합니다. Microsoft 이외의 공급자가 유지 관리하는 WAN(광역 네트워크) 연결과 같이 트래버스된 네트워크에 관계없이 이 보안을 제공합니다.
  • SMB 3.0을 사용하면 파일 서버에서 SQL Server나 Hyper-V 같은 서버 애플리케이션에 지속적으로 사용 가능한 스토리지를 제공할 수 있습니다. SMB 암호화를 사용하도록 설정하면 스누핑 공격으로부터 해당 정보를 보호할 수 있는 기회가 제공됩니다. SMB 암호화는 대부분의 SAN(저장 영역 네트워크)에 필요한 전용 하드웨어 솔루션보다 사용 방법이 간단합니다.

Windows Server 2022 및 Windows 11에는 SMB 3.1.1 암호화를 위한 AES-256-GCM 및 AES-256-CCM 암호화 제품군이 도입되었습니다. Windows는 더욱 고급의 암호화 방법을 지원하는 다른 컴퓨터에 연결할 때 자동으로 협상합니다. 그룹 정책을 통해 이 메서드를 위임할 수도 있습니다. Windows는 여전히 AES-128-GCM 및 AES-128-CCM을 지원합니다. 기본적으로 AES-128-GCM은 SMB 3.1.1과 협상되어 보안과 성능의 최상의 균형을 제공합니다.

Windows Server 2022 및 Windows 11 SMB 다이렉트는 이제 암호화를 지원합니다. 이전에는 SMB 암호화를 사용하도록 설정하면 직접 데이터 배치가 비활성화되어 RDMA 성능이 TCP만큼 느려졌습니다. 이제 데이터가 배치 전에 암호화되어 AES-128 및 AES-256 보호된 패킷 개인 정보를 추가하는 동안 성능이 비교적 덜 저하됩니다. Windows Admin Center, Set-SmbServerConfiguration 또는 UNC 보안 강화 그룹 정책을 사용하여 암호화를 사용하도록 설정할 수 있습니다.

또한 Windows Server 장애 조치(failover) 클러스터는 이제 CSV(클러스터 공유 볼륨) 및 SBL(스토리지 버스 계층)에 대한 노드 내 스토리지 통신을 암호화하는 세분화된 제어를 지원합니다. 즉, 이 서포트는 스토리지 공간 다이렉트 및 SMB 다이렉트를 사용하는 경우 보안 강화를 위해 클러스터 자체 내에서 동-서 통신을 암호화하도록 결정할 수 있음을 의미합니다.

Important

엔드투엔드 암호화 보호는 비-암호화에 비해 훨씬 많은 성능 비용이 발생합니다.

SMB 암호화 사용

파일 서버 전체에 또는 특정 파일 공유에만 SMB 암호화를 사용하도록 설정할 수 있습니다. 다음 절차 중 하나를 사용하여 SMB 암호화를 사용하도록 설정합니다.

Windows Admin Center에서 SMB 암호화 사용

  1. Windows Admin Center를 다운로드하여 설치합니다.
  2. 파일 서버에 연결합니다.
  3. 파일 & 파일 공유를 선택합니다.
  4. 파일 공유 탭을 선택합니다.
  5. 공유에서 암호화를 요구하려면 공유 이름을 선택하고 SMB 암호화 사용을 고릅니다.
  6. 서버에서 암호화를 요구하려면 파일 서버 설정을 선택합니다.
  7. SMB 3 암호화에서 모든 클라이언트에서 필수(다른 클라이언트는 거부됨)를 선택한 다음 저장을 선택합니다.

UNC 강화를 통해 SMB 암호화 사용

UNC 강화는 서버 암호화 설정에 관계 없이 암호화를 요구하도록 SMB 클라이언트를 구성하게 해줍니다. 이 기능은 가로채기 공격을 방지하는 데 도움을 줍니다. UNC 강화를 구성하려면 MS15-011: 그룹 정책 취약성으로 인한 원격 코드 실행을 참조하세요. 가로채기 공격 방어에 대한 자세한 내용은 SMB 클라이언트 방어를 통해 가로채기 공격으로부터 사용자를 보호하는 방법을 참조하세요.

Windows PowerShell에서 SMB 암호화를 사용하도록 설정

  1. 서버에 로그인하고 관리자 권한 세션에서 컴퓨터에서 PowerShell을 실행합니다.

  2. 개별 파일 공유에 대해 SMB 암호화를 사용하도록 설정하려면 다음 명령을 실행합니다.

    Set-SmbShare –Name <sharename> -EncryptData $true
    
  3. 전체 파일 서버에 대해 SMB 암호화를 사용하도록 설정하려면 다음 명령을 실행합니다.

    Set-SmbServerConfiguration –EncryptData $true
    
  4. SMB 암호화를 사용하도록 설정된 새 SMB 파일 공유를 만들려면 다음 명령을 실행합니다.

    New-SmbShare –Name <sharename> -Path <pathname> –EncryptData $true
    

암호화를 사용하여 드라이브 매핑

  1. PowerShell을 사용하여 드라이브를 매핑할 때 SMB 암호화를 사용하도록 설정하려면 다음 명령을 실행합니다.

    New-SMBMapping -LocalPath <drive letter> -RemotePath <UNC path> -RequirePrivacy $TRUE
    
  2. CMD를 사용하여 드라이브를 매핑할 때 SMB 암호화를 사용하도록 설정하려면 다음 명령을 실행합니다.

    NET USE <drive letter> <UNC path> /REQUIREPRIVACY
    

SMB 암호화 배포 시 고려할 사항

기본적으로 파일 공유 또는 서버에 SMB 암호화를 사용하도록 설정할 때 SMB 3.0, 3.02 및 3.1.1 클라이언트만이 지정된 파일 공유에 액세스할 수 있습니다. 이 제한은 공유에 액세스하는 모든 클라이언트의 데이터를 안전하게 보호하려는 관리자의 의도를 적용할 수 있습니다.

그러나 경우에 따라 관리자는 SMB 3.x를 지원하지 않는 클라이언트에 대해 암호화되지 않은 액세스를 허용하려고 할 수 있습니다. 이 상황은 혼합 클라이언트 운영 체제 버전을 사용하는 전환 기간 동안 발생할 수 있습니다. SMB 3.x를 지원하지 않는 클라이언트의 암호화되지 않은 액세스를 허용하려면 Windows PowerShell에서 다음 스크립트를 입력합니다.

Set-SmbServerConfiguration –RejectUnencryptedAccess $false

참고 항목

암호화를 배포한 경우에는 암호화되지 않은 액세스를 허용하지 않는 것이 좋습니다. 대신 암호화를 지원하도록 클라이언트를 업데이트합니다.

다음 섹션에서 설명하는 사전 인증 무결성 기능을 사용하면 SMB 3.1.1에서 SMB 2.x(암호화되지 않은 액세스 사용)로 연결을 다운그레이드하는 가로채기 공격을 방지할 수 있습니다. 그러나 마찬가지로 암호화되지 않은 액세스가 발생하는 SMB 1.0으로의 다운그레이드를 차단하지는 않습니다.

SMB 3.1.1 클라이언트가 항상 SMB 암호화를 사용하여 암호화된 공유에 액세스하도록 보장하려면 SMB 1.0 서버를 사용하지 않도록 설정해야 합니다. 지침을 보려면 Windows Admin Center 사용하여 서버에 연결하고 파일 & 파일 공유 확장을 연 다음 파일 공유 탭을 선택하여 제거하라는 메시지를 표시합니다. 더 많은 정보는 Windows에서 SMBv1, SMBv2, SMBv3을 검색, 활성화, 비활성화하는 방법을 참조하세요.

–RejectUnencryptedAccess 설정을 기본값인 $true로 유지하면 암호화를 지원하는 SMB 3.x 클라이언트만이 파일 공유에 액세스할 수 있습니다(SMB 1.0 클라이언트도 거부됩니다).

SMB 암호화를 배포할 때 다음 문제를 고려합니다.

  • SMB 암호화는 AES(Advanced Encryption Standard)-GCM 및 CCM 알고리즘을 사용하여 데이터를 암호화하고 암호 해독합니다. AES-CMAC 및 AES-GMAC는 SMB 서명 설정에 관계 없이 암호화된 파일 공유의 데이터 무결성 유효성 검사(서명)도 제공합니다. 암호화 없이 SMB 서명을 사용하도록 설정하려는 경우 해당 설정 작업을 계속 진행할 수 있습니다. 자세한 내용은 안심하고 SMB 서명 구성을 참조하세요.
  • 조직에서 WAN(광역 네트워크) 가속 어플라이언스를 사용하는 경우 파일 공유 또는 서버에 액세스하려고 하면 문제가 발생할 수 있습니다.
  • 기본 구성(암호화된 파일 공유에 대한 암호화되지 않은 액세스를 허용하지 않음)을 사용하는 경우 SMB 3.x를 지원하지 않는 클라이언트가 암호화된 파일 공유에 액세스하려고 시도하면 Microsoft-Windows-SmbServer/Operational 이벤트 로그에 이벤트 ID 1003이 기록되고, 클라이언트는 액세스 거부됨 오류 메시지를 수신하게 됩니다.
  • NTFS 파일 시스템의 SMB 암호화와 EFS(파일 시스템 암호화)는 서로 관련이 없으며, SMB 암호화는 EFS를 요구하지도, 사용하지도 않습니다.
  • SMB 암호화와 BitLocker 드라이브 암호화는 서로 관련이 없으며, SMB 암호화는 BitLocker 드라이브 암호화를 요구하지도, 사용하지도 않습니다.

사전 인증 무결성

SMB 3.1.1은 사전 인증 무결성을 사용하여 클라이언트와 서버가 협상하는 프로토콜 또는 기능을 다운그레이드하려고 시도하는 가로채기 공격을 탐지할 수 있습니다. 사전 인증 무결성은 SMB 3.1.1의 필수 기능입니다. 암호화 해시를 사용하여 협상 및 세션 설정 메시지의 변조를 방지합니다. 결과 해시는 서명 키를 포함하여 세션의 암호화 키를 파생하기 위한 입력으로 사용됩니다. 이 절차는 클라이언트와 서버가 연결 및 세션 속성을 상호 신뢰할 수 있도록 합니다. 클라이언트 또는 서버에서 이러한 공격을 탐지하면, 연결이 끊어지고 Microsoft-Windows-SmbServer/Operational 이벤트 로그에 이벤트 ID 1005가 기록됩니다.

이 보호로 인해, SMB 암호화의 전체 기능을 활용하려면 SMB 1.0 서버를 사용하지 않도록 설정할 것을 강력하게 권장합니다. 지침을 보려면 Windows Admin Center 사용하여 서버에 연결하고 파일 & 파일 공유 확장을 연 다음 파일 공유 탭을 선택하여 제거하라는 메시지를 표시합니다. 더 많은 정보는 Windows에서 SMBv1, SMBv2, SMBv3을 검색, 활성화, 비활성화하는 방법을 참조하세요.

새로운 서명 알고리즘

SMB 3.0 및 3.02는 최신 암호화 알고리즘인 AES(Advanced Encryption Standard)-CMAC(암호 기반 메시지 인증 코드)를 서명에 사용합니다. SMB 2.0는 이전 HMAC-SHA256 암호화 알고리즘을 사용했습니다. AES-CMAC 및 AES-CCM은 AES 지침이 지원되는 대부분의 최신 CPU에서 데이터 암호화 속도를 크게 높일 수 있습니다.

Windows Server 2022 및 Windows 11에는 SMB 3.1.1 서명을 위한 AES-128-GMAC가 도입되었습니다. Windows는 더 나은 성능의 암호화 방법을 지원하는 다른 컴퓨터에 연결할 때 자동으로 협상합니다. Windows는 여전히 AES-128-CMAC를 지원합니다. 자세한 내용은 안심하고 SMB 서명 구성을 참조하세요.

SMB 1.0을 사용하지 않도록 설정

SMB 1.0은 Windows Server 버전 1709 및 Windows 10 버전 1709부터 기본적으로 설치되지 않습니다. SMB1 제거하기 지침을 보려면 Windows Admin Center 사용하여 서버에 연결하고 파일 & 파일 공유 확장을 연 다음 파일 공유 탭을 선택하여 제거하라는 메시지를 표시합니다. 더 많은 정보는 Windows에서 SMBv1, SMBv2, SMBv3을 검색, 활성화, 비활성화하는 방법을 참조하세요.

여전히 설치되어 있는 경우 SMB1을 즉시 사용하지 않도록 설정해야 합니다. SMB 1.0 사용량 검색 및 비활성화에 대한 자세한 내용은 SMB1 사용 중지를 확인하세요. 이전에 또는 현재 SMB 1.0이 필요한 소프트웨어의 교환소는 SMB1 Product Clearinghouse를 참조하세요 .