16장. Pod에서 취약점 스캔
Red Hat Quay Container Security Operator를 사용하면 OpenShift Container Platform 웹 콘솔에서 클러스터의 활성 Pod에 사용되는 컨테이너 이미지의 취약점 검사 결과에 액세스할 수 있습니다. Red Hat Quay Container Security Operator:
- 모든 네임스페이스 또는 지정된 네임스페이스에서 Pod와 관련된 컨테이너 감시
- 이미지의 레지스트리(예: Clair 스캔을 사용하는 Quay.io 또는 Red Hat Quay 레지스트리)를 실행 중인 경우 컨테이너가 취약점 정보를 통해 가져온 컨테이너 레지스트리를 쿼리합니다.
- 
					Kubernetes API의 ImageManifestVuln오브젝트를 통해 취약점 노출
			여기 지침을 사용하여 Red Hat Quay Container Security Operator는 openshift-operators 네임스페이스에 설치되므로 OpenShift Container Platform 클러스터의 모든 네임스페이스에서 사용할 수 있습니다.
		
16.1. Red Hat Quay Container Security Operator 설치
OpenShift Container Platform 웹 콘솔 Operator Hub에서 또는 CLI를 사용하여 Red Hat Quay Container Security Operator를 설치할 수 있습니다.
사전 요구 사항
- 
						ocCLI를 설치했습니다.
- OpenShift Container Platform 클러스터에 대한 관리자 권한이 있습니다.
- 클러스터에서 실행되는 Red Hat Quay 또는 Quay.io 레지스트리에서 제공되는 컨테이너가 있습니다.
프로세스
- OpenShift Container Platform 웹 콘솔을 사용하여 Red Hat Quay Container Security Operator를 설치할 수 있습니다. - 
								웹 콘솔에서 Operator OperatorHub 로 이동하여 보안 을 선택합니다. 
- Red Hat Quay Container Security Operator 를 선택한 다음 설치를 선택합니다.
- 
								Red Hat Quay Container Security Operator 페이지에서 설치를 선택합니다. 업데이트 채널,설치 모드 및 업데이트 승인이 자동으로 선택됩니다. 설치된 네임스페이스 필드의 기본값은 openshift-operators입니다. 필요에 따라 이러한 설정을 조정할 수 있습니다.
- 설치를 선택합니다. Red Hat Quay Container Security Operator 는 설치된 Operator 페이지에 잠시 후에 표시됩니다.
- 선택 사항: Red Hat Quay Container Security Operator에 사용자 정의 인증서를 추가할 수 있습니다. 예를 들어 현재 디렉터리에 - quay.crt라는 인증서를 생성합니다. 그런 다음 다음 명령을 실행하여 Red Hat Quay Container Security Operator에 사용자 정의 인증서를 추가합니다.- oc create secret generic container-security-operator-extra-certs --from-file=quay.crt -n openshift-operators - $ oc create secret generic container-security-operator-extra-certs --from-file=quay.crt -n openshift-operators- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 선택 사항: 사용자 정의 인증서를 추가한 경우 새 인증서를 적용하기 위해 Red Hat Quay Container Security Operator Pod를 다시 시작합니다.
 
- 
								웹 콘솔에서 Operator 
- 또는 CLI를 사용하여 Red Hat Quay Container Security Operator를 설치할 수 있습니다. - 다음 명령을 입력하여 Container Security Operator의 최신 버전 및 해당 채널을 검색합니다. - oc get packagemanifests container-security-operator \ -o jsonpath='{range .status.channels[*]}{@.currentCSV} {@.name}{"\n"}{end}' \ | awk '{print "STARTING_CSV=" $1 " CHANNEL=" $2 }' \ | sort -Vr \ | head -1- $ oc get packagemanifests container-security-operator \ -o jsonpath='{range .status.channels[*]}{@.currentCSV} {@.name}{"\n"}{end}' \ | awk '{print "STARTING_CSV=" $1 " CHANNEL=" $2 }' \ | sort -Vr \ | head -1- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 출력 예 - STARTING_CSV=container-security-operator.v3.8.9 CHANNEL=stable-3.8 - STARTING_CSV=container-security-operator.v3.8.9 CHANNEL=stable-3.8- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 이전 명령의 출력을 사용하여 Red Hat Quay Container Security Operator에 대한 - Subscription사용자 정의 리소스를 생성하여- container-security-operator.yaml로 저장합니다. 예를 들면 다음과 같습니다.- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 다음 명령을 입력하여 구성을 적용합니다. - oc apply -f container-security-operator.yaml - $ oc apply -f container-security-operator.yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 출력 예 - subscription.operators.coreos.com/container-security-operator created - subscription.operators.coreos.com/container-security-operator created- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow