Namespace & Sandbox

Dongmin Lee·2023년 8월 6일
0

Kubernetes

목록 보기
5/10

1. Namespace

  • 프로세스 격리
  • 리눅스 커널의 기능으로, 특정 프로세스가 시스템의 나머지 부분에서 격리되도록 하는 메커니즘
  • 네임스페이스를 사용하면 프로세스가 자신만의 파일 시스템, 네트워크, 사용자 ID 등을 가질 수 있으며, 이를 통해 다른 프로세스와 독립적으로 실행될 수 있다.
  • 컨테이너는 이러한 네임스페이스를 사용하여 호스트 시스템과 격리되고, 서로 다른 컨테이너 간에 격리된다.

2. Sandbox

  • 보안 격리
  • "샌드박스"라는 용어는 컴퓨터 보안 컨텍스트에서 격리된 실행 환경을 나타내며, 컨테이너에서도 유사한 개념으로 사용된다.
  • 샌드박스는 어플리케이션 또는 프로세스가 시스템의 나머지 부분과 격리된 환경에서 실행되도록 해주는 보안 메커니즘
  • "Attack surface"를 줄이기 위한 중요한 보안 계층을 형성. Attack surface를 줄이면, 공격자가 시스템을 공격할 수 있는 벡터가 줄어들므로, 전체 시스템의 보안이 강화된다.
  • 샌드박스 개념은 컨테이너 런타임에서 구현되며, OCI와 같은 표준에 따라 동작한다.

컨테이너의 경우, 샌드박스는 다음과 같은 방식으로 작동한다.

  • 격리: 샌드박스는 컨테이너 내의 프로세스가 호스트 시스템이나 다른 컨테이너에 영향을 미치지 못하도록 격리함. 시스템 호출, 파일 시스템, 네트워크 등에 대한 접근을 제한한다.
  • 리소스 제한: 샌드박스는 컨테이너가 사용할 수 있는 리소스(e.g., CPU, 메모리)에 대한 제한을 설정할 수 있음. 이로 인해 악의적인 컨테이너가 전체 시스템을 압박하는 것을 방지할 수 있다.
  • 보안 증강: 샌드박스는 보안을 강화하기 위해 추가 보안 기술과 함께 사용될 수 있음. 예를 들어, seccomp, AppArmor, SELinux와 같은 보안 정책이 적용될 수 있다.
  • 최소 권한 원칙: 샌드박스는 최소 권한 원칙을 따르며, 컨테이너가 필요한 것 이상의 권한을 가지지 못하도록 제한한다.

0개의 댓글