Amazon FSx for Windows File Server 설정 – 전송 중 암호화 관리
안녕하세요 클래스메소드 김재욱(Kim Jaewook) 입니다. 이번에는 Amazon FSx for Windows File Server에서 전송 중 암호과 관리를 하는 벙법에 대해 정리해 봤습니다.
DNS 별칭을 사용하여 파일 시스템에 액세스해 보는 방법에 대해서는 아래 블로그를 참고해 주세요.
그 외, AWS Directory Service, Amazon FSx for Windows File Server 생성 방법에 대해서는 아래 블로그를 참고해 주세요.
전송 중 암호화 관리
사용자 지정 집합을 사용할 수 있습니다. PowerShell 명령을 사용하여 FSx for Windows File Server 파일 시스템과 클라이언트 간에 전송 중 데이터의 암호화를 제어합니다. SMB 암호화를 지원하는 클라이언트로만 파일 시스템 액세스를 제한하여 data-in-transit 는 항상 암호화됩니다. 암호화에 대한 적용이 설정된 경우 data-in-transitSMB 3.0 암호화를 지원하지 않는 클라이언트에서 파일 시스템에 액세스하는 사용자는 암호화가 설정된 파일 공유에 액세스할 수 없습니다.
AWS 공식 문서에 따르면 전송 중 암호화 관리에 대해 다음과 같이 설명하고 있습니다.
여기서 말하는 SMB는 서버 메시지 블록(Server Message Block, SMB)의 약자로, 도스나 윈도우에서 파일, 디렉터리 및 주변 장치들을 공유하는데 사용되는 메시지 형식입니다.
현재 SMB는 3.0 밑으로는 지원하고 있지 않기 때문에, 전송 중 암호화를 True로 설정한다면, SMB 버전이 3.0인 Windows에서는 파일 시스템에 접근할 수 없습니다.
- Windows XP나 Windows Server2003 이전의 OS라면 「SMB1.0(NTLM 0.12)」
- OS가 Windows Vista나 Windows Server2008에서는 「SMB2.0(Dialect가 2.0.2)」
- OS가 Windows 7이나 Windows Server2008 R2에서는 「SMB2.1(Dialect가 2.1.0)」
- OS가 Windows 8이나 Windows Server2012에서는 「SMB3.0(Dialect가 3.0.0)」
- OS가 Windows 8.1이나 Windows Server2012 R2에서는 「SMB3.0.2(Dialect가 3.0.2)」
- OS가 Windows 10이나 Windows Server2016에서는 「SMB3.1.1(Dialect가 3.1.1)」
즉 현재 파일 시스템을 이용하기 위해서는 최소 OS가 Windows 8 이상이어야 합니다.
전송 중 암호화 설정
현재 다음과 같이 Amazon FSx for Windows File Server를 생성하고, 파일 시스템에 연결한 상태입니다.
PS> $cred = Get-Credential ‘[email protected]’ PS> $params = @{ ComputerName = ‘amznfsxxxxxxxxx.aws.classmethod-jw.kr’ Credential = $cred ConfigurationName = ‘FSxRemoteAdmin’ SessionOption = (New-PSSessionOption -UICulture ‘en-US’) } Enter-PSSession @params
Windows에서 쉘스크립트를 관리자 권한으로 실행한 다음, 명령어를 통해 파일 시스템에 액세스 합니다.
여기서 cred는 Directory Service에서 지정한 관리자 아이디를 의미하며, ComputerName은 FSx의 Windows 원격 PowerShell 엔드포인트를 의미합니다.
PS> Get-FSxSmbServerConfiguration EncryptData RejectUnencryptedAccess ----------- ----------------------- True False
이어서 다음 명령어로 현재 설정되어 있는 전송 중 데이터 암호화 상태를 확인합니다.
- EncryptData : 전송 중 데이터 암호화를 설정하거나 해제합니다.
- RejectUnencryptedAccess : 암호화를 지원하지 않는 클라이언트에 대한 액세스를 허용하거나 허용하지 않습니다.
RejectUnencryptedAccess를 True로 설정해서, 3.0 이하의 SMB 버전에서 접근이 불가능하도록 설정합니다.
PS> Set-FSxSmbServerConfiguration -EncryptData $True -RejectUnencryptedAccess $True
다음 명령어로 EncryptData, RejectUnencryptedAccess를 True로 설정합니다.
PS> Get-FSxSmbServerConfiguration EncryptData RejectUnencryptedAccess ----------- ----------------------- True True
마지막으로 Get-FSxSmbServerConfiguration 명령어로 설정이 제대로 되었는지 확인합니다.
이 설정으로 data-in-transitSMB 3.0 암호화를 지원하지 않는 클라이언트에서 파일 시스템에 액세스하는 사용자는 암호화가 설정된 파일 공유에 액세스할 수 없습니다.
본 블로그 게시글을 읽고 궁금한 사항이 있으신 분들은 [email protected]로 보내주시면 감사하겠습니다.