피드로 돌아가기
Dev.toSecurity
원문 읽기
Host OS Kernel 공유 취약점 해결을 위한 Docker Layered Security 설계
Docker Security Best Practices for Beginners
AI 요약
Context
Container가 Host OS Kernel을 공유하는 구조적 특성으로 인한 호스트 침해 가능성 상존. 이미지 내 Vulnerability 및 Root 권한 남용으로 인한 공격 표면(Attack Surface) 확대가 주요 설계적 한계점으로 작용함.
Technical Solution
- Official Image 사용 및 Trivy/Snyk 스캔을 통한 Supply Chain Vulnerability 사전 제거
- non-root USER 설정을 통한 Container 탈출(Container Escape) 시 호스트 권한 획득 경로 차단
- Alpine Linux 기반 이미지 및 Multi-stage Build 적용으로 패키지 최소화를 통한 공격 표면 축소
- --cap-drop ALL 및 --security-opt no-new-privileges 설정을 통한 커널 Capability 최소 권한 원칙 적용
- User Namespace Remapping 도입으로 컨테이너 내부 Root를 호스트의 일반 사용자로 매핑하여 격리 수준 강화
- User-defined Bridge Network 구성을 통한 컨테이너 간 통신 제어 및 네트워크 세그멘테이션 구현
실천 포인트
1. Dockerfile 내 USER 명령어로 non-root 계정 전환 여부 검토
2. .dockerignore 파일에 .env 및 secret 파일 포함 여부 확인
3. --cap-drop ALL 설정을 통한 불필요한 커널 권한 제거 적용
4. Multi-stage Build를 통한 런타임 이미지 크기 최적화 및 패키지 최소화
태그