CKS 문제 11
클러스터에서 감사 로그를 활성화하려면 로그 백엔드를 활성화하고 다음을 확인하십시오.
1. 로그는 /var/log/kubernetes-logs.txt에 저장됩니다.
2. 로그 파일은 12일 동안 보관됩니다.
3. 최대 8개의 이전 감사 로그 파일이 유지됩니다.
4. 회전하기 전에 최대 크기를 200MB로 설정
다음을 기록할 기본 정책을 편집하고 확장합니다.
1. RequestResponse에서 네임스페이스 변경
2. 네임스페이스 kube-system에서 암호 변경 요청 본문을 기록합니다.
3. 요청 수준에서 코어 및 확장의 다른 모든 리소스를 기록합니다.
4. 메타데이터 수준에서 "pods/portforward", "services/proxy"를 기록합니다.
5. RequestReceived 단계 생략
메타데이터 수준의 다른 모든 요청
1. 로그는 /var/log/kubernetes-logs.txt에 저장됩니다.
2. 로그 파일은 12일 동안 보관됩니다.
3. 최대 8개의 이전 감사 로그 파일이 유지됩니다.
4. 회전하기 전에 최대 크기를 200MB로 설정
다음을 기록할 기본 정책을 편집하고 확장합니다.
1. RequestResponse에서 네임스페이스 변경
2. 네임스페이스 kube-system에서 암호 변경 요청 본문을 기록합니다.
3. 요청 수준에서 코어 및 확장의 다른 모든 리소스를 기록합니다.
4. 메타데이터 수준에서 "pods/portforward", "services/proxy"를 기록합니다.
5. RequestReceived 단계 생략
메타데이터 수준의 다른 모든 요청
CKS 문제 12
john이라는 사용자를 생성하고 CSR 요청을 생성하고 승인 후 사용자의 인증서를 가져옵니다.
역할 이름 john-role을 생성하여 john 네임스페이스의 시크릿, 포드를 나열합니다.
마지막으로 john-role-binding이라는 RoleBinding을 만들어 새로 만든 역할 john-role을 john 네임스페이스의 사용자 john에게 연결합니다.
확인하려면: kubectl auth CLI 명령을 사용하여 권한을 확인합니다.
역할 이름 john-role을 생성하여 john 네임스페이스의 시크릿, 포드를 나열합니다.
마지막으로 john-role-binding이라는 RoleBinding을 만들어 새로 만든 역할 john-role을 john 네임스페이스의 사용자 john에게 연결합니다.
확인하려면: kubectl auth CLI 명령을 사용하여 권한을 확인합니다.
CKS 문제 13
다음 명령을 사용하여 클러스터/구성 컨텍스트를 전환할 수 있습니다. [desk@cli] $ kubectl config use-context qa 컨텍스트: 잘못 지정된 ServiceAccount로 인해 포드가 실행되지 않습니다. 작업: backend-qa라는 새 서비스 계정을 생성합니다. 비밀에 대한 액세스 권한이 없어야 하는 기존 네임스페이스 qa. backend-qa 서비스 계정을 사용하도록 프런트엔드 포드 yaml을 편집합니다. 참고: /home/cert_masters/frontend-pod.yaml에서 프런트엔드 포드 yaml을 찾을 수 있습니다.
CKS 문제 14
시뮬레이션
네임스페이스에서 권한 있는 포드 생성을 방지하는 PSP를 생성합니다.
특권 포드 생성을 방지하는 prevent-privileged-policy라는 이름의 새 PodSecurityPolicy를 생성합니다.
네임스페이스 기본값에 psp-sa라는 새 ServiceAccount를 만듭니다.
새로 생성된 포드 보안 정책 prevent-privileged-policy를 사용하는 prevent-role이라는 새 ClusterRole을 생성합니다.
생성된 ClusterRole prevent-role을 생성된 SA psp-sa에 바인딩하는 prevent-role-binding이라는 새 ClusterRoleBinding을 생성합니다.
또한 권한이 있는 포드 생성을 시도하여 구성이 작동하는지 확인하십시오. 실패해야 합니다.
네임스페이스에서 권한 있는 포드 생성을 방지하는 PSP를 생성합니다.
특권 포드 생성을 방지하는 prevent-privileged-policy라는 이름의 새 PodSecurityPolicy를 생성합니다.
네임스페이스 기본값에 psp-sa라는 새 ServiceAccount를 만듭니다.
새로 생성된 포드 보안 정책 prevent-privileged-policy를 사용하는 prevent-role이라는 새 ClusterRole을 생성합니다.
생성된 ClusterRole prevent-role을 생성된 SA psp-sa에 바인딩하는 prevent-role-binding이라는 새 ClusterRoleBinding을 생성합니다.
또한 권한이 있는 포드 생성을 시도하여 구성이 작동하는지 확인하십시오. 실패해야 합니다.
CKS 문제 15
클러스터: 개발자
마스터 노드: 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에 액세스할 수 있는 새 포드를 만듭니다.
네임스페이스: 안전
포드 이름: mysecret-pod
컨테이너 이름: db-container
이미지: 레디스
볼륨 이름: 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에 액세스할 수 있는 새 포드를 만듭니다.
네임스페이스: 안전
포드 이름: mysecret-pod
컨테이너 이름: db-container
이미지: 레디스
볼륨 이름: secret-vol
마운트 경로: /etc/mysecret




