보안적인 Docker 이미지 만들기

Docker 입문

Tim Sangster

Software Engineer @ DataCamp

내재적 보안

컨테이너가 손상되어 가상화 계층을 탈출하면 호스트에 접근할 수 있습니다.

Docker 입문

보안 이미지 만들기

$$

공격자는 예외적으로 컨테이너 탈출을 할 수 있습니다.

$$

추가 보안 조치로 이 위험을 낮출 수 있습니다

$$

인터넷에 컨테이너를 노출할 때 특히 중요합니다.

Docker 입문

신뢰할 수 있는 소스의 이미지

보안 이미지를 만들려면 -> 신뢰할 수 있는 소스의 이미지로 시작

Docker Hub 필터:

Docker Hub에는 Docker Official Images, Verified Publisher, Sponsored OSS의 세 가지 Trusted Content 필터가 있습니다

Docker 입문

소프트웨어 최신 유지

매우 인기 있는 Ubuntu 이미지도 14일 전에야 업데이트되었습니다. 역시 매우 인기 있는 mariaDB 이미지는 한 달 넘게 업데이트되지 않았습니다.

Docker 입문

이미지는 최소로 유지

불필요한 패키지 추가는 보안을 약화시킵니다

Ubuntu 구성:

  • Python2.7
  • Python3.11
  • Java default-jre
  • Java openjdk-11
  • Java openjdk-8
  • Airflow
  • 우리의 파이프라인 애플리케이션

필수 패키지만 설치하면 보안이 향상됩니다

Ubuntu 구성:

  • Python3.11
  • 우리의 파이프라인 애플리케이션
Docker 입문

애플리케이션을 root로 실행하지 않기

이미지에 root 권한을 허용하면 최신 상태 유지와 최소화가 무의미해집니다.

대신, 권한이 적은 사용자로 컨테이너를 시작하십시오:

FROM ubuntu # 기본 사용자는 root입니다.
RUN apt-get update
RUN apt-get install python3
USER repl # 사용 사례에 필요한 설치 후 사용자 전환.
CMD python3 pipeline.py
Docker 입문

연습해 봅시다!

Docker 입문

Preparing Video For Download...