Docker 컨테이너는 편리하지만, 잘못 설정하면 심각한 보안 위험이 됩니다. 2026년 기준으로 컨테이너 보안의 핵심 사항을 정리합니다.
이미지 보안
- 공식 이미지만 사용 — Docker Hub에서 Verified Publisher 뱃지 확인
- Alpine 기반 이미지 사용 — 공격 표면을 최소화합니다
- 이미지 스캔 필수 — Trivy, Snyk로 취약점 검사 자동화
- 멀티스테이지 빌드 — 빌드 도구가 프로덕션 이미지에 포함되지 않도록
런타임 보안
- root로 실행하지 않기 — USER 지시어로 비특권 사용자 지정
- 읽기 전용 파일시스템 — --read-only 플래그 사용
- 리소스 제한 — CPU, 메모리 limit 설정으로 DoS 방지
- 네트워크 격리 — 불필요한 포트 노출 금지, 내부 네트워크 사용
자주 놓치는 실수
가장 흔한 실수는 환경변수에 비밀번호를 직접 넣는 것입니다. Docker Secrets나 외부 비밀 관리 도구(Vault, AWS Secrets Manager)를 사용하세요.
또 하나는 .dockerignore를 안 쓰는 것입니다. .env, .git, node_modules가 이미지에 포함되면 이미지 크기도 커지고 보안 위험도 높아집니다.
# .dockerignore
.env
.git
node_modules
*.md보안은 한 번 설정하고 끝나는 게 아닙니다. CI/CD 파이프라인에 이미지 스캔을 넣고, 정기적으로 베이스 이미지를 업데이트하세요.
댓글 0