1. 개념 Dockerfile을 작성할 때 RUN, COPY, ADD 명령은 레이어를 추가해 용량을 증가시키므로 최대한 지양하는 것이 좋음 도커 컨테이너의 보안을 위해서 다음의 사항을 유념하면서 Dockerfile을 작성해야 함 패키지 버전 명시 root로 실행 금지 파일시스템 read only 설정 shell 접근 삭제 구체적인 내용은 공식 문서 참고(Overview of best practices for writing Dockerfiles) 2. 실습 Dockerfile BP에 따른 예시 FROM ubuntu:20.04 # 패키지 버전 지정 RUN chmod a-w /etc RUN add group -S tmpgroup & adduser -S tmpuser -F appgroup -h /home/tmp..
1. 개념 Admission Control 단계에서 사용하는 정책 강제 도구 오픈소스 정책 적용 엔진으로서 K8s에서만 사용할 수 있는 것은 아님 OPA 정책을 K8s가 해석할 수 있도록 CRDs로 정의(ConstraintTemplate)하고, 실제 정책 실행 대상 및 조건은 Constraint에 정의 2. OPA 정책 예시 - 모든 파드 생성 차단 # ConstraintTemplate apiVersion: templates.gatekeeper.sh/v1beta1 kind: ConstraintTemplate metadata: name: k8salwaysdeny spec: crd: spec: names: kind: K8sAlwaysDeny validation: # Schema for the `paramet..
1. 개념 SecurityContext를 통해 Pod 혹은 Container의 보안 설정을 적용할 수 있음 Pod 수준의 통제와 Container 수준의 통제를 별개로 설정 가능하지만, capabilities 설정은 Container 수준에서만 설정 가능 SecurityContext로 설정할 수 있는 옵션은 공식 문서를 참고 2. 주요 옵션 privileged host OS의 root와 동일한 권한을 허용 기본 설정은 false allowPrivilegeEscalation 부모 프로세스보다 더 많은 권한을 얻도록 허용 Privileged == true or CAP_SYS_ADMIN 권한을 보유한 경우 항상 true capabilities 컨테이너에 사용 가능 / 불가능한 POSIX capabilities..