서버 메시지 블록(SMB) 3.0 버전 Windows Server 2012/Windows 8에 도입된 프로토콜로 SMB 파일 서버와 클라이언트 간에 네트워크를 통해 전송되는 데이터를 암호화할 수 있게 되었습니다. 데이터는 클라이언트의 관점에서 투명하게 암호화되며 VPN, IPSec 또는 PKI 인프라 구현과 달리 중요한 조직이나 리소스가 필요하지 않습니다. SMB 3.1.1 최신 버전 (Windows 10 및 Windows Server 2016에서 사용) AES 128 GCM 유형의 암호화를 사용하여 알고리즘의 성능을 대폭 향상시켰습니다. 또한 자동 데이터 서명 및 검증이 수행됩니다.
Windows Server 2012에서 SMB 암호화 구현 측면을 살펴보겠습니다. 먼저 클라이언트와 서버가 다른 SMB 버전을 지원하는 경우 클라이언트와 서버 간에 연결이 설정될 때 지원되는 가장 높은 SMB 버전을 이해해야 합니다. 클라이언트와 서버 모두에 의해 선택됩니다. 즉, Windows 8/Server 2012보다 이전 Windows 버전을 실행하는 모든 클라이언트는 SMB 암호화가 활성화된 네트워크 폴더와 상호작용할 수 없습니다.
파일 서버에서 클라이언트가 사용하는 SMB 프로토콜 버전을 확인할 수 있습니다(사용된 프로토콜 버전은 Dialect 열에 표시됨).
Get-SmbConnection
기본적으로 SMB 트래픽 암호화는 Windows Server 2012 파일 서버에서 비활성화되어 있습니다. 각 SMB 공유 또는 모든 SMB 연결에 대해 개별적으로 암호화를 활성화할 수 있습니다.
특정 디렉터리에 대해 암호화를 활성화해야 하는 경우 서버 관리자를 엽니다. 서버에서 콘솔을 열고 파일 및 저장소 서비스 –> 공유로 이동합니다. . 원하는 공유 폴더를 선택하고 해당 속성을 엽니다. 그런 다음 설정으로 이동합니다. 탭을 누르고 데이터 액세스 암호화를 활성화합니다. . 변경 사항을 저장합니다.
PowerShell 콘솔에서 SMB 암호화를 활성화할 수도 있습니다. 하나의 공유에 대해 암호화 활성화:
Set-SmbShare –Name Install -EncryptData $true
또는 서버에 대한 모든 SMB 연결(공유 폴더 또는 관리 리소스에 대해):
Set-SmbServerConfiguration –EncryptData $true
네트워크 공유에 대한 SMB 암호화가 활성화되면 모든 레거시 클라이언트(Windows 8 이전)는 SMB 3.0을 지원하지 않기 때문에 이 공유에 연결할 수 없습니다. 이러한 Windows 클라이언트가 공유에 액세스할 수 있도록 허용하려면(일반적으로 임시 액세스입니다. 그렇지 않으면 암호화를 활성화할 수 없습니다) 암호화 없이 서버에 연결하도록 허용할 수 있습니다.
Set-SmbServerConfiguration –RejectUnencryptedAccess $false
Set-SmbServerConfiguration –EnableSMB1Protocol $false