Amazon FSx for Windows File Server 설정 – 전송 중 암호화 관리

Amazon FSx for Windows File Server에서 전송 중 암호과 관리를 하는 벙법에 대해 정리해 봤습니다.
2022.09.18

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

안녕하세요 클래스메소드 김재욱(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 ‘Admin@aws.classmethod-jw.kr’
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 암호화를 지원하지 않는 클라이언트에서 파일 시스템에 액세스하는 사용자는 암호화가 설정된 파일 공유에 액세스할 수 없습니다.

본 블로그 게시글을 보시고 문의 사항이 있으신 분들은 클래스메소드코리아 (info@classmethod.kr)로 연락 주시면 빠른 시일 내 담당자가 회신 드릴 수 있도록 하겠습니다 !

참고