[Kubernetes] Pod Security Admission & Standard

Jay·2024년 7월 31일
0

사용자에게 혼란을 줄 수 있다는 이유로 PodSecurityPolicy가 deprecated된 이후로 1.26 버전부터는 Pod Security Admission과 Pod Secrutiy Standard가 사용되게 되었다고 한다.

Pod Security Admission

https://kubernetes.io/docs/concepts/security/pod-security-admission/

Kubernetes 클러스터에서 파드의 보안 설정을 제어하기 위해 기본 제공되는 Admission Controller이다.
PSA는 특정 네임스페이스에서 파드가 PSS를 충족하는지 확인하고, 이를 준수하지 않았을 경우에 3개 모드 중 하나로 작동한다.

PSA Mode

Enforce

  • 정책 위반 시, 해당 파드는 생성 불가/거부

Audit

  • 정책 위반 시, 감사로그에 기록
  • 파드 생성에 영향은 없음

Warn

  • 정책 위반 시, 사용자에게 경고 메시지 출력
  • 파드 생성에 영향은 없음

Pods Security Standard

https://kubernetes.io/docs/concepts/security/pod-security-standards/

표준 보안 정책 구분

Privileged

  • 모든 기능을 허용하는 가장 낮은 레벨의 보안 설정

Baseline

  • 이미 알려진 권한 상승을 방지하기 위한 최소한의 제한 정책
  • Default 파드 설정은 허용

예를 들면, 호스트 네임스페이스(PID, IPC, Network) 사용 불가, Pod를 Privileged 모드로 실행 불가, HostPath 사용 불가 등의 항목이 있다.

Restricted

  • 보안 모범 사례를 모두 준수하기 위한 엄격한 제한 정책

Baseline에 해당하는 정책에 추가하여 Volume Type이 제한되거나, root 유저로 실행 불가, Seccomp 프로필 강제 등의 항목이 있다.

사용법 📄

Namespace에 라벨을 추가하여 사용할 수 있다.

apiVersion: v1
kind: Namespace
metadata:
  name: policy-test
  labels:
    pod-security.kubernetes.io/enforce: baseline
    pod-security.kubernetes.io/warn: restricted

이 경우, baseline 보안 정책에 대해서는 강제적으로 적용하도록 하고, restrict 보안 정책에 대해서는 경고 메시지만 출력하도록 할 수 있다.

profile
공부 하고 싶은 직장인의 기록장

0개의 댓글