5.4.3. 정책 기준

정책 기준 섹션에서 정책 을 트리거할 데이터를 구성할 수 있습니다.

다음 표에 나열된 특성을 기반으로 정책을 구성할 수 있습니다.

이 표에서:

  • 정규식,AND 또는, NOT 열은 특정 특성과 함께 정규식 및 기타 논리 연산자를 사용할 수 있는지 여부를 나타냅니다.

    • ! 정규식 열 에서 나열된 필드에 대해서만 정규 표현식을 사용할 수 있음을 나타냅니다.
    • AND, OR 열은 특성에 언급된 논리 연산자만 사용할 수 있음을 나타냅니다.
  • RHACS 버전 열은 특성을 사용해야 하는 Kubernetes의 Red Hat Advanced Cluster Security 버전을 나타냅니다.
  • 다음과 같은 경우 논리적 결합 연산자 및 OR 를 사용할 수 없습니다.

    • 부울 값 truefalse
    • 최소 값 의미 체계, 예를 들면 다음과 같습니다.

      • 최소 RBAC 권한
      • 이미지가 생성된 날짜
  • NOT 논리 연산자는 다음과 같은 특성에 사용할 수 없습니다.

    • 부울 값 truefalse
    • < , > , <= , >= 연산자와 같은 비교가 이미 사용 중인 숫자 값입니다.
    • 여러 값을 가질 수 있는 복합 기준은 다음과 같습니다.

      • 명령 및 인수를 모두 포함하는 Dockerfile 라인입니다.
      • 환경 변수 - 이름과 값으로 모두 구성됩니다.
    • 기능 추가,드롭 기능 추가, 이미지생성 날짜 및 이미지 마지막 스캔 후 Days를 포함한 기타 의미.
참고

논리 연산자 ,또는 보안 정책을 생성하지 않으려면 Kubernetes 버전 3.0.45 이상에 대한 Red Hat Advanced Cluster Security가 필요합니다. 그러나 이전 버전에서는 정규식 열에 나열된 필드에 대한 정규식을 계속 사용할 수 있습니다.However, on earlier versions you can still use regular expressions for the fields listed in the Regular expressions column.

속성설명RHACS 버전정규 표현식NOTAND, OR단계

네임스페이스

네임스페이스의 이름입니다.

3.0.51 이상

배포

이미지 레지스트리

이미지 레지스트리의 이름입니다.

All

배포

이미지 원격

레지스트리의 이미지 전체 이름입니다(예: library/nginx ).

All

배포

이미지 태그

이미지의 식별자입니다.

All

배포

이미지가 생성된 날짜

이미지 생성 날짜의 일 수입니다.

All

Build

이미지가 마지막으로 스캔된 날짜

마지막 이미지 스캔 이후의 일 수입니다.

All

Build

Dockerfile 줄

명령과 인수를 모두 포함하여 Dockerfile의 특정 행.

All

값의 경우 ! only for values

Build

이미지를 스캔하지 않습니다.

이미지에 사용 가능한 검사 데이터가 없습니다.

All

Build

CVSS

공통 취약점 평가 시스템을 사용하여 점수가 < 미만 또는 지정된 CVSS와 동일한 수준의 취약점과 이미지 일치시키십시오.

All

Build

고정 기준

이미지의 플래그된 취약점을 해결하는 패키지의 버전 문자열입니다.

All

Build

CVE

일반적인 취약점 및 노출은 특정 CVE 번호와 함께 사용합니다.

All

Build

이미지 구성 요소

이미지에 존재하는 특정 소프트웨어 구성 요소의 이름 및 버전 번호입니다.

All

Build

이미지 OS

이미지의 기본 운영 체제의 이름 및 버전 번호입니다.

3.0.47 이상

Build

환경 변수

이름 또는 값으로 환경 변수를 확인합니다.

All

key 및 value에만 해당

배포

허용되지 않는 주석

지정된 환경의 Kubernetes 리소스에 존재할 수 없는 주석입니다.

All

배포

허용되지 않는 이미지 레이블

사용하지 않아야 하는 Docker 이미지 레이블이 있는지 확인합니다. 이 정책은 배포의 이미지에 지정된 레이블이 있는 경우 트리거됩니다. 레이블과 일치하도록 keyvalue 필드에 모두 정규식을 사용할 수 있습니다. Disallowed Image Label 정책 기준은 Docker 레지스트리와 통합할 때만 작동합니다.

3.0.40 이상

배포

필수 이미지 레이블

필요한 Docker 이미지 레이블이 있는지 확인합니다. 배포의 이미지에 지정된 라벨이 없으면 정책이 트리거됩니다. 레이블과 일치하도록 keyvalue 필드에 모두 정규식을 사용할 수 있습니다. 필수 이미지 레이블 정책 기준은 Docker 레지스트리와 통합할 때만 작동합니다.

3.0.40 이상

배포

필수 라벨

Kubernetes에 필요한 레이블이 있는지 확인합니다.

All

배포

필수 주석

Kubernetes에 필수 주석이 있는지 확인합니다.

All

배포

볼륨 이름

스토리지 이름입니다.

All

배포

볼륨 소스

볼륨이 프로비저닝되는 양식을 나타냅니다. 예: persistentVolumeClaim 또는 hostPath .

All

배포

볼륨 대상

볼륨이 마운트된 경로입니다.

All

배포

볼륨 유형

볼륨 유형입니다.

All

배포

쓰기 가능한 볼륨

쓰기 가능으로 마운트된 볼륨.

All

배포

프로토콜

노출된 포트에서 사용하는 TCP 또는 UDP와 같은 프로토콜입니다.

All

배포

포트

배포에서 노출된 포트 번호입니다.

All

배포

privileged

권한 있는 실행 배포.

All

배포

읽기 전용 루트 파일 시스템

읽기 전용으로 구성된 루트 파일 시스템으로 실행되는 컨테이너입니다.

All

배포

드롭 기능

컨테이너에서 삭제해야 하는 Linux 기능. 예를 들면 CAP_SETUID 또는 CAP_NET_RAW 와 같습니다.

All

배포

기능 추가

컨테이너에 추가되지 않아야 하는 Linux 기능(예: 원시 패킷을 보내거나 파일 권한을 재정의하는 기능)

All

배포

프로세스 이름

배포에서 실행된 프로세스의 이름입니다.

All

런타임

프로세스 Ancestor

배포에서 실행된 프로세스의 상위 프로세스 이름입니다.

All

런타임

프로세스 인수

배포에서 실행된 프로세스에 대한 명령 인수입니다.

All

런타임

프로세스 UID

배포에서 실행된 프로세스의 UNIX 사용자 ID입니다.

All

런타임

포트 Exposure

서비스의 노출 방법(예: 로드 밸런서 또는 노드 포트)

All

배포

서비스 계정

서비스 계정의 이름입니다.

All

배포

쓰기 가능한 호스트 마운트

리소스는 쓰기 권한이 있는 호스트에 경로를 마운트했습니다.

All

배포

예기치 않은 프로세스 실행

배포의 잠긴 프로세스 기준에 나열되지 않은 프로세스 실행에 대한 배포를 확인합니다.

All

런타임

최소 RBAC 권한

배포의 Kubernetes 서비스 계정에 Kubernetes RBAC 권한 수준이 = 이상인 경우 > 지정된 수준보다 큰지 확인합니다.

All

배포

컨테이너 이름

컨테이너의 이름입니다.

3.0.52 이상

배포

컨테이너 CPU 요청

지정된 리소스에 예약된 코어 수를 확인합니다.

All

배포

컨테이너 CPU 제한

리소스에서 사용할 수 있는 최대 코어 수를 확인합니다.

All

배포

컨테이너 메모리 요청

지정된 리소스에 예약된 메모리 양을 확인합니다.

All

배포

컨테이너 메모리 제한

리소스에서 사용할 수 있는 최대 메모리 양을 확인합니다.

All

배포

Kubernetes 작업

Kubernetes 작업의 이름입니다(예: Pod Exec ).

3.0.55 이상

! 또는

런타임

Kubernetes 리소스

configmaps 또는 시크릿 과 같은 액세스된 Kubernetes 리소스의 이름입니다.

3.63 이상

! 또는

런타임

Kubernetes 리소스 이름

액세스된 Kubernetes 리소스의 이름입니다.

3.63 이상

! 또는

런타임

Kubernetes API Verb

GET 또는 POST 와 같은 리소스에 액세스하는 데 사용되는 Kubernetes API 동사입니다.

3.63 이상

! 또는

런타임

Kubernetes 사용자 이름

리소스에 액세스한 사용자의 이름입니다.

3.63 이상

! 또는

런타임

Kubernetes 사용자 그룹

리소스를 속한 사용자가 속한 그룹의 이름입니다.

3.63 이상

! 또는

런타임

사용자 에이전트

사용자가 리소스에 액세스하는 데 사용한 사용자 에이전트입니다. 예를 들어 oc 또는 kubectl.

3.63 이상

! 또는

런타임

소스 IP 주소

사용자가 리소스에 액세스하는 IP 주소입니다.

3.63 이상

! 또는

런타임

Impersonated User

서비스 계정 또는 다른 계정으로 가장하는 사용자가 요청을 수행했는지 확인합니다.

3.63 이상

런타임

런타임 클래스

배포 RuntimeClass입니다.

3.67 이상

배포

자동 마운트 서비스 계정 토큰

배포 구성에서 서비스 계정 토큰을 자동으로 마운트하는지 확인합니다.

3.68 이상

배포

활성 프로브

컨테이너가 활성 프로브를 정의하는지 여부입니다.

3.69 이상

배포

준비 프로브

컨테이너가 준비 상태 프로브를 정의하는지 여부입니다.

3.69 이상

배포

replicas

배포 복제본 수입니다.

3.69 이상

배포

권한 에스컬레이션

컨테이너 프로세스에서 상위 프로세스보다 더 많은 권한을 얻을 수 있도록 개발이 구성된 경우 경고를 제공합니다.

3.70 이상

배포

Ingress 네트워크 정책

Kubernetes 네트워크 정책의 존재 또는 존재 여부를 확인합니다.

3.70 이상

배포

송신 네트워크 정책

송신 Kubernetes 네트워크 정책이 있는지 확인합니다.

3.70 이상

신뢰할 수 있는 이미지 서명자가 확인되지 않음

참고

Kubernetes 버전 3.0.44 이상에 Red Hat Advanced Cluster Security를 사용하는 경우 정책 기준에 지정된 정책 기준이 "AND"됨입니다. 이는 지정된 정책 조건이 모두 일치하는 경우에만 위반을 트리거합니다.

5.4.3.1. 정책 기준에 대한 논리 조건 추가

드래그 앤 드롭 정책 필드 패널을 사용하여 정책 기준에 대한 논리 조건을 지정할 수 있습니다.

사전 요구 사항

  • Kubernetes 버전 3.0.45 이상에는 Red Hat Advanced Cluster Security를 사용해야 합니다.

절차

  1. 정책 기준 섹션에서 새 조건 추가를 선택하여 새 정책 섹션을 추가합니다.

    • Edit (편집) 아이콘을 클릭하여 정책 섹션의 이름을 변경할 수 있습니다.
    • 정책 필드 섹션은 여러 카테고리에서 사용 가능한 정책 기준을 나열합니다. 이러한 카테고리를 확장하고 축소하여 정책 기준 특성을 확인할 수 있습니다.
  2. 속성을 정책 섹션의 영역에 있는 Drop a policy 필드로 드래그합니다.
  3. 선택하는 특성 유형에 따라 선택한 특성에 대한 조건을 구성하는 다양한 옵션이 있습니다. 예를 들면 다음과 같습니다.

    • 부울 값이 Read-Only Root Filesystem 인 특성을 선택하는 경우 READ-ONLYWRITABLE 옵션이 표시됩니다.
    • 복합 값 환경 변수를 사용하여 특성을 선택하는 경우 키 , 값 및 값 From 필드의 값을 입력하는 옵션이 표시되고 사용 가능한 옵션에 대한 추가 값을 추가할 수 있습니다.If you select an attribute with compound values Environment variable, you will see options to enter values for Key,Value, and Value From fields, and an icon to add more values for the available options.

      1. 특성에 대해 여러 값을 결합하려면 추가 를 클릭합니다.
      2. 정책 섹션에 나열된 논리 연산자 AND 또는 OR(또는 OR )를 클릭하여 ANDOR 연산자 간에 전환할 수도 있습니다. Operator 간 전환은 정책 섹션에서만 작동하며 두 개의 서로 다른 정책 섹션 사이에서는 작동하지 않습니다.
  4. 이러한 단계를 반복하여 둘 이상의 ANDOR 조건을 지정할 수 있습니다. 추가된 속성에 대한 조건을 구성한 후 Next 를 클릭하여 정책 생성을 계속합니다.