13.2. 사용자 정의 seccomp 프로필 구성
애플리케이션 요구 사항에 따라 필터를 업데이트할 수 있는 사용자 지정 seccomp 프로필을 구성할 수 있습니다. 이를 통해 클러스터 관리자는 OpenShift Container Platform에서 실행되는 워크로드의 보안을 보다 효과적으로 제어할 수 있습니다.
seccomp 보안 프로필은 프로세스에서 수행할 수 있는 시스템 호출(syscall)을 나열합니다. 권한은 SELinux보다 광범위하며, 시스템 전체 쓰기
와 같은 작업을 제한합니다.
13.2.1. seccomp 프로필 생성
MachineConfig
오브젝트를 사용하여 프로필을 생성할 수 있습니다.
seccomp는 컨테이너 내에서 시스템 호출(syscall)을 제한하여 애플리케이션 액세스를 제한할 수 있습니다.
사전 요구 사항
- 클러스터 관리자 권한이 있습니다.
- 사용자 정의 SCC(보안 컨텍스트 제약 조건)를 생성했습니다. 자세한 내용은 추가 리소스를 참조하십시오.
프로세스
MachineConfig
오브젝트를 생성합니다.apiVersion: machineconfiguration.openshift.io/v1 kind: MachineConfig metadata: labels: machineconfiguration.openshift.io/role: worker name: custom-seccomp spec: config: ignition: version: 3.2.0 storage: files: - contents: source: data:text/plain;charset=utf-8;base64,<hash> filesystem: root mode: 0644 path: /var/lib/kubelet/seccomp/seccomp-nostat.json
13.2.2. 사용자 정의 seccomp 프로필 설정
사전 요구 사항
- 클러스터 관리자 권한이 있어야 합니다.
- 사용자 정의 SCC(보안 컨텍스트 제약 조건)를 생성했습니다. 자세한 내용은 "추가 리소스"를 참조하십시오.
- 사용자 지정 seccomp 프로필을 생성했습니다.
프로세스
-
Machine Config를 사용하여 사용자 정의 seccomp 프로필을
/var/lib/kubelet/seccomp/<custom-name>.json
에 업로드합니다. 자세한 단계는 "추가 리소스"를 참조하십시오. 생성된 사용자 지정 seccomp 프로필에 대한 참조를 제공하여 사용자 정의 SCC를 업데이트합니다.
seccompProfiles: - localhost/<custom-name>.json 1
- 1
- 사용자 지정 seccomp 프로필의 이름을 제공합니다.
13.2.3. 워크로드에 사용자 정의 seccomp 프로필 적용
사전 요구 사항
- 클러스터 관리자가 사용자 지정 seccomp 프로필을 설정했습니다. 자세한 내용은 "사용자 지정 seccomp 프로필 설정"을 참조하십시오.
프로세스
securityContext.seccompProfile.type
필드를 다음과 같이 설정하여 워크로드에 seccomp 프로필을 적용합니다.예제
spec: securityContext: seccompProfile: type: Localhost localhostProfile: <custom-name>.json 1
- 1
- 사용자 지정 seccomp 프로필의 이름을 제공합니다.
또는 Pod 주석
seccomp.security.alpha.kubernetes.io/pod: localhost/<custom-name>.json
을 사용할 수 있습니다. 그러나 이 방법은 OpenShift Container Platform 4.17에서 더 이상 사용되지 않습니다.
배포하는 동안 승인 컨트롤러는 다음을 확인합니다.
- 사용자 역할에서 허용하는 현재 SCC에 대한 주석입니다.
- seccomp 프로필을 포함하는 SCC를 pod에 사용할 수 있습니다.
Pod에 SCC가 허용되면 kubelet은 지정된 seccomp 프로필을 사용하여 Pod를 실행합니다.
seccomp 프로필이 모든 작업자 노드에 배포되었는지 확인합니다.
사용자 정의 SCC에는 CAP_NET_ADMIN 허용과 같은 Pod에 필요한 다른 조건을 충족하거나 Pod에 자동으로 할당되는 적절한 우선순위가 있어야 합니다.