설명
PodSecurityPolicy의 requiredDropCapabilities에 NET_RAW 또는 ALL이 없으면, 파드가 원시 네트워크 기능을 사용할 여지가 남을 수 있습니다. NET_RAW는 패킷 생성 같은 민감한 네트워크 동작과 연결될 수 있어 주의가 필요합니다.
보안 정책은 개별 파드 설정에만 의존하지 말고, 기본적으로 위험 capability를 제거하도록 강제하는 편이 안전합니다. PSP를 사용 중인 환경이라면 이 기준을 정책에 직접 반영해야 합니다.
참고: PodSecurityPolicy는 Kubernetes v1.21에서 사용 중단되었고 v1.25에서 제거되었습니다. 이 문서는 PSP를 사용하는 레거시 클러스터나 PSP 리소스가 남아 있는 환경을 다룹니다. 최신 클러스터에서는 Pod Security Admission 또는 Gatekeeper나 Kyverno 같은 정책 엔진으로 같은 제한을 적용하세요.
잠재적 영향
- 파드가 원시 네트워크 기능을 이용해 의도하지 않은 네트워크 동작을 수행할 수 있습니다.
- 네트워크 공격 표면이 커질 수 있습니다.
- 워크로드별 capability 관리가 느슨해질 수 있습니다.
해결 방법
- PSP의
requiredDropCapabilities에NET_RAW또는ALL을 포함하세요. - 개별 워크로드도 추가 capability를 최소화하도록 함께 점검하세요.
- 보안 정책 변경 시 capability 관련 기준을 별도 체크리스트로 관리하세요.
예시
기존 PSP의 capability 설정만 발췌했습니다. 다른 필수 필드와 정책 사용 권한은 생략되어 있습니다.
변경 전
yaml
apiVersion: policy/v1beta1
kind: PodSecurityPolicy
metadata:
name: restricted2
spec:
requiredDropCapabilities:
- KILL
변경 후
yaml
apiVersion: policy/v1beta1
kind: PodSecurityPolicy
metadata:
name: restricted
spec:
requiredDropCapabilities:
- ALL
설명:
- 변경 전:
NET_RAW나ALL드롭을 강제하지 않아 위험 capability가 남을 수 있습니다. - 변경 후:
ALL드롭을 강제해 NET_RAW를 포함한 Linux capability 제거를 요구합니다.