SMB 보안 강화

적용 대상: Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012, Azure Stack HCI 버전 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 Direct는 이제 암호화를 지원합니다. 이전에는 SMB 암호화를 사용하도록 설정하면 직접 데이터 배치가 비활성화되어 RDMA 성능이 TCP만큼 느려졌습니다. 이제 데이터가 배치 전에 암호화되어 AES-128 및 AES-256 보호된 패킷 개인 정보를 추가하는 동안 성능이 비교적 덜 저하됩니다. Windows Admin Center, Set-SmbServerConfiguration 또는 UNC 보안 강화 그룹 정책을 사용하여 암호화를 사용하도록 설정할 수 있습니다.

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

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 관리 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를 지원하지 않는 클라이언트가 암호화된 파일 공유에 액세스하려고 하면 이벤트 ID 1003이 Microsoft-Windows-SmbServer/Operational 이벤트 로그에 기록되고 클라이언트는 액세스 거부 오류 메시지를 받습니다.
  • NTFS 파일 시스템의 SMB 암호화 및 EFS(암호화 파일 시스템)는 관련이 없으며 SMB 암호화는 EFS를 사용할 필요 또는 의존하지 않습니다.
  • SMB 암호화 및 BitLocker 드라이브 암호화는 관련이 없으며 SMB 암호화는 BitLocker 드라이브 암호화를 사용할 필요 또는 의존하지 않습니다.

사전 인증 무결성

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

이 보호로 인해 SMB 암호화의 전체 기능을 활용하려면 SMB 1.0 서버를 사용하지 않도록 설정하는 것이 좋습니다. 자세한 내용은 Windows 관리 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 관리 Center를 사용하여 서버에 연결하고 파일 및 파일 공유 확장자를 연 다음 제거하라는 메시지가 표시될 파일 공유 탭을 선택합니다. 자세한 내용은 Windows에서 SMBv1, SMBv2 및 SMBv3을 검색, 사용 및 사용하지 않도록 설정하는 방법을 참조 하세요.

여전히 설치되어 있는 경우 SMB1을 즉시 사용하지 않도록 설정해야 합니다. SMB 1.0 사용량을 검색하고 사용하지 않도록 설정하는 방법에 대한 자세한 내용은 SMB1 사용 중지를 참조하세요. 이전 또는 현재 SMB 1.0이 필요한 소프트웨어의 클리어링하우스는 SMB1 Product Clearinghouse를 참조 하세요.