제
6
장
컨테이너 이미지
124
체 시스템의 다른 부분에도 접근할 수 있는가? §
6
.
5
.
1
docker
build
의 위험 (
p
.112
)에
서 보았듯이, 루트 권한을 가진 데몬 프로세스를 필요로 하지 않는 구축 도구들이 나온 데
에는 이유가 있다.
●
공격자가, 악의적인 코드를 담은 이미지가 구축되도록(그리고 그것이 배치되고 실행되도
록) 구축 과정에 영향을 미칠 수 있는가? 공격자가
Dockerfile
을 임의로 수정하거나 계
획에 없던 이미지가 구축되게 만들면 끔찍한 결과가 벌어질 수 있다. 예를 들어 공격자는
최종 배치본에서 실행되는 뒷문 (백도어) 코드를 컨테이너에 삽입할 수 있다.
구축용 컴퓨터는 궁극적으로 여러분의 실무(
production
) 클러스터에서 실행될 코드를 이미
지에 넣는다. 따라서 구축용 컴퓨터의 보안을 실무 클러스터 자체의 보안에 준하는 수준으로
강화해야 마땅하다. 구축용 컴퓨터에서 불필요한 도구들을 제거해서 공격 표면을 줄이고, 구
축용 컴퓨터에 대한 사용자의 직접적인 접근을 제한하고,
VPC
나 방화벽을 이용해서 승인되지
않은 네트워크 접근을 제한해야 한다.
구축 과정의 취약점을 활용한 호스트 공격의 영향을 줄이기 위해서는 이미지 구축 과정을
실무 환경과는 개별적인 컴퓨터(또는 컴퓨터들의 클러스터)에서 실행하는 것이 바람직하다.
구축용 컴퓨터에서 네트워크나 클라우드 서비스에 접근하는 것을 적절히 제한하면, 공격자가
배치본의 다른 구성 요소들에 접근하는 시도가 방지된다.
6.10
이미지 저장 보안
이미지를 구축한 ...