CKS 문제 1
클러스터 작업자 노드에서 준비된 AppArmor 프로필을 적용합니다.
#include <튜너블/글로벌>
프로필 docker-nginx 플래그=(attach_disconnected,mediate_deleted) {
#include <추상화/기본>
네트워크 inet TCP,
네트워크 inet UDP,
네트워크 INET ICMP,
네트워크 원시 거부,
네트워크 패킷 거부,
파일,
언마운트,
거부 /bin/** wl,
거부 /boot/** wl,
거부 /dev/** wl,
거부 /etc/** wl,
거부 /home/** wl,
거부 /lib/** wl,
거부 /lib64/** wl,
거부 /media/** wl,
거부 /mnt/** wl,
거부 /opt/** wl,
거부 /proc/** wl,
거부 /root/** wl,
거부 /sbin/** wl,
거부 /srv/** wl,
거부 /tmp/** wl,
거부 /sys/** wl,
거부 /usr/** wl,
감사 /** w,
/var/run/nginx.pid 승,
/usr/sbin/nginx ix,
거부 /bin/dash mrwklx,
거부 /bin/sh mrwklx,
거부 /usr/bin/top mrwklx,
능력 초운,
기능 dac_override,
기능 설정,
기능 설정,
기능 net_bind_service,
deny @{PROC}/* w, # /proc에서 직접 모든 파일에 대한 쓰기를 거부합니다(하위 디렉토리가 아님).
# /proc/<번호>/** 또는 /proc/sys/**에 없는 파일에 대한 쓰기 거부
거부 @{PROC}/{[^1-9],[^1-9][^0-9],[^1-9s][^0-9y][^0-9s],[^1- 9][^0-9][^0-9][^0-9]*}/** w, 거부 @{PROC}/sys/[^k]** w, # 거부 /proc/sys 제외 /proc/sys/k* (효과적으로 /proc/sys/kernel) 거부 @{PROC}/sys/kernel/{?,??,[^s][^h][^m]**} w, # /proc/sys/kernel/에서 shm*을 제외한 모든 항목 거부 @{PROC}/sysrq-trigger rwklx 거부, @{PROC}/mem rwklx 거부, @{PROC}/kmem rwklx 거부, @{PROC}/kcore rwklx 거부 , 마운트 거부, 거부 /sys/[^f]*/** wklx, 거부 /sys/f[^s]*/** wklx, 거부 /sys/fs/[^c]*/** wklx, 거부 /sys/fs/c[^g]*/** wklx, 거부 /sys/fs/cg[^r]*/** wklx, 거부 /sys/firmware/** rwklx, 거부 /sys/kernel/security /** rwklx,
}
AppArmor 프로필을 포함하도록 준비된 매니페스트 파일을 편집합니다.
api 버전: v1
종류: 포드
메타데이터:
이름: 의류 포드
투기:
컨테이너:
- 이름: apparmor-pod
이미지: nginx
마지막으로 매니페스트 파일을 적용하고 여기에 지정된 Pod를 만듭니다.
확인: ping, top, sh 명령을 사용해 보십시오.
#include <튜너블/글로벌>
프로필 docker-nginx 플래그=(attach_disconnected,mediate_deleted) {
#include <추상화/기본>
네트워크 inet TCP,
네트워크 inet UDP,
네트워크 INET ICMP,
네트워크 원시 거부,
네트워크 패킷 거부,
파일,
언마운트,
거부 /bin/** wl,
거부 /boot/** wl,
거부 /dev/** wl,
거부 /etc/** wl,
거부 /home/** wl,
거부 /lib/** wl,
거부 /lib64/** wl,
거부 /media/** wl,
거부 /mnt/** wl,
거부 /opt/** wl,
거부 /proc/** wl,
거부 /root/** wl,
거부 /sbin/** wl,
거부 /srv/** wl,
거부 /tmp/** wl,
거부 /sys/** wl,
거부 /usr/** wl,
감사 /** w,
/var/run/nginx.pid 승,
/usr/sbin/nginx ix,
거부 /bin/dash mrwklx,
거부 /bin/sh mrwklx,
거부 /usr/bin/top mrwklx,
능력 초운,
기능 dac_override,
기능 설정,
기능 설정,
기능 net_bind_service,
deny @{PROC}/* w, # /proc에서 직접 모든 파일에 대한 쓰기를 거부합니다(하위 디렉토리가 아님).
# /proc/<번호>/** 또는 /proc/sys/**에 없는 파일에 대한 쓰기 거부
거부 @{PROC}/{[^1-9],[^1-9][^0-9],[^1-9s][^0-9y][^0-9s],[^1- 9][^0-9][^0-9][^0-9]*}/** w, 거부 @{PROC}/sys/[^k]** w, # 거부 /proc/sys 제외 /proc/sys/k* (효과적으로 /proc/sys/kernel) 거부 @{PROC}/sys/kernel/{?,??,[^s][^h][^m]**} w, # /proc/sys/kernel/에서 shm*을 제외한 모든 항목 거부 @{PROC}/sysrq-trigger rwklx 거부, @{PROC}/mem rwklx 거부, @{PROC}/kmem rwklx 거부, @{PROC}/kcore rwklx 거부 , 마운트 거부, 거부 /sys/[^f]*/** wklx, 거부 /sys/f[^s]*/** wklx, 거부 /sys/fs/[^c]*/** wklx, 거부 /sys/fs/c[^g]*/** wklx, 거부 /sys/fs/cg[^r]*/** wklx, 거부 /sys/firmware/** rwklx, 거부 /sys/kernel/security /** rwklx,
}
AppArmor 프로필을 포함하도록 준비된 매니페스트 파일을 편집합니다.
api 버전: v1
종류: 포드
메타데이터:
이름: 의류 포드
투기:
컨테이너:
- 이름: apparmor-pod
이미지: nginx
마지막으로 매니페스트 파일을 적용하고 여기에 지정된 Pod를 만듭니다.
확인: ping, top, sh 명령을 사용해 보십시오.
CKS 문제 2
일
네임스페이스 dev-team에서 실행 중인 포드 사용자 서비스에 대한 액세스를 제한하기 위해 이름이 pod-access인 NetworkPolicy를 만듭니다.
다음 포드만 포드 사용자 서비스에 연결할 수 있습니다.


네임스페이스 dev-team에서 실행 중인 포드 사용자 서비스에 대한 액세스를 제한하기 위해 이름이 pod-access인 NetworkPolicy를 만듭니다.
다음 포드만 포드 사용자 서비스에 연결할 수 있습니다.


CKS 문제 3
컨테이너 이미지 스캐너가 클러스터에 설정됩니다.
디렉토리에 불완전한 구성이 있는 경우
/etc/Kubernetes/confcontrol 및 HTTPS 끝점이 있는 기능적 컨테이너 이미지 스캐너 https://acme.local.8081/image_policy
디렉토리에 불완전한 구성이 있는 경우
/etc/Kubernetes/confcontrol 및 HTTPS 끝점이 있는 기능적 컨테이너 이미지 스캐너 https://acme.local.8081/image_policy
CKS 문제 4
시뮬레이션
runc라는 준비된 런타임 핸들러를 사용하여 gvisor-rc라는 RuntimeClass를 만듭니다.
gVisor 런타임 클래스에서 실행하기 위해 네임스페이스 서버에 이미지 Nginx의 포드를 생성합니다.
runc라는 준비된 런타임 핸들러를 사용하여 gvisor-rc라는 RuntimeClass를 만듭니다.
gVisor 런타임 클래스에서 실행하기 위해 네임스페이스 서버에 이미지 Nginx의 포드를 생성합니다.
CKS 문제 5
문맥:
클러스터: 제품
마스터 노드: master1
작업자 노드: worker1
다음 명령을 사용하여 클러스터/구성 컨텍스트를 전환할 수 있습니다.
[desk@cli] $ kubectl 구성 사용 컨텍스트 제품
일:
주어진 Dockerfile 분석 및 편집(ubuntu:18:04 이미지 기준)
/home/cert_masters/Dockerfile 파일에 있는 두 가지 지침이 눈에 띄는 보안/모범 사례 문제로 수정되었습니다.
지정된 매니페스트 파일 분석 및 편집
/home/cert_masters/mydeployment.yaml 파일에 있는 두 개의 필드가 눈에 띄는 보안/모범 사례 문제로 수정되었습니다.
참고: 구성 설정을 추가하거나 제거하지 마십시오. 기존 구성 설정만 수정하여 각각 두 개의 구성 설정이 더 이상 보안/모범 사례 문제가 되지 않도록 합니다.
작업에 대해 권한이 없는 사용자가 필요한 경우 사용자 ID가 65535인 사용자 nobody를 사용하십시오.
클러스터: 제품
마스터 노드: master1
작업자 노드: worker1
다음 명령을 사용하여 클러스터/구성 컨텍스트를 전환할 수 있습니다.
[desk@cli] $ kubectl 구성 사용 컨텍스트 제품
일:
주어진 Dockerfile 분석 및 편집(ubuntu:18:04 이미지 기준)
/home/cert_masters/Dockerfile 파일에 있는 두 가지 지침이 눈에 띄는 보안/모범 사례 문제로 수정되었습니다.
지정된 매니페스트 파일 분석 및 편집
/home/cert_masters/mydeployment.yaml 파일에 있는 두 개의 필드가 눈에 띄는 보안/모범 사례 문제로 수정되었습니다.
참고: 구성 설정을 추가하거나 제거하지 마십시오. 기존 구성 설정만 수정하여 각각 두 개의 구성 설정이 더 이상 보안/모범 사례 문제가 되지 않도록 합니다.
작업에 대해 권한이 없는 사용자가 필요한 경우 사용자 ID가 65535인 사용자 nobody를 사용하십시오.