커뮤니티 솔루션

ZimaOS 앱 권한 스위치의 실제 기능

IceWhale support explained that the App Privileges switch gives a container host-like permissions, direct hardware access, and root-level execution.

ZimaOS 앱의 “권한” 스위치는 사실상 Docker 권한 상승 모드입니다. IceWhale 지원팀은 이를 컨테이너에 호스트와 유사한 권한, 직접적인 하드웨어 접근 권한, 루트 수준의 기능을 부여하는 것으로 설명했습니다. 애플리케이션에 실제로 해당 수준의 접근 권한이 필요한 경우에만 켜세요.

대부분의 앱에는 권한 상승 모드가 필요하지 않으며, 컨테이너를 더 안전하게 만드는 격리 기능이 약화됩니다. 컨테이너에 모든 권한을 부여하는 대신, 장치 하나를 매핑하거나 Linux 기능 하나를 추가하는 방식을 우선 사용하세요.

권한 상승 모드가 변경하는 사항

Docker의 최신 Docker 권한 상승 컨테이너 가이드에 따르면 --privileged는 컨테이너에 모든 Linux 기능과 모든 호스트 장치에 대한 접근 권한을 부여하는 동시에 주요 보안 제어 기능을 완화합니다.

IceWhale이 호스트 수준 접근 권한이라고 설명한 이유

공식 답변 원문은 컨테이너 프로세스가 호스트 하드웨어에 직접 접근하고 루트와 유사한 권한으로 실행될 수 있다고 설명합니다. 이는 간단하고 유용한 설명이지만, 실제 보안 영향은 더 광범위합니다. 컨테이너가 더 이상 강력하게 샌드박스 처리되지 않기 때문입니다.

단순한 오류를 해결하려고 권한을 활성화하지 마세요

앱이 USB 장치, GPU, 네트워크 기능 또는 마운트에 접근하지 못한다면 먼저 정확히 어떤 권한이 누락되었는지 확인하세요. 권한 상승 모드는 실제 구성 문제를 감추는 동시에 전체 호스트를 노출할 수 있습니다.

장치 매핑을 우선 사용하세요

devices:
  - /dev/dri/renderD128:/dev/dri/renderD128

하드웨어 장치 하나만 필요한 경우 모든 호스트 장치 대신 해당 장치만 매핑하세요.

특정 Linux 기능을 우선 사용하세요

cap_add:
  - NET_ADMIN

VPN 또는 라우터 컨테이너에는 특정 네트워킹 기능이 필요할 수 있습니다. 앱 문서에서 지원하는 경우 권한 상승 모드 대신 필요한 최소 기능만 부여하세요.

더 많은 접근 권한이 정당하게 필요할 수 있는 앱

예를 들면 저수준 하드웨어 도구, Docker-in-Docker, 일부 VPN 및 네트워크 어플라이언스, USB 및 장치 관리 도구, 특수한 시스템 모니터링 소프트웨어 등이 있습니다. 그래도 먼저 해당 프로젝트의 배포 지침을 확인하세요.

일반적으로 필요하지 않은 앱

일반적인 웹 앱, 미디어 라이브러리, 메모 앱, 데이터베이스, 사진 관리 도구, 대시보드 및 대부분의 API 서비스는 정상적으로 작동하기 위해 전체 권한 상승 모드를 필요로 하지 않습니다.

앱 업데이트 후 권한을 다시 검토하세요

이전 앱 패키지에서 편의를 위해 권한 상승 모드를 활성화했더라도, 이후 상위 프로젝트에서 더 제한적인 권한을 추가했을 수 있습니다. 업데이트할 때 현재 Compose 요구 사항을 다시 확인하세요.

Docker 보안 가이드에서 더 안전한 사용자 지정 앱 패턴을 확인할 수 있습니다.

추가 권한을 부여하기 전에 컨테이너를 검사하세요

docker inspect CONTAINER

기존 장치 매핑, 기능, 마운트, 네트워크 모드 및 사용자 구성을 확인하세요. 많은 앱은 제한 없는 호스트 접근 권한이 필요한 것이 아니라, 필요한 장치나 경로 하나가 누락되어 실패합니다.

권한 상승 모드는 피해 범위를 확대할 수 있습니다

일반적인 비권한 웹 앱이 손상되면 컨테이너 격리 기능이 공격자가 접근할 수 있는 범위를 제한할 수 있습니다. 하지만 권한 상승 컨테이너는 훨씬 더 많은 호스트 장치와 커널 인터페이스에 접근할 수 있으므로, 해당 앱의 취약점이 시스템 전체에 영향을 미칠 수 있습니다.

권한을 활성화한 이유를 기록하세요

의도적으로 활성화했다면 이를 필요로 하는 정확한 기능을 기록하세요. 이후 앱을 업데이트할 때 더 제한적인 권한으로 실행할 수 있는지 다시 테스트하고, 더 이상 필요하지 않다면 스위치를 끄세요.

자주 묻는 질문

권한은 컨테이너가 루트로 실행된다는 뜻인가요?

단순히 컨테이너 내부에서 루트로 실행되는 것보다 범위가 넓습니다. 권한 상승 모드는 광범위한 호스트 기능과 장치 접근 권한을 부여합니다.

모든 사용자 지정 앱에서 활성화해야 하나요?

아니요. 상위 프로젝트 문서에서 해당 워크로드에 필요하다고 명시한 경우가 아니라면 꺼 두세요.

GPU 또는 USB 접근 권한만 부여할 수 있나요?

예. 전체 권한 상승 모드 대신 특정 장치 매핑과 런타임 설정을 우선 사용하세요.

권한 상승 모드는 위험한가요?

컨테이너 격리 기능을 크게 약화시키므로, 권한 상승 앱이 손상되면 호스트에 훨씬 더 큰 영향을 미칠 수 있습니다.