CKS 문제 6

시뮬레이션
컨테이너 이미지 스캐너가 클러스터에 설정됩니다.
디렉토리에 불완전한 구성이 있는 경우
/etc/kubernetes/confcontrol 및 HTTPS 엔드포인트 https://test-server.local.8081/image_policy가 있는 기능적 컨테이너 이미지 스캐너
1. 입장 플러그인을 활성화하세요.
2. 제어 구성을 검증하고 암시적 거부로 변경합니다.
마지막으로 이미지 태그가 최신인 Pod를 배포하여 구성을 테스트합니다.

CKS 문제 7

시뮬레이션
클러스터 작업자 노드에서 준비된 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 w,
/usr/sbin/nginx ix,
/bin/dash mrwklx 거부,
/bin/sh mrwklx 거부,
/usr/bin/top mrwklx 거부,
능력 chown,
dac_override 기능,
기능 setuid,
기능 설정,
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
종류: 포드
메타데이터:
이름: apparmor-pod
투기:
컨테이너:
- 이름: apparmor-pod
이미지: nginx
마지막으로 매니페스트 파일을 적용하고 여기에 지정된 포드를 생성합니다.
확인: ping, top, sh 명령을 사용해 보십시오.

CKS 문제 8

문맥
kubeadm이 생성한 클러스터에 대해 CIS 벤치마크 도구를 실행한 결과 즉시 해결해야 하는 여러 문제가 발견되었습니다.

구성을 통해 모든 문제를 해결하고 영향을 받는 구성 요소를 다시 시작하여 새 설정이 적용되도록 하세요.
API 서버에서 발견된 다음 위반 사항을 모두 수정하세요.

Kubelet에 대해 발견된 다음 위반 사항을 모두 수정합니다.


etcd에 대해 발견된 다음 위반 사항을 모두 수정합니다.

CKS 문제 9

다음 명령을 사용하여 클러스터/구성 컨텍스트를 전환할 수 있습니다: [desk@cli] $ kubectl config use-context dev 컨텍스트: CIS 벤치마크 도구가 kubeadm 생성 클러스터에 대해 실행되었으며 해결해야 할 여러 문제를 발견했습니다. 작업: 구성을 통해 모든 문제를 해결하고 영향을 받는 구성 요소를 다시 시작하여 새 설정이 적용되도록 합니다. API 서버에 대해 발견된 다음 위반 사항을 모두 수정합니다. 1.2.7 인증 모드 인수가 AlwaysAllow로 설정되지 않았습니다. FAIL 1.2.8 인증 모드 인수에 노드가 포함됩니다. FAIL 1.2.7 인증 모드 인수에 RBAC FAIL이 포함됩니다. Kubelet에 대해 발견된 다음 위반 사항: 4.2.1 익명 인증 인수가 false로 설정되어 있는지 확인 FAIL 4.2.2 인증 모드 인수가 AlwaysAllow로 설정되지 않음 FAIL(가능한 경우 Webhook fall/authz 사용) 모두 수정 etcd에서 발견된 다음 위반 사항: 2.2 client-cert-auth 인수가 true로 설정되어 있는지 확인하십시오.

CKS 문제 10

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