CKS 문제 1

컨테이너 이미지 스캐너가 클러스터에 설정됩니다.
디렉토리에 불완전한 구성이 주어졌을 때
/etc/kubernetes/confcontrol 및 HTTPS 끝점 https://test-server.local.8081/image_policy가 있는 기능적 컨테이너 이미지 스캐너

CKS 문제 2

다음 클러스터/노드에서 이 작업을 완료해야 합니다.
클러스터: 추적
마스터 노드: 마스터
작업자 노드: 작업자1
다음 명령을 사용하여 클러스터/구성 컨텍스트를 전환할 수 있습니다.
[desk@cli] $ kubectl 구성 사용 컨텍스트 추적
주어진: Sysdig 또는 Falco 문서를 사용할 수 있습니다.
일:
탐지 도구를 사용하여 Pod tomcat에 속한 단일 컨테이너에서 이상한 것을 자주 생성하고 실행하는 프로세스와 같은 이상을 탐지합니다.
두 가지 도구를 사용할 수 있습니다.
1. 매
2. 시스템 디그
도구는 worker1 노드에만 사전 설치됩니다.
새로 생성 및 실행 프로세스를 감지하는 필터를 사용하여 최소 40초 동안 컨테이너의 동작을 분석합니다.
인시던트 파일을 /home/cert_masters/report에 다음 형식으로 저장합니다.
[타임스탬프],[uid],[프로세스 이름]
참고: 인시던트 파일은 클러스터의 작업자 노드에 저장해야 하며 마스터 노드로 옮기지 마십시오.

CKS 문제 3

john이라는 사용자를 만들고 CSR 요청을 만들고 승인 후 사용자의 인증서를 가져옵니다.
역할 이름 john-role을 생성하여 네임스페이스 john의 비밀, 포드를 나열합니다.
마지막으로 john-role-binding이라는 RoleBinding을 만들어 새로 생성된 역할 john-role을 네임스페이스 john의 사용자 john에 연결합니다.
확인하려면: kubectl auth CLI 명령을 사용하여 권한을 확인합니다.

CKS 문제 4

주어진 Dockerfile 분석 및 편집
우분투에서:최신
apt-get 업데이트 실행 -y
apt-install nginx -y 실행
COPY entrypoint.sh /
ENTRYPOINT ["/entrypoint.sh"]
사용자 루트
주요 보안 모범 사례 문제인 파일에 있는 두 가지 지침 수정 배포 매니페스트 파일 apiVersion: v1 종류: Pod 메타데이터 분석 및 편집:
이름: security-context-demo-2
투기:
보안 컨텍스트:
runAs 사용자: 1000
컨테이너:
- 이름: sec-ctx-demo-2
이미지: gcr.io/google-samples/node-hello:1.0
보안 컨텍스트:
runAs 사용자: 0
특권: 사실
allowPrivilegeEscalation: 거짓
중요한 보안 모범 사례 문제인 파일에 있는 두 개의 필드 수정 구성 설정을 추가하거나 제거하지 마십시오. 기존 구성 설정만 수정 작업에 권한이 없는 사용자가 필요할 때마다 사용자 ID가 5487인 사용자 test-user를 사용하십시오.

CKS 문제 5

클러스터 작업자 노드에서 준비된 AppArmor 프로필을 적용합니다.
#include <조정 가능/전역>
프로필 docker-nginx flags=(attach_disconnected,mediate_deleted) {
#include <추상화/기본>
네트워크 Inet TCP,
네트워크 인터넷 UDP,
네트워크 Inet ICMP,
네트워크 원시 거부,
네트워크 패킷 거부,
파일,
마운트 해제,
/bin/** wl 거부,
/boot/** wl 거부,
거부 / 개발 / ** wl,
거부 / 기타 / ** wl,
/home/** wl 거부,
거부 / 라이브러리 / ** wl,
/lib64/** wl 거부,
/미디어 /** wl 거부,
거부 / mnt / ** wl,
거부 / 선택 / ** wl,
거부 / proc / ** wl,
/root/** wl 거부,
/sbin/** wl 거부,
/srv /** wl 거부,
/tmp/** wl 거부,
/sys /** wl 거부,
/usr/** wl 거부,
감사 /** w,
/var/run/nginx.pid w,
/usr/sbin/nginx ix,
/bin/dash mrwklx 거부,
/bin/sh mrwklx 거부,
/usr/bin/top mrwklx 거부,
능력치,
기능 dac_override,
기능 setuid,
기능 setgid,
기능 net_bind_service,
거부 @{PROC}/* w, # /proc에서 직접 모든 파일에 대한 쓰기 거부(하위 디렉토리가 아님)
# /proc/<number>/** 또는 /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
종류: 포드
메타데이터:
이름: 의류 포드
투기:
컨테이너:
- 이름: 의류 포드
이미지: nginx
마지막으로 매니페스트 파일을 적용하고 여기에 지정된 Pod를 만듭니다.
확인: ping, top, sh 명령을 사용해 보십시오.