CKS 문제 66

쿠버네티스 기반 마이크로서비스 아키텍처를 구축하고 있습니다. 애플리케이션에 공개 레지스트리의 Docker 이미지를 사용하고 있습니다. 마이크로서비스 중 하나는 민감한 사용자 데이터 관리를 담당합니다. 기본 이미지 사용량을 최소화하고 보안을 강화하려면 서비스에 필요한 종속성을 포함하면서도 최소한의 용량만 차지하는 사용자 지정 기본 이미지를 만들어야 합니다.
이 마이크로서비스를 위한 사용자 지정 기본 이미지를 생성하려면 어떤 단계를 거쳐야 합니까? 사용자 지정 기본 이미지의 보안을 어떻게 보장하고 배포 프로세스에 어떻게 통합하시겠습니까? 코드 예제와 함께 단계별 가이드를 제공해 주세요.

CKS 문제 67

웹 애플리케이션의 컨테이너 이미지를 정의하는 Dockerfile이 있습니다. KubeLinter를 사용하여 Dockerfile의 보안 모범 사례 및 쿠버네티스 호환성 문제를 분석해야 합니다. KubeLinter를 CI/CD 파이프라인에 통합하여 DockerTile이 수정될 때마다 자동으로 검사하는 솔루션을 구현하세요.

CKS 문제 68

시뮬레이션
주어진 Dockerfile을 분석하고 편집합니다.
ubuntu:latest에서
apt-get update -y를 실행하세요
apt-install nginx -y를 실행하세요
COPY entrypoint.sh /
진입점 ["/entrypoint.sh"]
사용자 루트
파일에서 눈에 띄는 보안 모범 사례 문제인 두 가지 지침을 수정합니다. 배포 매니페스트 파일 apiVersion: v1 kind: Pod metadata:를 분석하고 편집합니다.
이름: 보안 컨텍스트 데모 2
투기:
보안 컨텍스트:
사용자로 실행: 1000
컨테이너:
- 이름: sec-ctx-demo-2
이미지: gcr.io/google-samples/node-hello:1.0
보안 컨텍스트:
사용자로 실행: 0
특권: 참
allowPrivilegeEscalation: 거짓
파일에 있는 두 개의 필드를 수정하여 보안 모범 사례 문제를 해결합니다. 구성 설정을 추가하거나 제거하지 말고 기존 구성 설정만 수정합니다. 작업에 권한이 없는 사용자가 필요할 때마다 사용자 ID 5487을 사용하여 사용자 test-user를 사용합니다.

CKS 문제 69

다음 클러스터/노드에서 이 작업을 완료해야 합니다.클러스터: immutable-cluster 마스터 노드: master1 작업자 노드: worker1 다음 명령을 사용하여 클러스터/구성 컨텍스트를 전환할 수 있습니다.[desk@cli] $ kubectl config use-context immutable-cluster 컨텍스트: 컨테이너를 상태 비저장 및 변경 불가능으로 설계하는 것이 가장 좋습니다.작업: prod 네임스페이스에서 실행 중인 Pod를 검사하고 상태 비저장이 아니거나 변경 불가능하지 않은 모든 Pod를 삭제합니다.상태 비저장 및 변경 불가능에 대한 다음과 같은 엄격한 해석을 사용합니다.1. 컨테이너 내부에 데이터를 저장할 수 있는 Pod는 상태 비저장이 아닌 것으로 처리해야 합니다.참고: 데이터가 실제로 컨테이너 내부에 저장되어 있는지 여부는 걱정할 필요가 없습니다.2. 어떤 식으로든 특권을 갖도록 구성된 Pod는 잠재적으로 상태 비저장이 아니거나 변경 불가능하지 않은 것으로 처리해야 합니다.

CKS 문제 70

구성을 통해 모든 문제를 해결하고 영향을 받은 구성 요소를 다시 시작하여 새로운 설정이 적용되도록 하세요.
API 서버에서 발견된 다음 위반 사항을 모두 수정하세요. a. --authorization-mode 인수에 RBAC가 포함되어 있는지 확인하세요. b. --authorization-mode 인수에 Node가 포함되어 있는지 확인하세요. c. --profiling 인수가 false로 설정되어 있는지 확인하세요. Kubelet에서 발견된 다음 위반 사항을 모두 수정하세요. a. --anonymous-auth 인수가 false로 설정되어 있는지 확인하세요.
b. --authorization-mode 인수가 Webhook으로 설정되어 있는지 확인하세요.
ETCD에서 발견된 다음 위반 사항을 모두 수정하세요.
a. --auto-tls 인수가 true로 설정되지 않았는지 확인하십시오.
힌트: Tool Kube-Bench를 활용하세요