피드로 돌아가기
Container Security for SREs: The Practical Checklist
Dev.toDev.to
Security

Multi-stage Build와 K8s SecurityContext를 통한 컨테이너 공격 표면 최소화

Container Security for SREs: The Practical Checklist

Samson Tanimawo2026년 4월 21일3intermediate

Context

빌드 도구가 포함된 비대한 베이스 이미지와 Root 권한 실행으로 인한 보안 취약점 노출. 리소스 제한 부재 및 환경 변수 기반 Secret 관리로 인한 시스템 안정성 및 기밀성 저하 문제 발생.

Technical Solution

  • Multi-stage Build 도입을 통한 빌드 도구 제거 및 최종 이미지 크기 800MB에서 50MB로 최적화
  • Trivy-action 기반 CI 파이프라인 구축으로 HIGH/CRITICAL 취약점 발견 시 Build Fail 처리
  • Kubernetes securityContext 설정을 통한 Non-Root 실행 및 readOnlyRootFilesystem 강제로 권한 상승 원천 차단
  • Default-deny-all NetworkPolicy 설정을 통한 Pod 간 불필요한 트래픽 차단 및 서비스 간 최소 권한 통신 구현
  • External Vault 연동 및 SecretKeyRef 사용을 통한 Pod Spec 내 민감 정보 노출 방지
  • Resource Limits 설정을 통한 단일 컨테이너의 리소스 독점 및 Disk Filling 공격 방어

1. Multi-stage Build 적용 여부 및 최종 이미지 내 Build Tool 포함 여부 확인

2. K8s securityContext의 runAsNonRoot 및 allowPrivilegeEscalation 설정 검토

3. Namespace 레벨의 Pod Security Standards(restricted) 적용 상태 점검

4. NetworkPolicy의 Default Deny 설정 및 화이트리스트 기반 통신 정의 여부 확인

5. Secret 관리 체계가 환경 변수에서 Vault 등 외부 저장소로 전환되었는지 검토

원문 읽기