컨테이너/K8s 진단 - Privileged Container 실행
점검 결과
| Pod/컨테이너 | Privileged | 평가 |
|---|
| nginx-prod-01 | Yes | 위험! |
| mysql-backup | Yes | 위험! |
| app-api | No | 안전 |
Privileged Container 분석
apiVersion: v1
kind: Pod
metadata:
name: nginx-prod-01
spec:
containers:
- name: nginx
image: nginx:latest
securityContext:
privileged: true
capabilities:
add:
- SYS_ADMIN
- NET_ADMIN
[위험한 설정]
- privileged: true
-> 호스트의 모든 장치 접근 가능
-> 호스트 kernel 기능 모두 사용 가능
- capabilities: SYS_ADMIN, NET_ADMIN
-> 네트워크 설정 변경 가능
-> 다른 프로세스 제어 가능
[공격 시나리오]
1. privileged 컨테이너 탈출
2. 호스트 파일시스템 접근
3. 다른 Pod/컨테이너 제어
4. 호스트 kernel 공격
5. 클러스터 전체 제어
# docker inspect 분석
docker inspect nginx-prod-01 | grep -i privilege
"Privileged": true,
"CapAdd": ["SYS_ADMIN", "NET_ADMIN"],
"Devices": [all host devices]
조치 가이드
- privileged 제거: 대부분의 경우 불필요
- 최소 Capabilities: 필요한 것만 추가
- SecurityContext 설정: runAsNonRoot, readOnlyRootFilesystem
- Pod Security Policy: privileged 차단