
제
9
장
컨테이너 격리 깨기
172
컨테이너에 필요한 능력들을 파악했다면, 최소 권한 원리에 따라 그 능력들만 명시적으로 컨
테이너에 배정하는 것이 바람직하다. 이때 권장되는 접근 방식은 다음과 같이 먼저
--
cap
-
drop
=
all
플래그로 모든 능력을 제거한 후 필요한 것들을 다시 추가하는 것이다.
$ docker run --cap-drop=all --cap-add=<능력1> --cap-add=<능력2> <이미지> ...
지금까지
--
privileged
의 위험성과 컨테이너의 능력들을 최소한으로 줄이는 방법을 이야기
했다. 그럼 컨테이너 격리를 무력화하는 또 다른 방법으로, 호스트의 민감한 디렉터리를 컨테
이너에 마운팅하는 문제를 살펴보자.
9.3
민감한 디렉터리의 마운팅
docker
의
-
v
옵션을 이용하면 호스트의 한 디렉터리를 컨테이너에 마운팅해서 컨테이너 안에
서 그 디렉터리에 접근할 수 있다. 문제는 호스트의 그 어떤 디렉터리라도 이런 식으로 마운팅
할 수 있다는 점이다. 다음은 이 점을 잘 보여주는 예이다.
$ touch /ROOT_FOR_HOST
$ docker run -it -v /:/hostroot ubuntu bash
root@91083a4eca7d:/$ ls /
bin dev home lib media opt root sbin sys usr
boot etc ...