C-15
🔓 시크릿 평문 노출(환경변수/이미지)
클라우드/컨테이너 · 컨테이너
위험도: 상💡 쉽게 말하면
환경변수에 비밀번호를 두는 건 금고 비밀번호를 포스트잇으로 붙인 격입니다. 이미지 한 겹만 들춰도 보입니다. 시크릿 관리도구는 비밀을 잠긴 별도 금고에 넣어 주입합니다.
환경변수에 비밀번호를 두는 건 금고 비밀번호를 포스트잇으로 붙인 격입니다. 이미지 한 겹만 들춰도 보입니다. 시크릿 관리도구는 비밀을 잠긴 별도 금고에 넣어 주입합니다.
🎯 직접 해보기 — 공격을 실행해 보세요
아래에서 시스템 상태를 취약 또는 안전(조치 적용)으로 바꾼 뒤 공격 실행을 눌러, 같은 공격이 어떻게 다르게 끝나는지 직접 확인하세요.
# 이미지 레이어와 프로세스에서 DB 비밀번호를 캔다
# [공격 실행] 버튼을 누르면 시작합니다.
📋 설정 비교 (왜 막혔나?)
✗ 취약한 설정
# 시크릿 노출
$ docker history myapp:1.0 ; printenv
ENV DB_PASSWORD=P@ssw0rd! (평문)
→ 이미지/프로세스에서 추출
✓ 안전한 설정
# 시크릿 관리
$ kubectl create secret / Vault
Secret/Vault 마운트
→ 평문 노출 제거
🔧 조치 방법
- 시크릿을 환경변수/이미지에 넣지 말고 K8s Secret(암호화)·Vault로 주입합니다.
- 이미지 레이어에 비밀이 남지 않도록 빌드합니다.
✅ 점검 체크리스트
- 시크릿이 평문으로 노출되지 않음
- 시크릿 관리도구를 사용함
점검기준: 컨테이너 보안 > 시크릿 관리