호스트 사용자 네임스페이스 공유

호스트 사용자 네임스페이스 공유 예외를 줄이고 실제 UID 매핑을 확인하세요.

설명

사용자 네임스페이스는 컨테이너 내부 사용자와 호스트 사용자 간 매핑을 다루기 때문에, 호스트와 직접 공유하면 권한 경계가 약해질 수 있습니다.

Docker 데몬에서 userns-remap을 사용하면 userns_mode: host는 해당 컨테이너의 재매핑을 해제합니다. 컨테이너 권한을 호스트와 더 가깝게 연결할 수 있어 보안 사고 시 피해 범위가 커질 수 있습니다.

잠재적 영향

  • 컨테이너 사용자와 호스트 사용자 간 권한 경계가 약해질 수 있습니다.
  • 권한 관련 취약점이 있을 때 호스트 영향 범위가 더 커질 수 있습니다.
  • 운영 중 사용자 권한 추적과 격리 정책 관리가 어려워질 수 있습니다.

해결 방법

  • 불필요한 userns_mode: host를 제거하고 데몬의 userns-remap 설정과 실제 UID/GID 매핑을 확인하세요. 생략만으로 재매핑이 활성화되지는 않습니다.
  • 권한 문제가 있으면 사용자 재매핑이나 루트리스 실행 같은 대안을 검토하고 바인드 마운트의 파일 소유권과 호환성을 시험하세요.
  • 네임스페이스 예외 설정은 디버그 환경과 운영 환경을 분리해 관리하세요.

예시

두 예제는 컨테이너별 host 예외 유무를 비교합니다. 이미지와 호스트의 사용자 네임스페이스 설정을 함께 확인하세요.

변경 전

yaml
services:
  service1:
    image: service1:3.4
    userns_mode: host

변경 후

yaml
services:
  service1:
    image: service1:3.4

설명:

  • 변경 전: 데몬에서 userns-remap을 사용하는 경우에도 이 컨테이너는 재매핑을 해제합니다.
  • 변경 후: host 예외를 제거해 데몬 설정을 따릅니다. 실제 사용자 재매핑을 사용하려면 데몬에 해당 설정이 있어야 합니다.

참조