CKS 문제 1

시뮬레이션
Trivy를 사용하여 다음 이미지를 스캔하세요.
1. 아마존 리눅스:1
2. k8s.gcr.io/kube-controller-manager:v1.18.6
심각도가 높거나 심각한 취약점이 있는 이미지를 찾아 해당 출력을 /opt/trivy-vulnerable.txt에 저장합니다.

CKS 문제 2

구성을 통해 모든 문제를 해결하고 영향을 받은 구성 요소를 다시 시작하여 새로운 설정이 적용되는지 확인하세요.
API 서버에서 발견된 다음 위반 사항을 모두 수정하세요. a. RotateKubeletServerCertificate 인수가 true로 설정되어 있는지 확인하세요.
b. 입장 제어 플러그인 PodSecurityPolicy가 설정되어 있는지 확인하세요.
c. --kubelet-certificate-authority 인수가 적절하게 설정되었는지 확인하세요.
Kubelet에 대해 발견된 다음 위반 사항을 모두 수정합니다. a. --anonymous-auth 인수가 false로 설정되어 있는지 확인합니다.
b. --authorization-mode 인수가 Webhook으로 설정되어 있는지 확인하세요.
ETCD에 대해 발견된 다음 위반 사항을 모두 수정하세요.
a. --auto-tls 인수가 true로 설정되지 않았는지 확인하십시오.
b. --peer-auto-tls 인수가 true로 설정되지 않았는지 확인하십시오.
힌트: Tool Kube-Bench를 활용하세요

CKS 문제 3

시뮬레이션
기존 네임스페이스 default에 backend-sa라는 이름의 새 ServiceAccount를 만듭니다. 이 계정은 default 네임스페이스 내의 포드를 나열할 수 있는 기능을 갖습니다.
default 네임스페이스에 backend-pod라는 이름의 새 Pod를 생성하고, 새로 생성된 sa backend-sa를 Pod에 마운트한 후, Pod가 Pod를 나열할 수 있는지 확인합니다.
Pod가 실행 중인지 확인하세요.

CKS 문제 4

시뮬레이션
클러스터에서 감사 로그를 활성화하려면 로그 백엔드를 활성화하고 다음을 확인하십시오.
1. 로그는 /var/log/kubernetes-logs.txt에 저장됩니다.
2. 로그 파일은 12일간 보관됩니다.
3. 최대 8개의 오래된 감사 로그 파일이 보관됩니다.
4. 회전되기 전 최대 크기를 200MB로 설정하세요
기본 정책을 편집하여 로그로 확장합니다.
1. RequestResponse에서 네임스페이스 변경
2. kube-system 네임스페이스에서 비밀 변경 사항의 요청 본문을 기록합니다.
3. 요청 수준에서 코어 및 확장의 다른 모든 리소스를 기록합니다.
4. 메타데이터 수준에서 "pods/portforward", "services/proxy"를 기록합니다.
5. Stage RequestReceived 생략
메타데이터 수준의 다른 모든 요청

CKS 문제 5

네임스페이스 test-system에서 실행 중인 test-web-pod라는 기존 Pod가 있는 경우 sa-backend라는 이름의 Pod 서비스 계정에 바인딩된 기존 역할을 편집하여 엔드포인트에서 get 작업만 수행하도록 허용합니다.
statefulset 유형의 리소스에 패치 작업을 수행할 수 있는 test-system 네임스페이스에 test-system-role-2라는 새 역할을 만듭니다.