CKS 문제 26
클러스터: dev
마스터 노드: master1
워커 노드: worker1
다음 명령을 사용하여 클러스터/구성 컨텍스트를 전환할 수 있습니다.
[desk@cli] $ kubectl config use-context dev
일:
안전한 네임스페이스에 있는 adam이라는 이름의 기존 비밀의 내용을 검색합니다.
사용자 이름 필드를 /home/cert-masters/username.txt라는 파일에 저장하고, 비밀번호 필드를 /home/cert-masters/password.txt라는 파일에 저장합니다.
1. 두 파일을 모두 만들어야 합니다. 아직 존재하지 않습니다.
2. 다음 단계에서 생성된 파일을 사용/수정하지 마세요. 필요한 경우 새로운 임시 파일을 만드세요.
다음 내용을 사용하여 안전한 네임스페이스에 newsecret이라는 새 비밀 이름을 만듭니다.
사용자 이름: dbadmin
비밀번호: moresecurepas
마지막으로 볼륨을 통해 비밀 newsecret에 액세스할 수 있는 새로운 Pod를 생성합니다.
네임스페이스: safe
포드 이름: mysecret-pod
컨테이너 이름: db-container
이미지: redis
볼륨 이름: secret-vol
마운트 경로: /etc/mysecret
마스터 노드: master1
워커 노드: worker1
다음 명령을 사용하여 클러스터/구성 컨텍스트를 전환할 수 있습니다.
[desk@cli] $ kubectl config use-context dev
일:
안전한 네임스페이스에 있는 adam이라는 이름의 기존 비밀의 내용을 검색합니다.
사용자 이름 필드를 /home/cert-masters/username.txt라는 파일에 저장하고, 비밀번호 필드를 /home/cert-masters/password.txt라는 파일에 저장합니다.
1. 두 파일을 모두 만들어야 합니다. 아직 존재하지 않습니다.
2. 다음 단계에서 생성된 파일을 사용/수정하지 마세요. 필요한 경우 새로운 임시 파일을 만드세요.
다음 내용을 사용하여 안전한 네임스페이스에 newsecret이라는 새 비밀 이름을 만듭니다.
사용자 이름: dbadmin
비밀번호: moresecurepas
마지막으로 볼륨을 통해 비밀 newsecret에 액세스할 수 있는 새로운 Pod를 생성합니다.
네임스페이스: safe
포드 이름: mysecret-pod
컨테이너 이름: db-container
이미지: redis
볼륨 이름: secret-vol
마운트 경로: /etc/mysecret
CKS 문제 27
주어진 YAML 매니페스트를 Kubesec Docker 이미지를 사용하여 스캔하고, 권장된 변경 사항을 편집하고 적용했으며, 4점으로 통과했습니다.
쿠베섹-테스트.yaml
api버전: v1
종류: 포드
메타데이터:
이름: kubesec-demo
투기:
컨테이너:
- 이름: kubesec-demo
이미지: gcr.io/google-samples/node-hello:1.0
보안 컨텍스트:
readOnlyRootFilesystem: true
쿠베섹-테스트.yaml
api버전: v1
종류: 포드
메타데이터:
이름: kubesec-demo
투기:
컨테이너:
- 이름: kubesec-demo
이미지: gcr.io/google-samples/node-hello:1.0
보안 컨텍스트:
readOnlyRootFilesystem: true
CKS 문제 28
제한된 네임스페이스에서 볼륨 유형으로 persistentvolumeclaim만 허용하는 PSP를 만듭니다.
persistentvolumeclaim 외에 다른 볼륨이 마운트되는 것을 방지하는 prevent-volume-policy라는 이름의 새로운 PodSecurityPolicy를 생성합니다.
제한된 네임스페이스에 psp-sa라는 이름의 새 ServiceAccount를 만듭니다.
새로 생성된 Pod 보안 정책 prevent-volume-policy를 사용하는 psp-role이라는 이름의 새 ClusterRole을 생성합니다. 생성된 ClusterRole psp-role을 생성된 SA psp-sa에 바인딩하는 psp-role-binding이라는 이름의 새 ClusterRoleBinding을 생성합니다.
힌트:
또한, Pod Maifest에서 비밀을 마운트해 보고 구성이 제대로 작동하는지 확인하세요. 실패해야 합니다.
POD 선언문:
api버전: v1
종류: 포드
메타데이터:
이름:
투기:
컨테이너:
- 이름:
영상:
볼륨마운트:
- 이름:
마운트 경로:
볼륨:
- 이름:
비밀:
비밀 이름:
persistentvolumeclaim 외에 다른 볼륨이 마운트되는 것을 방지하는 prevent-volume-policy라는 이름의 새로운 PodSecurityPolicy를 생성합니다.
제한된 네임스페이스에 psp-sa라는 이름의 새 ServiceAccount를 만듭니다.
새로 생성된 Pod 보안 정책 prevent-volume-policy를 사용하는 psp-role이라는 이름의 새 ClusterRole을 생성합니다. 생성된 ClusterRole psp-role을 생성된 SA psp-sa에 바인딩하는 psp-role-binding이라는 이름의 새 ClusterRoleBinding을 생성합니다.
힌트:
또한, Pod Maifest에서 비밀을 마운트해 보고 구성이 제대로 작동하는지 확인하세요. 실패해야 합니다.
POD 선언문:
api버전: v1
종류: 포드
메타데이터:
이름:
투기:
컨테이너:
- 이름:
영상:
볼륨마운트:
- 이름:
마운트 경로:
볼륨:
- 이름:
비밀:
비밀 이름:
CKS 문제 29
문맥:
클러스터: prod
마스터 노드: master1
워커 노드: worker1
다음 명령을 사용하여 클러스터/구성 컨텍스트를 전환할 수 있습니다.
[desk@cli] $ kubectl config use-context prod
일:
주어진 Dockerfile을 분석하고 편집합니다(ubuntu:18:04 이미지 기반)
/home/cert_masters/Dockerfile은 파일에 존재하는 두 가지 지침, 즉 눈에 띄는 보안/모범 사례 문제를 수정합니다.
주어진 매니페스트 파일을 분석하고 편집합니다.
/home/cert_masters/mydeployment.yaml 파일에 존재하는 두 필드를 수정하여 보안/모범 사례 문제가 되는 부분을 해결했습니다.
참고: 구성 설정을 추가하거나 제거하지 마세요. 기존 구성 설정만 수정하여 두 개의 구성 설정이 더 이상 보안/모범 사례 문제가 되지 않도록 하세요.
작업에 권한이 없는 사용자가 필요한 경우 사용자 ID 65535를 사용하여 nobody 사용자를 사용하세요.
클러스터: prod
마스터 노드: master1
워커 노드: worker1
다음 명령을 사용하여 클러스터/구성 컨텍스트를 전환할 수 있습니다.
[desk@cli] $ kubectl config use-context prod
일:
주어진 Dockerfile을 분석하고 편집합니다(ubuntu:18:04 이미지 기반)
/home/cert_masters/Dockerfile은 파일에 존재하는 두 가지 지침, 즉 눈에 띄는 보안/모범 사례 문제를 수정합니다.
주어진 매니페스트 파일을 분석하고 편집합니다.
/home/cert_masters/mydeployment.yaml 파일에 존재하는 두 필드를 수정하여 보안/모범 사례 문제가 되는 부분을 해결했습니다.
참고: 구성 설정을 추가하거나 제거하지 마세요. 기존 구성 설정만 수정하여 두 개의 구성 설정이 더 이상 보안/모범 사례 문제가 되지 않도록 하세요.
작업에 권한이 없는 사용자가 필요한 경우 사용자 ID 65535를 사용하여 nobody 사용자를 사용하세요.
CKS 문제 30
서비스는 시스템 내부의 포트 389에서 실행되고 있으며, 프로세스의 프로세스 ID를 찾고, /candidate/KH77539/files.txt 내부의 모든 열려 있는 파일의 이름을 저장하고, 바이너리도 삭제합니다.






