Windows 노드 보안

Windows 노드 보안 (Security For Windows Nodes)

이 페이지에서는 Windows 운영체제에 특화된 보안 고려 사항과 모범 사례를 설명해요.

출처: 문서

본문

노드의 Secret 데이터 보호 (Protection for Secret data on nodes)

Windows에서는 Secret의 데이터가 노드의 로컬 저장소에 평문(clear text)으로 기록돼요. (Linux의 tmpfs / 메모리 기반 파일시스템과 비교됨.) 클러스터 운영자라면 다음 두 가지 추가 조치를 모두 취해야 해요.

  • 파일 ACL을 사용해 Secret 파일의 위치를 보호해요.
  • BitLocker를 이용해 볼륨 수준의 암호화를 적용해요.

컨테이너 사용자 (Container users)

Windows 파드나 컨테이너에는 RunAsUsername을 지정해서 컨테이너 프로세스를 특정 사용자로 실행할 수 있어요. 이는 RunAsUser와 대략적으로 동일한 역할을 해요.

Windows 컨테이너는 ContainerUserContainerAdministrator라는 두 개의 기본 사용자 계정을 제공해요. 두 계정의 차이는 Microsoft의 'Secure Windows containers' 문서에서 다루고 있어요.

로컬 사용자는 컨테이너 빌드 과정에서 컨테이너 이미지에 추가할 수 있어요.

참고:

  • Nano Server 기반 이미지는 기본적으로 ContainerUser로 실행돼요.
  • Server Core 기반 이미지는 기본적으로 ContainerAdministrator로 실행돼요.

Windows 컨테이너는 gMSA(Group Managed Service Accounts)를 사용해 Active Directory ID로도 실행될 수 있어요.

파드 수준 보안 격리 (Pod-level security isolation)

Linux 전용 파드 보안 컨텍스트 메커니즘(SELinux, AppArmor, Seccomp, 사용자 지정 POSIX capabilities 등)은 Windows 노드에서 지원되지 않아요.

Windows에서는 권한 있는(privileged) 컨테이너를 지원하지 않아요. 대신 Windows에서 HostProcess 컨테이너를 사용해 Linux에서 privileged 컨테이너가 수행하는 많은 작업을 처리할 수 있어요.

더 알아보기 (Learn more)