CKS 문제 11
시뮬레이션
컨테이너 이미지 스캐너가 클러스터에 설정됩니다.
디렉토리에 불완전한 구성이 주어졌을 때
/etc/kubernetes/confcontrol 및 HTTPS 끝점 https://test-server.local.8081/image_policy가 있는 기능적 컨테이너 이미지 스캐너
1. 승인 플러그인을 활성화합니다.
2. 제어 구성을 확인하고 암시적 거부로 변경합니다.
마지막으로 이미지 태그가 최신인 포드를 배포하여 구성을 테스트합니다.
컨테이너 이미지 스캐너가 클러스터에 설정됩니다.
디렉토리에 불완전한 구성이 주어졌을 때
/etc/kubernetes/confcontrol 및 HTTPS 끝점 https://test-server.local.8081/image_policy가 있는 기능적 컨테이너 이미지 스캐너
1. 승인 플러그인을 활성화합니다.
2. 제어 구성을 확인하고 암시적 거부로 변경합니다.
마지막으로 이미지 태그가 최신인 포드를 배포하여 구성을 테스트합니다.
CKS 문제 12
시뮬레이션
클러스터 작업자 노드에서 준비된 AppArmor 프로필을 적용합니다.
#include <조정 가능/전역>
프로필 nginx-deny flags=(attach_disconnected) {
#include <추상화/기본>
파일,
# 모든 파일 쓰기를 거부합니다.
거부 / ** w,
}
EOF'
AppArmor 프로필을 포함하도록 준비된 매니페스트 파일을 편집합니다.
API 버전: v1
종류: 포드
메타데이터:
이름: 의류 포드
투기:
컨테이너:
- 이름: 의류 포드
이미지: nginx
마지막으로 매니페스트 파일을 적용하고 여기에 지정된 Pod를 만듭니다.
확인: 제한된 디렉토리 내부에 파일을 만들어 보십시오.
클러스터 작업자 노드에서 준비된 AppArmor 프로필을 적용합니다.
#include <조정 가능/전역>
프로필 nginx-deny flags=(attach_disconnected) {
#include <추상화/기본>
파일,
# 모든 파일 쓰기를 거부합니다.
거부 / ** w,
}
EOF'
AppArmor 프로필을 포함하도록 준비된 매니페스트 파일을 편집합니다.
API 버전: v1
종류: 포드
메타데이터:
이름: 의류 포드
투기:
컨테이너:
- 이름: 의류 포드
이미지: nginx
마지막으로 매니페스트 파일을 적용하고 여기에 지정된 Pod를 만듭니다.
확인: 제한된 디렉토리 내부에 파일을 만들어 보십시오.
CKS 문제 13
문맥:
클러스터: 제품
마스터 노드: master1
작업자 노드: 작업자1
다음 명령을 사용하여 클러스터/구성 컨텍스트를 전환할 수 있습니다.
[desk@cli] $ kubectl config use-context prod
일:
주어진 Dockerfile 분석 및 편집(ubuntu:18:04 이미지 기반)
/home/cert_masters/Dockerfile 파일에 존재하는 두 가지 지침이 눈에 띄는 보안/모범 사례 문제를 수정합니다.
주어진 매니페스트 파일 분석 및 편집
/home/cert_masters/mydeployment.yaml 파일에 존재하는 두 개의 필드가 눈에 띄는 보안/모범 사례 문제로 수정되었습니다.
참고: 구성 설정을 추가하거나 제거하지 마십시오. 두 개의 구성 설정이 더 이상 보안/모범 사례 문제가 되지 않도록 기존 구성 설정만 수정합니다.
작업에 권한이 없는 사용자가 필요한 경우 사용자 ID가 65535인 사용자 nobody를 사용하십시오.
클러스터: 제품
마스터 노드: master1
작업자 노드: 작업자1
다음 명령을 사용하여 클러스터/구성 컨텍스트를 전환할 수 있습니다.
[desk@cli] $ kubectl config use-context prod
일:
주어진 Dockerfile 분석 및 편집(ubuntu:18:04 이미지 기반)
/home/cert_masters/Dockerfile 파일에 존재하는 두 가지 지침이 눈에 띄는 보안/모범 사례 문제를 수정합니다.
주어진 매니페스트 파일 분석 및 편집
/home/cert_masters/mydeployment.yaml 파일에 존재하는 두 개의 필드가 눈에 띄는 보안/모범 사례 문제로 수정되었습니다.
참고: 구성 설정을 추가하거나 제거하지 마십시오. 두 개의 구성 설정이 더 이상 보안/모범 사례 문제가 되지 않도록 기존 구성 설정만 수정합니다.
작업에 권한이 없는 사용자가 필요한 경우 사용자 ID가 65535인 사용자 nobody를 사용하십시오.
CKS 문제 14
시뮬레이션
수신 및 송신 트래픽 유형의 모든 트래픽을 거부하는 네임스페이스 테스트에서 deny-all이라는 새 NetworkPolicy를 작성하십시오.
수신 및 송신 트래픽 유형의 모든 트래픽을 거부하는 네임스페이스 테스트에서 deny-all이라는 새 NetworkPolicy를 작성하십시오.
CKS 문제 15
구성을 통해 모든 문제를 수정하고 영향을 받는 구성 요소를 다시 시작하여 새 설정이 적용되도록 합니다.
API 서버에서 발견된 다음 위반 사항을 모두 수정하십시오.- a. RotateKubeletServerCertificate 인수가 true로 설정되었는지 확인하십시오.
비. 승인 제어 플러그인 PodSecurityPolicy가 설정되어 있는지 확인하십시오.
씨. --kubelet-certificate-authority 인수가 적절하게 설정되었는지 확인하십시오.
Kubelet에 대해 발견된 다음 위반 사항을 모두 수정합니다.- a. --anonymous-auth 인수가 false로 설정되어 있는지 확인하십시오.
비. --authorization-mode 인수가 Webhook으로 설정되었는지 확인하십시오.
ETCD에 대해 발견된 다음 위반 사항을 모두 수정합니다.
ㅏ. --auto-tls 인수가 true로 설정되지 않았는지 확인하십시오.
비. --peer-auto-tls 인수가 true로 설정되지 않았는지 확인하십시오.
힌트: Tool Kube-Bench를 사용하십시오.
API 서버에서 발견된 다음 위반 사항을 모두 수정하십시오.- a. RotateKubeletServerCertificate 인수가 true로 설정되었는지 확인하십시오.
비. 승인 제어 플러그인 PodSecurityPolicy가 설정되어 있는지 확인하십시오.
씨. --kubelet-certificate-authority 인수가 적절하게 설정되었는지 확인하십시오.
Kubelet에 대해 발견된 다음 위반 사항을 모두 수정합니다.- a. --anonymous-auth 인수가 false로 설정되어 있는지 확인하십시오.
비. --authorization-mode 인수가 Webhook으로 설정되었는지 확인하십시오.
ETCD에 대해 발견된 다음 위반 사항을 모두 수정합니다.
ㅏ. --auto-tls 인수가 true로 설정되지 않았는지 확인하십시오.
비. --peer-auto-tls 인수가 true로 설정되지 않았는지 확인하십시오.
힌트: Tool Kube-Bench를 사용하십시오.


