CKS 문제 11
시뮬레이션
주어진 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를 사용하십시오.
주어진 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 문제 12
변경하기 전에 base:v1 태그로 Dockerfile을 빌드하십시오.
이제 주어진 Dockerfile을 분석하고 편집합니다(ubuntu 16:04 기준).
파일에 있는 두 가지 지침, 보안 측면에서 확인 및 크기 축소 측면에서 수정합니다.
도커 파일:
우분투에서:최신
실행 apt-get 업데이트 -y
실행 apt 설치 nginx -y
COPY entrypoint.sh /
RUN 사용자 우분투 추가
ENTRYPOINT ["/entrypoint.sh"]
사용자 우분투
진입점.sh
#!/bin/bash
echo "안녕하세요 CKS에서"
Dockerfile을 수정한 후 base:v2 태그로 docker-image를 빌드합니다.
이제 주어진 Dockerfile을 분석하고 편집합니다(ubuntu 16:04 기준).
파일에 있는 두 가지 지침, 보안 측면에서 확인 및 크기 축소 측면에서 수정합니다.
도커 파일:
우분투에서:최신
실행 apt-get 업데이트 -y
실행 apt 설치 nginx -y
COPY entrypoint.sh /
RUN 사용자 우분투 추가
ENTRYPOINT ["/entrypoint.sh"]
사용자 우분투
진입점.sh
#!/bin/bash
echo "안녕하세요 CKS에서"
Dockerfile을 수정한 후 base:v2 태그로 docker-image를 빌드합니다.
CKS 문제 13
시뮬레이션
클러스터 작업자 노드에서 준비된 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 문제 14
시뮬레이션
변경하기 전에 base:v1 태그로 Dockerfile을 빌드하십시오.
이제 주어진 Dockerfile을 분석하고 편집합니다(ubuntu 16:04 기준).
파일에 있는 두 가지 지침, 보안 측면에서 확인 및 크기 축소 측면에서 수정합니다.
도커 파일:
우분투에서:최신
실행 apt-get 업데이트 -y
실행 apt 설치 nginx -y
COPY entrypoint.sh /
RUN 사용자 우분투 추가
ENTRYPOINT ["/entrypoint.sh"]
사용자 우분투
진입점.sh
#!/bin/bash
echo "안녕하세요 CKS에서"
Dockerfile을 수정한 후 base:v2 태그를 사용하여 docker-image를 빌드합니다. 확인하려면: 빌드 전후에 이미지 크기를 확인합니다.
변경하기 전에 base:v1 태그로 Dockerfile을 빌드하십시오.
이제 주어진 Dockerfile을 분석하고 편집합니다(ubuntu 16:04 기준).
파일에 있는 두 가지 지침, 보안 측면에서 확인 및 크기 축소 측면에서 수정합니다.
도커 파일:
우분투에서:최신
실행 apt-get 업데이트 -y
실행 apt 설치 nginx -y
COPY entrypoint.sh /
RUN 사용자 우분투 추가
ENTRYPOINT ["/entrypoint.sh"]
사용자 우분투
진입점.sh
#!/bin/bash
echo "안녕하세요 CKS에서"
Dockerfile을 수정한 후 base:v2 태그를 사용하여 docker-image를 빌드합니다. 확인하려면: 빌드 전후에 이미지 크기를 확인합니다.
CKS 문제 15
시뮬레이션
Trivy를 사용하여 다음 이미지를 스캔하고,
1. 아마존리눅스:1
2. k8s.gcr.io/kube-controller-manager:v1.18.6
심각도가 HIGH 또는 CRITICAL인 이미지를 찾아 동일한 결과를 /opt/trivy-vulnerable.txt에 저장합니다.
Trivy를 사용하여 다음 이미지를 스캔하고,
1. 아마존리눅스:1
2. k8s.gcr.io/kube-controller-manager:v1.18.6
심각도가 HIGH 또는 CRITICAL인 이미지를 찾아 동일한 결과를 /opt/trivy-vulnerable.txt에 저장합니다.
