728x90
https://www.cncf.io/blog/2022/06/30/how-to-secure-kubernetes-pods-post-psps-deprecation/
How to secure Kubernetes Pods post-PSPs deprecation | Cloud Native Computing Foundation
Guest post originally published on the ARMO blog by Amir Kaushansky Kubernetes pods are the basic building blocks of Kubernetes. It's managing one or more tightly coupled application containers…
www.cncf.io
파드시큐리티폴리시(PodSecurityPolicy)는 쿠버네티스 v1.21부터 더 이상 사용되지 않으며, v1.25에서 제거될 예정이다.
기존 PSP의 정책들
제어 측면 | 필드 이름 |
특권을 가진(privileged) 컨테이너의 실행 | privileged |
호스트 네임스페이스의 사용 | hostPID, hostIPC |
호스트 네트워킹과 포트의 사용 | hostNetwork, hostPorts |
볼륨 유형의 사용 | volumes |
호스트 파일시스템의 사용 | allowedHostPaths |
특정 FlexVolume 드라이버의 허용 | allowedFlexVolumes |
파드 볼륨을 소유한 FSGroup 할당 | fsGroup |
읽기 전용 루트 파일시스템 사용 필요 | readOnlyRootFilesystem |
컨테이너의 사용자 및 그룹 ID | runAsUser, runAsGroup, supplementalGroups |
루트 특권으로의 에스컬레이션 제한 | allowPrivilegeEscalation, defaultAllowPrivilegeEscalation |
리눅스 기능 | defaultAddCapabilities, requiredDropCapabilities, allowedCapabilities |
컨테이너의 SELinux 컨텍스트 | seLinux |
컨테이너에 허용된 Proc 마운트 유형 | allowedProcMountTypes |
컨테이너가 사용하는 AppArmor 프로파일 | 어노테이션 |
컨테이너가 사용하는 seccomp 프로파일 | 어노테이션 |
컨테이너가 사용하는 sysctl 프로파일 | forbiddenSysctls,allowedUnsafeSysctls |
앞으로 Kubernetes는 PSP와는 다른 컨셉으로 보안을 접근할 예정입니다. 셀수없이 많은 자잘한 정책들보다는(조합하기 어렵고 관리어려움) 3개의 기준(privileged, baseline, restricted)으로 나누어 정책관리를 제시합니다.
- Privileged
Rule이 없어 제한하지 않는 정책입니다. POD를 특별한 권한으로 생성 및 관리할 수 있습니다. - Baseline
기본적인 Rule의 집합입니다. OS의 유해한 기능과 같은 것들을 제어합니다. 중간 단계의 보안정첵을 제공하고 있습니다. Test환경등에 적합합니다. - Restricted
POD보안을 강화하는 BestPractice를 제공합니다.
그리고 기존의 Pod Security Admission 또한 PSP를 상속받은 리소스이므로 Open Policy Agent (OPA) 나 Keyverno 와 같은 custom admission controllers 를 고려해봐야 한다.
'PaaS > Kubernetes' 카테고리의 다른 글
(네이버클라우드 세션) 쿠버네티스 보안 세미나 요약 (0) | 2022.08.28 |
---|---|
Cloud에서 k8s istio 상세설명+네트워크 흐름+Service Discovery (0) | 2022.07.11 |
KubeEdge에 대해서 (0) | 2022.05.18 |
토스뱅크의 쿠버네티스 기반 CI/CD 환경 (0) | 2022.05.15 |
(Kubernetes) Probe들에 대한 이해 (0) | 2022.04.29 |