CKS 문제 6
시뮬레이션
클러스터 작업자 노드에서 준비된 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 명령을 사용해 보십시오.
클러스터 작업자 노드에서 준비된 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 명령을 사용해 보십시오.
CKS 문제 7
다음 명령을 사용하여 클러스터/구성 컨텍스트를 전환할 수 있습니다. [desk@cli] $ kubectl config use-context stage 컨텍스트: PodSecurityPolicy는 특정 네임스페이스에서 권한이 있는 Pod의 생성을 방지합니다. 작업: 1. 권한 있는 포드 생성을 방지하는 deny-policy라는 이름의 새 PodSecurityPolcy를 생성합니다. 2. 새로 생성된 PodSecurityPolicy 거부 정책을 사용하는 새 ClusterRole 이름 거부 액세스 역할을 생성합니다. 3. 기존 네임스페이스 개발에서 psd-denial-sa라는 새 ServiceAccount를 만듭니다. 마지막으로, 새로 생성된 ClusterRole deny-access-role을 새로 생성된 ServiceAccount psp-denial-sa에 바인딩하는 limits-access-bind라는 새 ClusterRoleBindind를 생성합니다.
CKS 문제 8
시뮬레이션
런타임 감지 도구 Falco를 사용하여 컨테이너 동작을 최소 30초 동안 분석합니다. 새로 발생하는 프로세스를 감지하는 필터를 사용하고 감지된 사고를 포함하는 사고 파일 아트 /opt/falco-incident.txt를 저장하는 실행 프로세스를 사용합니다. 형식으로 한 줄에 하나씩
[타임스탬프],[uid],[사용자 이름],[프로세스 이름]
런타임 감지 도구 Falco를 사용하여 컨테이너 동작을 최소 30초 동안 분석합니다. 새로 발생하는 프로세스를 감지하는 필터를 사용하고 감지된 사고를 포함하는 사고 파일 아트 /opt/falco-incident.txt를 저장하는 실행 프로세스를 사용합니다. 형식으로 한 줄에 하나씩
[타임스탬프],[uid],[사용자 이름],[프로세스 이름]
CKS 문제 9
런타임 감지 도구 Falco를 사용하여 Nginx의 단일 컨테이너에서 새로 생성되고 실행되는 프로세스를 감지하는 필터를 사용하여 최소 20초 동안 컨테이너 동작을 분석합니다.
감지된 사건이 포함된 사건 파일 아트 /opt/falco-incident.txt를 저장합니다. 형식으로 한 줄에 하나씩
[타임스탬프],[uid],[프로세스 이름]
감지된 사건이 포함된 사건 파일 아트 /opt/falco-incident.txt를 저장합니다. 형식으로 한 줄에 하나씩
[타임스탬프],[uid],[프로세스 이름]
CKS 문제 10
시뮬레이션
서비스는 시스템 내부의 포트 389에서 실행 중이며 프로세스의 프로세스 ID를 찾고 /candidate/KH77539/files.txt 내부의 모든 열린 파일 이름을 저장하고 바이너리도 삭제합니다.
서비스는 시스템 내부의 포트 389에서 실행 중이며 프로세스의 프로세스 ID를 찾고 /candidate/KH77539/files.txt 내부의 모든 열린 파일 이름을 저장하고 바이너리도 삭제합니다.
