Openshift / Kubernetes 컨테이너 권한 설정하기
Openshift 또는 Kubernetes 에서 컨테이너 생성시 권한을 제한하여 보안을 강화하는 방법이 있습니다.
Pod 생성시 컨테이너 권한 제한 예제입니다.
apiVersion: v1 kind: Pod metadata: name: my-pod spec: containers: - name: container1 image: docker.io/php securityContext: capabilities: add: ["ALL"] remove: ["SYS_ADMIN", "SETUID", "SETGID", "SETPCAP", "SYS_MODULE", "SYS_BOOT", "NET_ADMIN", "SYS_RAWIO"] ... |
위 예제에서 container1 컨테이너의 securityContext 에서 SYS_ADMIN 외 여러개의 권한을 제한하도록 설정하였습니다. 이렇게 하면 container1 에서만 시스템 관리 작업과 기타 작업을 위한 명령어 사용이 제한됩니다. 아래는 securityContext의 capabilities 섹션에서 remove 필드에 사용할 수 있는 종류 중 일부 목록입니다. 아래 항목을 remove 필드에 추가하여 사용을 제한하면, 컨테이너 보안 강화에 도움이 됩니다.
"SETPCAP": 프로세스의 임의의 캐퍼빌리티 설정을 방지합니다.
"SYS_MODULE": 커널 모듈의 적재 및 언로드를 방지합니다.
"SYS_RAWIO": 장치에 대한 원시 입출력을 방지합니다.
"SYS_PACCT": 프로세스 계정 정보에 대한 접근을 제한합니다.
"SYS_ADMIN": 시스템 관리 작업을 수행할 수 있는 권한을 제한합니다.
"SYS_NICE": 프로세스에 대한 우선 순위 설정을 방지합니다.
"SYS_RESOURCE": 자원 제한에 대한 설정을 방지합니다.
"SYS_TIME": 시스템 시간 설정을 방지합니다.
"SYS_PTRACE": 다른 프로세스에 대한 추적 기능을 제한합니다.
"SYS_BOOT": 부팅 설정을 제한합니다.
"DAC_READ_SEARCH": 파일의 소유권 및 검색 설정에 대한 권한을 제한합니다.
"LINUX_IMMUTABLE": 파일의 변경 및 수정을 방지합니다.
"NET_ADMIN": 네트워크 설정에 대한 권한을 제한합니다.
"IPC_LOCK": 공유 메모리 세그먼트에 대한 락 설정을 방지합니다.
'리눅스 > OpenShift' 카테고리의 다른 글
oc get co/dns 실행 에러 DNS "default" reports Progressing=True: "Have 4 available DNS pods, want 5." (0) | 2023.06.30 |
---|---|
Openshift / Kubernetes 파드 (Pod) 스케쥴링 - Affinity 옵션 (0) | 2023.06.23 |
Openshift 4.12.0 PV, PVC (GlusterFS) 를 이용한 Volume 추가 (0) | 2023.06.08 |
[Openshift] 웹 UI 대시보드 Grafana 설치 (2) | 2023.05.26 |
[OC & Kubernetes] Kubernetes 관리도구 helm 3.12 설치하기 (0) | 2023.05.19 |