Kubernetes 의 정책 DevOps 구성

  • 릴리스 버전: Zurich
  • 업데이트 날짜 2025년 07월 31일
  • 소요 시간: 7분
  • 기본적으로 정책 콘텐츠 팩에는 DevOps 구성 구성의 유효성을 검사하는 정책 세트가 포함되어 있습니다 Kubernetes .

    중요사항:
    DevOps 구성 은 이제 더 이상 지원되지 않으며 새로운 활성화에 사용할 수 없습니다.
    이러한 기본 DevOps 구성 정책을 사용하거나 사용자 지정하여 구성 데이터 컨텐츠가 적합한지 확인할 수 있습니다. 의 전체 수명주기 관리 PaCE 정책.
    주:
    기본 정책은 수정할 수 없습니다. 그러나 정책의 사본을 만들고 사본을 사용자 지정할 수 있습니다.
    표 1. 이 페이지의 정책에 대한 첫 번째 문자 탐색

    | | | D | | 케이 | 미디엄 | N | | 아르 자형 | 에스 |

    항상 이미지 끌어오기 승인 통제 플러그인이 활성화됨(container_always_pull_images_plugin_is_enabled)

    API 서버에 대해 AlwaysPullImages 등록 컨트롤러 플러그인이 활성화되어 Kubernetes 있는지 확인합니다.

    kube-apiserver 명령을 사용할 때 AlwaysPullImages 플러그인이 --enable-admission-plugins 인수로 지정되지 않은 경우 규정 미준수 상태가 됩니다.

    기본 인증 파일이 설정되지 않음(container_basic_auth_file_is not_set)

    API 서버가 기본 사용자 인증 메커니즘을 사용하고 있지 않은지 Kubernetes 확인합니다.

    kube-apiserver 명령을 사용할 때 컨테이너에 --basic-auth-file 인수를 지정하면 규정 미준수 상태가 됩니다.

    바인딩 주소가 설정되지 않음(container_bind_address_not_set_to_localhost)

    스케줄러 또는 Kubernetes 컨트롤러 관리자의 바인딩 주소가 Kubernetes127.0.0.1이 아닌지 확인합니다.

    kube-controller-manager 또는 kube-scheduler 명령을 사용할 때 컨테이너에 대해 --bind-address 인수가 127.0.0.1로 설정된 경우 규정 미준수 상태가 됩니다.

    컨테이너가 낮은 UID(container_uid_minimum_limit)로 실행되지 않음

    포드 내 각 컨테이너의 Kubernetes UID가 지정된 최소 UID 값보다 크거나 같은지 확인합니다.

    컨테이너에 정의된 UID가 최소 UID 값보다 작은 경우 규정 미준수 상태가 됩니다. UID가 컨테이너에 대해 정의되지 않은 경우 연결된 Pod의 UID가 검증됩니다.

    입력 인수
    min_uid
    • 포드의 컨테이너에 필요한 최소 UID 값입니다.
    • 기본값: 10000
    • 유형: 정수
    • 필수: 아니오

    컨테이너에 삭제 기능 필요(container_requires_drop_capabilities)

    Pod 내의 Kubernetes 컨테이너에 대해 삭제 기능이 정의되어 있는지 확인합니다.

    컨테이너에 대한 삭제 기능이 정의되지 않은 경우 규정 미준수 상태가 됩니다.

    컨테이너는 루트가 아닌 사용자(container_run_as_nonroot_user)로 실행됩니다.

    Pod 내의 Kubernetes 컨테이너가 보안 구성 오류의 악용 가능성을 제한하고 손상 시 공격자의 가능성을 제한하기 위해 루트가 아닌 사용자로만 실행되는지 여부를 확인합니다.

    컨테이너의 runAsNonRoot 키가 false 로 설정되거나 컨테이너의 UID(사용자 ID)가 0이면 규정 미준수 상태가 됩니다.

    컨테이너 권한 액세스 없이 실행(container_is_not_privileged)

    포드 내의 Kubernetes 컨테이너가 액세스 권한 없이 실행되는지 여부를 확인합니다.

    컨테이너의 권한 있는 필드가 로 설정되면 규정 미준수 상태가 됩니다.

    컨테이너 시스템 관리자 기능 없이 실행(container_is_without_sys_admin_capability)

    포드 내의 Kubernetes 컨테이너가 SYS_ADMIN 기능 없이 실행되는지 여부를 확인합니다.

    SYS_ADMIN 권한이 컨테이너에 할당되면 규정 미준수 상태가 됩니다.

    CPU 요청이 제한 내에 있습니다(container_cpu_request_within _limits).

    포드 내의 Kubernetes 컨테이너가 지정된 CPU 한도 내에서 중앙 처리 장치(CPU) 자원을 요청하고 있는지 확인합니다.

    limits.cpu 키가 정의되지 않았거나 requests.cpu 키 값이 limits.cpu 키 값을 초과하면 규정 미준수 상태가 됩니다.

    Docker 디먼 소켓이 노출되지 않음(docker_daemon_socket_not_exposed)

    Docker 디먼 소켓이 컨테이너에 노출되지 않았는지 여부를 확인합니다.

    볼륨의 hostPath.path 키가 /var/run/docker.sock으로 설정된 경우 규정 미준수 상태가 됩니다.

    이미지 끌어오기 정책은 항상 (container_imagePullPolicy_is_always)

    Pod 내의 Kubernetes 각 컨테이너에 대한 imagePullPolicy 필드가 Always로 설정되어 있는지 확인합니다.

    imagePullPolicy 필드가 정의되지 않았거나 항상 기준이 충족되지 않으면 규정 미준수 상태가 됩니다.

    안전하지 않은 바인딩 주소가 설정되지 않음(container_insecure_bind_address_is_not_set)

    Kubernetes API 서버가 안전하지 않은 주소에 바인딩되지 않는지, 그렇지 않으면 공격자가 안전하지 않은 포트를 통해 서버에 연결하고 전송 중인 중요한 데이터를 읽을 수 있는지 확인합니다.

    kube-apiserver 명령을 사용할 때 insecure-bind-address 인수가 지정되면 규정 미준수 상태가 됩니다.

    Kubelet HTTPS가 참입니다(container_kubelet_https_is_true)

    API 서버와 kubelet 간의 Kubernetes 연결이 HTTPS 프로토콜을 사용하여 데이터 전송을 보호하는지 여부를 확인합니다.

    kube-apiserver 명령을 사용할 때 -kubelet-https 인수가 false로 설정된 경우 규정 미준수 상태가 됩니다.

    메모리 요청이 제한 내에 있습니다(container_memory_request_within _limits).

    포드 내의 Kubernetes 컨테이너가 지정된 메모리 한도 내에서 자원을 소비하고 있는지 확인합니다.

    limits.memory 키가 정의되지 않았거나 requests.memory 키 값이 limits.memory 키 값을 초과하면 규정 미준수 상태가 됩니다.

    RBAC 규칙에 와일드카드 없음(rbac_no_wildcard_in_rule)

    Role 및 ClusterRole 자원이 RBAC(역할 기반 액세스 제어) 규칙에 대한 개체 또는 작업을 참조하기 위해 와일드카드를 사용하지 않는지 확인합니다.

    와일드카드가 RBAC 규칙의 apiGroups, 자원 또는 동사 에 사용되는 경우 규정 미준수 상태로 돌아갑니다.

    권한 에스컬레이션이 허용되지 않음(container_privilege_escalation_not_allowed)

    포드 내의 컨테이너가 Kubernetes 상위 프로세스보다 권한이 적은지 여부를 확인합니다.

    컨테이너의 allowPrivilegeEscalation 키가 true 로 설정되거나 정의되지 않은 경우 규정 미준수 상태가 됩니다.

    루트 컨테이너 허용됨(container_read_only_root_file_system)

    Pod 내의 Kubernetes 컨테이너에 루트 파일 시스템이 읽기 전용으로 설정되어 있는지 확인합니다.

    컨테이너의 readOnlyRootFilesystem 키가 정의되지 않았거나 false로 설정된 경우 규정 미준수 상태로 돌아갑니다.

    Seccomp 프로파일이 구성됨(container_seccomp_profile_is_configured)

    Kubernetes 포드 내의 컨테이너가 잠재적으로 위험한 시스템 호출(syscall)을 제한하기 위해 보안 컴퓨팅 모드(seccomp) 프로파일로 구성되어 있는지 확인합니다.

    컨테이너의 seccompProfile.type 키가 정의되지 않았거나 Localhost 또는 RuntimeDefault 이외의 값으로 설정된 경우 규정 미준수 상태가 됩니다.

    서비스 계정 개인 키 파일이 지정됨(container_service_account_private_key_file_is_specified)

    컨테이너에 대해 kube-controller-manager 명령으로 --service-account-private-key-file 인수를 지정했는지 확인합니다.

    kube-controller-manager 명령을 사용할 때 컨테이너에 대해 --service-account-private-key-file 인수를 지정하지 않으면 규정 미준수 상태가 됩니다.

    보안 포트가 0으로 설정되지 않음(container_secure_port_not_set_to_zero)

    API 서버가 HTTPS 인증 및 권한 부여에 포트 0을 사용하고 있지 않은지 Kubernetes 확인합니다.

    kube-apiserver 명령을 사용할 때 컨테이너에 대해 --secure-port 인수가 0으로 설정된 경우 규정 미준수 상태가 됩니다.

    토큰 인증 파일이 설정되지 않음(token_auth_file_is_not_set)

    API 서버가 사용자 인증에 정적 토큰 파일을 사용하고 있지 않은지 Kubernetes 확인합니다.

    kube-apiserver 명령을 사용할 때 token-auth-file 인수가 지정되면 규정 미준수 상태가 됩니다.