컨테이너/K8s 진단 - Pod Security Policy 미적용
점검 결과
| 정책 | 상태 | 네임스페이스 | 평가 |
|---|
| Pod Security Policy | 비활성화 | 전체 | 위험! |
| Default Policy | 없음 | - | 위험! |
| Restricted Policy | 없음 | - | 위험! |
PSP 미적용 분석
apiVersion: policy/v1beta1
kind: PodSecurityPolicy
metadata:
name: restricted
spec:
privileged: false
allowPrivilegeEscalation: false
requiredDropCapabilities:
- ALL
volumes:
- 'configMap'
- 'emptyDir'
- 'projected'
- 'secret'
- 'downwardAPI'
- 'persistentVolumeClaim'
hostNetwork: false
hostPID: false
hostIPC: false
seLinux:
rule: 'MustRunAs'
seLinuxOptions:
level: "s0:c123,c456"
runAsUser:
rule: 'MustRunAsNonRoot'
supplementalGroups:
rule: 'RunAsAny'
fsGroup:
rule: 'RunAsAny'
readOnlyRootFilesystem: true
[미적용 시 문제]
1. privileged 컨테이너 배포 가능
2. root 실행 Pod 제한 없음
3. hostNetwork, hostPID 사용 가능
4. 민감한 volume 타입 모두 허용
5. capability 제한 없음
[보안 정책 부재의 영향]
- 위험한 설정 자동 차단 불가
- 개발자의 실수로 취약한 Pod 배포
- 악의적 워크로드 배포 가능
- 클러스터 보안 기준 미충족
조치 가이드
- PSP 활성화: apiserver 플래그 활성화
- 기본 정책 배포: restricted, baseline 정책
- 롤바인딩 설정: 서비스 계정별 허용 정책
- 정기 감시: kubectl get psp로 정책 검증